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

提供: Eospedia
移動: 案内検索
(モデル画像の作成)
(フィラメントモデル)
 
(同じ利用者による、間の8版が非表示)
行4: 行4:
  
 
== 構造体 ==
 
== 構造体 ==
 +
このAPIで使用する設定です。
 
  typedef struct _lmrcImageModelCreateMode1Info {
 
  typedef struct _lmrcImageModelCreateMode1Info {
 
  float radius;
 
  float radius;
行22: 行23:
 
== 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);
行44: 行45:
 
|-
 
|-
 
|1
 
|1
|inのデータを使用した3本のフィラメントを作成する。
+
|inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一円周上に作成される)
 
|-
 
|-
 
|2
 
|2
|inのデータを使用した3本のフィラメントを作成する。
+
|inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一直線上に作成される)
 
|-
 
|-
 
|3
 
|3
|inのデータを使用した3本のフィラメントを作成する。
+
|inのデータを使用した3本のフィラメントを作成する。(info.radiusによった異なる円周上に作成される)
 
|-
 
|-
 
|false
 
|false
 
|
 
|
|outに各点の値が1のフィラメントを加える。(NULLのときは値1のフィラメントが出来る)
+
|outに各点の値が1のフィラメントを加える。
 
|-
 
|-
 
|rowspan="5"|3
 
|rowspan="5"|3
 
|rowspan="4"|true
 
|rowspan="4"|true
 
|0
 
|0
 +
|inのデータを使用した画像を1点につき3個x5組の組み合わせで配置したフィラメントを作成する。(units=9を混ぜたようなデータになる)(info.radius, info.zPitchなどによって構成を決める)
 
|}
 
|}
 
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日 (月) 08:19時点における最新版

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

定数

構造体

この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のフィラメントを加える。
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