lmrcImage3DWindowing(API)

提供: Eospedia
2014年5月23日 (金) 05:14時点におけるKinoshita (トーク | 投稿記録)による版

移動: 案内検索

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

定数

構造体

このAPIで使用する設定です。

typedef struct lmrcImage3DWindowingInfo {
	mrcImageParaTypeRealCoord center;
	mrcImageParaTypeRealCoord width;
	mrcImageParaTypeRealCoord widthCos;
	mrcImageParaTypeReal radius;
	mrcImageParaTypeReal widthofR;
	mrcImageParaTypeReal wz;
} lmrcImage3DWindowingInfo;

lmrcImage3DWindowingで使用するmodeの値です。

typedef enum lmrcImage3DWindowingMode {
	lmrcImage3DWindowingModeGaussianRectangularSolid=0,
	lmrcImage3DWindowingModeCosCylinder=1,
	lmrcImage3DWindowingModeCosSphere=2,
	lmrcImage3DWindowingModeCosSphereOffset=3
} lmrcImage3DWindowingMode;

API

窓関数

extern void lmrcImage3DWindowing(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);

modeにより窓関数を選択できます。

mode 関数
lmrcImage3DWindowingModeGaussianRectangularSolid 0 lmrcImage3DWindowingGaussianRectanglularSolid
lmrcImage3DWindowingModeCosCylinder 1 lmrcImage3DWindowingCosCylinder
lmrcImage3DWindowingModeCosSphere 2 lmrcImage3DWindowingCosSphere
lmrcImage3DWindowingModeCosSphereOffset 3 lmrcImage3DWindowingCosSphereOffset


ガウシアン窓

立方体で区切ったガウシアン窓
extern void lmrcImage3DWindowingGaussianRectanglularSolid(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);

コサイン窓

円筒で区切ったコサイン窓

2つの円筒で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。(データの平均値を0に補正します)

extern void lmrcImage3DWindowingCosCylinder(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);
球体で区切ったコサイン窓

2つの球体で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。

extern void lmrcImage3DWindowingCosSphere(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);

上記に加え、データの平均値を0に補正します。

extern void lmrcImage3DWindowingCosSphereOffset(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);

ヘルプ

extern void lmrcImage3DWindowingUsage(FILE* fpt);