lmrcImageSinogram(API)
提供: Eospedia
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);