「lmrc2Dto3D(API)」の版間の差分

提供: Eospedia
移動: 案内検索
行45: 行45:
  
 
== API ==
 
== API ==
 +
===2Dスタックから3Dへの逆投影===
 +
2Dスタック画像(in)から3D画像へ逆投影を行います。
 
  extern void lmrc2Dto3D(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, long mode);
 
  extern void lmrc2Dto3D(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, long mode);
 +
マルチスレッド([[eosPThread(API)]])での動作も可能です。
 +
 
  extern void lmrc2Dto3DSimpleBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);
 
  extern void lmrc2Dto3DSimpleBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);
 
  extern void lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);
 
  extern void lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* Out, mrcImage* prj, lmrc2Dto3DInfo* linfo, Matrix3D Matrix, long mode);
 +
 +
===繰り返し([[SIRT]])===
 
  extern void lmrc2Dto3DSIRT(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, lmrc2Dto3DSIRTInfo* llinfo, long mode);
 
  extern void lmrc2Dto3DSIRT(mrcImage* Out, mrcImage* in, lmrc2Dto3DInfo* linfo, lmrc2Dto3DSIRTInfo* llinfo, long mode);
 +
[[lmrc2Dto3D(API)#2Dスタックから3Dへの逆投影|lmrc2Dto3D]]や[[lmrc3Dto2D(API)#参照ファイルの角度情報を使用|lmrcImage3Dto2DFollowingTailer]]を繰り返して、3次元再構成を行います。

2014年5月22日 (木) 06:00時点における版

DataManip/transform/src/lmrc2Dto3Dは2D画像から3D画像への逆投影のためのAPI です。mrc2Dto3Dなどで使用しています。

定数

構造体

逆投影方法の設定です。lmrc2Dto3DInfoのメンバーmodeの値として使用しています。

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

この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;

lmrc2Dto3DSIRTの設定で使用します。

typedef struct lmrc2Dto3DSIRTInfo {
	lmrc3Dto2DInfo l3Dto2DInfo;

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

API

2Dスタックから3Dへの逆投影

2Dスタック画像(in)から3D画像へ逆投影を行います。

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

マルチスレッド(eosPThread(API))での動作も可能です。

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

繰り返し(SIRT)

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

lmrc2Dto3DlmrcImage3Dto2DFollowingTailerを繰り返して、3次元再構成を行います。