「lmrcImageSinogram(API)」の版間の差分
提供: Eospedia
(→Derivation) |
|||
| 行63: | 行63: | ||
void lmrcImageSinogramCorrelation2(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); | void lmrcImageSinogramCorrelation2(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); | ||
| − | === | + | === 微分値 === |
| + | 入力(2D画像)inの微分値をoutへ格納します。 | ||
void lmrcImageDerivationCalculation(mrcImage* out, mrcImage* in, int mode); | void lmrcImageDerivationCalculation(mrcImage* out, mrcImage* in, int mode); | ||
| + | modeにより微分方法を設定できます。 | ||
| + | <table border=1> | ||
| + | <tr> | ||
| + | <th>mode</th> | ||
| + | <th>微分方法</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>1</td> | ||
| + | <td>1階微分</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>2</td> | ||
| + | <td>2階微分</td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
| + | |||
| + | 入力(1D画像)inの微分値をoutへ格納します。 | ||
void lmrcImageOneLineDerivationCalculation(mrcImage* out, mrcImage* in, int mode); | void lmrcImageOneLineDerivationCalculation(mrcImage* out, mrcImage* in, int mode); | ||
| + | modeにより微分方法を設定できます。 | ||
| + | <table border=1> | ||
| + | <tr> | ||
| + | <th>mode</th> | ||
| + | <th>微分方法</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>1</td> | ||
| + | <td>1階微分</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>2</td> | ||
| + | <td>2階微分</td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
===Length=== | ===Length=== | ||
void lmrcImageSinogramLengthCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); | void lmrcImageSinogramLengthCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); | ||
2015年3月23日 (月) 06:19時点における版
DataManip/mrcImage/src/lmrcImageSinogramはシノグラムのためのAPI です。mrcImageSinogramCreateやmrcImageSinogramCorrelationなどで使用されています。
定数
構造体
このAPIで使用する設定データです。
typedef struct lmrcImageSinogramInfo {
double dphi;
double Smalldphi;
int correlationMode;
int LengthMode;
int LengthCorrelationMode;
int LengthThresholdMode;
double weightOf0thDerivation;
double weightOf1stDerivation;
double weightOf2ndDerivation;
double threshold;
double LengthCorrelationThreshold;
double weightOfLength;
double LengthThresholdRatio;
} lmrcImageSinogramInfo;
API
シノグラム変換
2D画像からシノグラム画像への変換
extern void lmrcImageSinogramCreate(mrcImage* out, mrcImage* in, lmrcImageSinogramInfo* linfo, int mode);
シノグラム相関
メイン
extern void lmrcImageSinogramCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode);
mode及びlinfo->LengthModeを設定することにより、相関方法を選択できます。
| mode | 相関方法 |
|---|---|
| 0 | simple Correlation(lmrcImageSinogramCorrelation0) |
| 1 | weight Correlation(lmrcImageSinogramCorrelation1) |
| 2 | threshold Correlation(lmrcImageSinogramCorrelation2) |
| 3 | power weight Correlation |
mode毎の相関
void lmrcImageSinogramCorrelation0(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); double lmrcImageOneLineSinogramCorrelation0(mrcImage* in, mrcImage* ref, int mode);
void lmrcImageSinogramCorrelation1(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode); void lmrcImageSinogramCorrelation2(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode);
微分値
入力(2D画像)inの微分値をoutへ格納します。
void lmrcImageDerivationCalculation(mrcImage* out, mrcImage* in, int mode);
modeにより微分方法を設定できます。
| mode | 微分方法 |
|---|---|
| 1 | 1階微分 |
| 2 | 2階微分 |
入力(1D画像)inの微分値をoutへ格納します。
void lmrcImageOneLineDerivationCalculation(mrcImage* out, mrcImage* in, int mode);
modeにより微分方法を設定できます。
| mode | 微分方法 |
|---|---|
| 1 | 1階微分 |
| 2 | 2階微分 |
Length
void lmrcImageSinogramLengthCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode);