「lmrcImage3DWindowing(API)」の版間の差分
提供: Eospedia
| 行61: | 行61: | ||
====コサイン窓==== | ====コサイン窓==== | ||
=====円筒で区切ったコサイン窓===== | =====円筒で区切ったコサイン窓===== | ||
| − | 2つの円筒で覆い、内部に1、中間にコサイン窓、外部に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); | ||
| − | + | 上記に加え、内部と中間のデータによった補正をします。 | |
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/lmrcImage3DWindowingはmrcImage3DWindowingのための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);