lmrc2Dto3D(API)

From EosPedia
Revision as of 02:06, 5 September 2014 by Kinoshita (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

DataManip/transform/src/lmrc2Dto3D is API for Back Projection from 2D image to 3D image. It is used by mrc2Dto3D.

constant

struct

Setting of Back Projection method. It is used as value of mode (lmrc2Dto3DInfo's member).

typedef enum lmrc2Dto3DMode {
	mrc2Dto3DModeSimpleBackProjection = 0,
	mrc2Dto3DModeFilteredBackProjection = 1,
	mrc2Dto3DModeWeightedBackProjection = 2
} lmrc2Dto3DMode;

Setting for these API.

typedef struct lmrc2Dto3DInfo {
	// for Many Files 
	int    inFileNum; 
	char** inFileList;
	mrcImageTailer* Tailer;

	// For Control  
	long flagDouble;
	long singleTiltMode;
	long mode;
	int  InterpolationMode;
	long flagPlusXrot;
	mrcImage* CounterForWeight;
	lmrcImageRhoFilteringInfo rhoInfo;

	// Size
	int flagOutputSize;
	int Nx;
	int Ny;
	int Nz;
} lmrc2Dto3DInfo;

lmrc2Dto3DSIRTSetting for .

typedef struct lmrc2Dto3DSIRTInfo {
	lmrc3Dto2DInfo l3Dto2DInfo;

	ctfInfo ctfInfo;
	int maxIter;
	double rms;
	double lambda;
} lmrc2Dto3DSIRTInfo;

API

Back Projection form 2D Stack to 3D

Perform Back Projection from 2D stack image(in) to 3D image.

extern void lmrc2Dto3D(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, long mode);

You can run by Multi Thread(eosPThread(API)).
Select Back Projection method by linfo->mode.

mode Value Used Function
mrc2Dto3DModeSimpleBackProjection 0 lmrc2Dto3DSimpleBackProjectionForEach
mrc2Dto3DModeFilteredBackProjection 1 lmrc2Dto3DFilteredBackProjectionForEach
mrc2Dto3DModeWeightedBackProjection 2


Simple Back Projection

extern void lmrc2Dto3DSimpleBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);

Filter Back Projection

extern void lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);

Repeat(SIRT)

extern void lmrc2Dto3DSIRT(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, lmrc2Dto3DSIRTInfo* llinfo, long mode);

Perform 3D Reconstruction by repeat of lmrc2Dto3D and lmrcImage3Dto2DFollowingTailer.
Set repeat times or status by linfo's member.

member Description
ctfinfo CTFInformation
maxIter Repeat times
rms Condition of the end: (difference with in) < rms