「lmrcImage3DWindowing(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImage3DWindowing'''はmrcImage3DWindowingのためのAPI です。 == 定数 == == 構造体 == typedef struct lmrcImage3DWindowingIn...」) |
|||
| (同じ利用者による、間の3版が非表示) | |||
| 行4: | 行4: | ||
== 構造体 == | == 構造体 == | ||
| + | このAPIで使用する設定です。 | ||
typedef struct lmrcImage3DWindowingInfo { | typedef struct lmrcImage3DWindowingInfo { | ||
mrcImageParaTypeRealCoord center; | mrcImageParaTypeRealCoord center; | ||
| 行12: | 行13: | ||
mrcImageParaTypeReal wz; | mrcImageParaTypeReal wz; | ||
} lmrcImage3DWindowingInfo; | } lmrcImage3DWindowingInfo; | ||
| − | + | ||
| + | lmrcImage3DWindowingで使用するmodeの値です。 | ||
typedef enum lmrcImage3DWindowingMode { | typedef enum lmrcImage3DWindowingMode { | ||
lmrcImage3DWindowingModeGaussianRectangularSolid=0, | lmrcImage3DWindowingModeGaussianRectangularSolid=0, | ||
| 行21: | 行23: | ||
== API == | == API == | ||
| − | + | ===窓関数=== | |
extern void lmrcImage3DWindowing(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode); | extern void lmrcImage3DWindowing(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode); | ||
| + | modeにより窓関数を選択できます。 | ||
| + | <table border="1"> | ||
| + | <tr> | ||
| + | <th>mode</th> | ||
| + | <th>値</th> | ||
| + | <th>関数</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>lmrcImage3DWindowingModeGaussianRectangularSolid</td> | ||
| + | <td>0</td> | ||
| + | <td>lmrcImage3DWindowingGaussianRectanglularSolid</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>lmrcImage3DWindowingModeCosCylinder</td> | ||
| + | <td>1</td> | ||
| + | <td>lmrcImage3DWindowingCosCylinder</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>lmrcImage3DWindowingModeCosSphere</td> | ||
| + | <td>2</td> | ||
| + | <td>lmrcImage3DWindowingCosSphere</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>lmrcImage3DWindowingModeCosSphereOffset</td> | ||
| + | <td>3</td> | ||
| + | <td>lmrcImage3DWindowingCosSphereOffset</td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
| + | |||
| + | ====ガウシアン窓==== | ||
| + | ガウシアン窓を掛けます。 | ||
extern void lmrcImage3DWindowingGaussianRectanglularSolid(mrcImage* out, mrcImage* in, lmrcImage3DWindowingInfo* linfo, int mode); | 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); | 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 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); | ||
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);