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

提供: Eospedia
移動: 案内検索
(フィラメント)
(API)
行22: 行22:
 
== API ==
 
== API ==
 
===モデル画像の作成===
 
===モデル画像の作成===
====三角形と円====
+
====三角形と円のモデル====
 
out->HeaderNのサイズに応じた三角形(3Dの場合は三角柱)とradiusを半径とした円(3Dの場合は球)を作成します。
 
out->HeaderNのサイズに応じた三角形(3Dの場合は三角柱)とradiusを半径とした円(3Dの場合は球)を作成します。
 
  extern void _lmrcImageModelCreateMode0(mrcImage* out, mrcImageParaTypeReal radius);
 
  extern void _lmrcImageModelCreateMode0(mrcImage* out, mrcImageParaTypeReal radius);
  
====フィラメント====
+
====フィラメントモデル====
 
フィラメントをinfoの設定から作成します。(out->HeaderN.x, yは奇数でなければならない)
 
フィラメントをinfoの設定から作成します。(out->HeaderN.x, yは奇数でなければならない)
 
  extern void _lmrcImageModelCreateMode1(mrcImage* out, _lmrcImageModelCreateMode1Info info);
 
  extern void _lmrcImageModelCreateMode1(mrcImage* out, _lmrcImageModelCreateMode1Info info);
行63: 行63:
 
info.flagIn=trueとは、[[mrcImageModelCreate]]で使用している入力ファイルがあるときのフラグである。すなわち、info.flagIn=trueとしてこのAPIを使用するときは必ずinfo.in(mrcImage型)に入力ファイルを設定しておかなければならない。
 
info.flagIn=trueとは、[[mrcImageModelCreate]]で使用している入力ファイルがあるときのフラグである。すなわち、info.flagIn=trueとしてこのAPIを使用するときは必ずinfo.in(mrcImage型)に入力ファイルを設定しておかなければならない。
  
====点集合====
+
====点モデル====
 +
値が1の3つの点を左下に打った画像を出力します。
 
  extern void _lmrcImageModelCreateMode2(mrcImage* out);
 
  extern void _lmrcImageModelCreateMode2(mrcImage* out);
 +
フィラメントの元として使用することが出来ます。
 +
 +
====球モデル====
 +
値が1の3つの球モデルをoutへ加えます。
 
  extern void _lmrcImageModelCreateMode3(mrcImage* out);
 
  extern void _lmrcImageModelCreateMode3(mrcImage* out);
 +
 +
値が1の7つの球モデルをoutへ加えます。
 
  extern void _lmrcImageModelCreateMode4(mrcImage* out);
 
  extern void _lmrcImageModelCreateMode4(mrcImage* out);
 +
 +
2つの球体を投影したモデルをoutへ加えます。
 
  extern void _lmrcImageModelCreateMode5(mrcImage* out);
 
  extern void _lmrcImageModelCreateMode5(mrcImage* out);
 +
 +
====Shepp-Loganモデル===
 +
2Dモデル
 
  extern void _lmrcImageModelCreateSheppLogan2D(mrcImage* out); // Mode: 6
 
  extern void _lmrcImageModelCreateSheppLogan2D(mrcImage* out); // Mode: 6
 +
3Dモデル
 
  extern void _lmrcImageModelCreateSheppLogan3D(mrcImage* out); // Mode: 7
 
  extern void _lmrcImageModelCreateSheppLogan3D(mrcImage* out); // Mode: 7

2014年9月8日 (月) 07:56時点における版

DataManip/mrcImage/src/lmrcImageModelCreatemrcImageModelCreateのためのAPI です。

定数

構造体

typedef struct _lmrcImageModelCreateMode1Info {
	float radius;
	float nHelix;
	float zPitch;
	float phiAngle;
	float deltaPhi;
	float startZ;
	float endZ;
	float startPhi;
	int     flagIn;
	mrcImage*  in;
	mrcImageDataSetMode inMode;
	int 	fm;
	int 	units;
} _lmrcImageModelCreateMode1Info;

API

モデル画像の作成

三角形と円のモデル

out->HeaderNのサイズに応じた三角形(3Dの場合は三角柱)とradiusを半径とした円(3Dの場合は球)を作成します。

extern void _lmrcImageModelCreateMode0(mrcImage* out, mrcImageParaTypeReal radius);

フィラメントモデル

フィラメントをinfoの設定から作成します。(out->HeaderN.x, yは奇数でなければならない)

extern void _lmrcImageModelCreateMode1(mrcImage* out, _lmrcImageModelCreateMode1Info info);

units, flagIn, fmによって、作成するフィラメントが異なる。

infoのメンバー units flagIn fm 説明
9 true 0 inのデータを使用した1本のフィラメントを作成する。
1 inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一円周上に作成される)
2 inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一直線上に作成される)
3 inのデータを使用した3本のフィラメントを作成する。(info.radiusによった異なる円周上に作成される)
false outに各点の値が1のフィラメントを加える。(NULLのときは値1のフィラメントが出来る)
3 true 0 inデータを使用した画像を1点につき3個x5組の組み合わせで配置したフィラメントを作成する。(units=9を混ぜたようなデータになる)(info.radius, info.zPitchなどによって構成を決める)

info.flagIn=trueとは、mrcImageModelCreateで使用している入力ファイルがあるときのフラグである。すなわち、info.flagIn=trueとしてこのAPIを使用するときは必ずinfo.in(mrcImage型)に入力ファイルを設定しておかなければならない。

点モデル

値が1の3つの点を左下に打った画像を出力します。

extern void _lmrcImageModelCreateMode2(mrcImage* out);

フィラメントの元として使用することが出来ます。

球モデル

値が1の3つの球モデルをoutへ加えます。

extern void _lmrcImageModelCreateMode3(mrcImage* out);

値が1の7つの球モデルをoutへ加えます。

extern void _lmrcImageModelCreateMode4(mrcImage* out);

2つの球体を投影したモデルをoutへ加えます。

extern void _lmrcImageModelCreateMode5(mrcImage* out);

=Shepp-Loganモデル

2Dモデル

extern void _lmrcImageModelCreateSheppLogan2D(mrcImage* out); // Mode: 6

3Dモデル

extern void _lmrcImageModelCreateSheppLogan3D(mrcImage* out); // Mode: 7