lmrcImageModelCreate(API)
提供: Eospedia
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