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

提供: Eospedia
移動: 案内検索
 
行61: 行61:
 
====コサイン窓====
 
====コサイン窓====
 
=====円筒で区切ったコサイン窓=====
 
=====円筒で区切ったコサイン窓=====
2つの円筒で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。(データの平均値を0に補正します)
+
2つの円筒で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。(データ補正あり)
 
  extern void lmrcImage3DWindowingCosCylinder(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);
 
  extern void lmrcImage3DWindowingCosCylinder(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);
  
行67: 行67:
 
2つの球体で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。
 
2つの球体で覆い、内部に1、中間にコサイン窓、外部に0をそれぞれ掛けます。
 
  extern void lmrcImage3DWindowingCosSphere(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);
 
  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 lmrcImage3DWindowingCosSphereOffset(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode);
  
 
===ヘルプ===
 
===ヘルプ===
 
  extern void lmrcImage3DWindowingUsage(FILE* fpt);
 
  extern void lmrcImage3DWindowingUsage(FILE* fpt);

2014年5月23日 (金) 05:31時点における最新版

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をそれぞれ掛けます。(データ補正あり)

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);

上記に加え、内部と中間のデータによった補正をします。

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

ヘルプ

extern void lmrcImage3DWindowingUsage(FILE* fpt);