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

提供: Eospedia
移動: 案内検索
(参照ファイルの角度情報を使用)
 
(同じ利用者による、間の1版が非表示)
行48: 行48:
 
  } lmrc3Dto2DInfo;
 
  } lmrc3Dto2DInfo;
  
lmrcImage3Dto2DSingleの1軸回転に関する設定データとして使用します。
+
lmrcImage3Dto2DSingleの1平面に関する設定データで使用します。
 
  typedef struct lmrc3Dto2DSingleInfo {
 
  typedef struct lmrc3Dto2DSingleInfo {
 
  /* Section */
 
  /* Section */
行115: 行115:
  
 
===参照ファイルの角度情報を使用===
 
===参照ファイルの角度情報を使用===
参照投影像refのトレイラと同じ角度情報で2D投影を行います。
+
参照投影像refのテイラと同じ角度情報で2D投影を行います。
 
  extern void lmrcImage3Dto2DFollowingTailer(mrcImage* out, mrcImage* in, mrcImage* ref, lmrc3Dto2DInfo* linfo, int mode);
 
  extern void lmrcImage3Dto2DFollowingTailer(mrcImage* out, mrcImage* in, mrcImage* ref, lmrc3Dto2DInfo* linfo, int mode);
 
繰り返し([[SIRT]])で[[3次元再構成]]を行うときなどに使用します。
 
繰り返し([[SIRT]])で[[3次元再構成]]を行うときなどに使用します。

2014年8月1日 (金) 02:16時点における最新版

DataManip/transform/src/lmrc3Dto2Dは3Dから2Dへの投影像を作成するためのAPI です。主にmrc3Dto2Dで使用されています。

定数

lmrc3Dto2DInfoのメンバーAreaModeの値として使用します。

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

構造体

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

lmrcImage3Dto2DSingleの1平面に関する設定データで使用します。

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

API

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

3D画像(in)を2Dスタック画像(out)へ投影します。

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

単一スレッドあるいはマルチスレッド(eosPThread(API))にてlmrcImage3Dto2DSingleを使用しています。
lmrc3Dto2DInfoの設定により、投影方法を選択することができます。

メンバー 設定内容
Rot...
EulerAngleMode
投影時のオイラー角
InterpolationMode 投影時の補間方法
AreaMode 投影図法
PVM PVM使用の有無


3Dから2Dへの投影

3D画像(in)から2D平面画像(out)への投影を行います。

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

llinfoの設定により、出力データの書きだし方法を指定できます。

メンバー 設定内容
section 投影後の2Dデータを書き込むセクション(mrcImageのz成分に相当)
flagInit 初期化処理フラグ


参照ファイルの角度情報を使用

参照投影像refのテイラと同じ角度情報で2D投影を行います。

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

繰り返し(SIRT)で3次元再構成を行うときなどに使用します。