lmrc3Dto2D(API)
From EosPedia
DataManip/transform/src/lmrc3Dto2D is API to create projection image from 3D to 2D. Mainly, it is used by mrc3Dto2D.
Contents
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).