lmrcImageSinogram(API)

From EosPedia
Jump to: navigation, search

DataManip/mrcImage/src/lmrcImageSinogram is API for Sinogram image. It is used by mrcImageSinogramCreate, mrcImageSinogramCorrelation.

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);