lmrcImageModelCreate(API)

提供: Eospedia
移動: 案内検索

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