lmrc3Dto2D(API)

From EosPedia
Jump to: navigation, search

DataManip/transform/src/lmrc3Dto2D is API to create projection image from 3D to 2D. Mainly, it is used by mrc3Dto2D.

constant

It is used as value of AreaMode (lmrc3Dto2DInfo's member).

typedef enum lmrc3Dto2DObjectAreaMode {
	lmrc3D2DObjectAreaModeCubic=0,
	lmrc3D2DObjectAreaModeGlobular=1
} lmrc3Dto2DObjectAreaMode;

struct

Setting data for these API.

typedef struct lmrc3Dto2DInfo {
	/* Rot1 */
	double Rot1Start;
	double Rot1End;
	double Rot1Delta;
	int    nRot1;

	/* Rot2 */
	double Rot2Start;
	double Rot2End;
	double Rot2Delta;
	int    nRot2;

	/* Rot3 */
	double Rot3Start;
	double Rot3End;
	double Rot3Delta;
	int    nRot3;

	/* EulerAngleMode*/
	char   EulerAngleMode[5];

	/* InterpolationMode */
	int InterpolationMode;

	/* */
	lmrc3Dto2DObjectAreaMode AreaMode; 

	/* PVM */
	int flagPVM;	

	/* fileListInformation */
	int flagFileList;
	char* filenamePrefix;
	char* filenameSuffix;
	char* filenameNumberFormat; 
} lmrc3Dto2DInfo;

It is used as setting data about single plane for lmrcImage3Dto2DSingle.

typedef struct lmrc3Dto2DSingleInfo {
	/* Section */
	int section;
	/* Init */
	int flagInit;
} lmrc3Dto2DSingleInfo;

API

Projection from 3D to 2D stack

Perform projection from 3D image(in) to 2D stack image(out).

extern void lmrcImage3Dto2D(mrcImage* out, mrcImage* in, lmrc3Dto2DInfo* linfo, int mode);

It uses lmrcImage3Dto2DSingle with Single Thread of Multi Thread(eosPThread(API)).
Select Projection method by setting of lmrc3Dto2DInfo.

member Setting details
Rot...
EulerAngleMode
Euler Angle of Projection
InterpolationMode Interpolation method of Projection
AreaMode Area mode of Projection
PVM Using PVM


Projection from 3D to 2D

Perform projection from 3D image(in) to 2D plane image(out).

extern void lmrcImage3Dto2DSingle(mrcImage* out, mrcImage* in, 
	char Mat[4], 
	double Rot1, 
	double Rot2,
	double Rot3, 
	lmrc3Dto2DInfo* linfo, 
	lmrc3Dto2DSingleInfo* llinfo, 
	int mode);

Select how to write out output by setting llinfo.

member Setting details
section Section that written out 2D projection data([Equivalent to z-component of mrcImage)
flagInit Flag of initialization processing


with Angle Information of reference file

Perform 2D Projection with same Angle Information as tailer of Reference Projection image(ref).

extern void lmrcImage3Dto2DFollowingTailer(mrcImage* out, mrcImage* in, mrcImage* ref, lmrc3Dto2DInfo* linfo, int mode);

It is used when perform 3D Reconstruction by repeat(SIRT).