lmrcImageSinogram(API)
From EosPedia
DataManip/mrcImage/src/lmrcImageSinogram is API for Sinogram image. It is used by mrcImageSinogramCreate, mrcImageSinogramCorrelation.
Contents
constant
struct
Setting data for this 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
Sinogram Transform
Transform from 2D image to Sinogram image
extern void lmrcImageSinogramCreate(mrcImage* out, mrcImage* in, lmrcImageSinogramInfo* linfo, int mode);
Sinogram Correlation
Main
extern void lmrcImageSinogramCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode);
Select a correlation method by setting mode and linfo->LengthMode.
mode | Correlation method |
---|---|
0 | simple Correlation(lmrcImageSinogramCorrelation0) |
1 | weight Correlation(lmrcImageSinogramCorrelation1) |
2 | threshold Correlation(lmrcImageSinogramCorrelation2) |
3 | power weight Correlation |
Correlation of each 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);
Derivation
void lmrcImageDerivationCalculation(mrcImage* out, mrcImage* in, int mode); void lmrcImageOneLineDerivationCalculation(mrcImage* out, mrcImage* in, int mode);
Length
void lmrcImageSinogramLengthCorrelation(mrcImage* out, mrcImage* in, mrcImage* ref, lmrcImageSinogramInfo* linfo, int mode);