「lmrcImageModelCreate(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageModelCreate'''はmrcImageModelCreateのためのAPI です。 == 定数 == == 構造体 == typedef struct _lmrcImageModelCreateM...」) |
(→フィラメントモデル) |
||
(同じ利用者による、間の12版が非表示) | |||
行4: | 行4: | ||
== 構造体 == | == 構造体 == | ||
+ | このAPIで使用する設定です。 | ||
typedef struct _lmrcImageModelCreateMode1Info { | typedef struct _lmrcImageModelCreateMode1Info { | ||
float radius; | float radius; | ||
行21: | 行22: | ||
== API == | == API == | ||
+ | ===モデル画像の作成=== | ||
+ | ====三角形と円のモデル==== | ||
+ | out->HeaderNのサイズに応じた三角形(3Dの場合は三角柱)とradiusを半径とした円(3Dの場合は球)を作成します。 | ||
extern void _lmrcImageModelCreateMode0(mrcImage* out, mrcImageParaTypeReal radius); | extern void _lmrcImageModelCreateMode0(mrcImage* out, mrcImageParaTypeReal radius); | ||
+ | |||
+ | ====フィラメントモデル==== | ||
+ | フィラメントをinfoの設定から作成します。(out->HeaderN.x, yは奇数でなければならない) | ||
extern void _lmrcImageModelCreateMode1(mrcImage* out, _lmrcImageModelCreateMode1Info info); | extern void _lmrcImageModelCreateMode1(mrcImage* out, _lmrcImageModelCreateMode1Info info); | ||
+ | units, flagIn, fmによって、作成するフィラメントが異なる。 | ||
+ | {| class="wikitable" | ||
+ | !colspan="1"|infoのメンバー | ||
+ | !units | ||
+ | !flagIn | ||
+ | !fm | ||
+ | |説明 | ||
+ | |- | ||
+ | !rowspan="6"|値 | ||
+ | |rowspan="5"|9 | ||
+ | |rowspan="4"|true | ||
+ | |0 | ||
+ | |inのデータを使用した1本のフィラメントを作成する。 | ||
+ | |- | ||
+ | |1 | ||
+ | |inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一円周上に作成される) | ||
+ | |- | ||
+ | |2 | ||
+ | |inのデータを使用した3本のフィラメントを作成する。(info.radiusによった同一直線上に作成される) | ||
+ | |- | ||
+ | |3 | ||
+ | |inのデータを使用した3本のフィラメントを作成する。(info.radiusによった異なる円周上に作成される) | ||
+ | |- | ||
+ | |false | ||
+ | | | ||
+ | |outに各点の値が1のフィラメントを加える。 | ||
+ | |- | ||
+ | |rowspan="5"|3 | ||
+ | |rowspan="4"|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); | 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/lmrcImageModelCreateはmrcImageModelCreateのための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