「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 lmrcImage3DWindowingUsage(FILE* fpt);
+
===窓関数===
 
  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/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);