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

提供: Eospedia
移動: 案内検索
行1: 行1:
DataManip/mrcImage/src/'''lmrcImageDensity'''は[[mrcImage]]に関する密度計算やモード設定のためのAPI です。[[mrcImageDensityInfo]]で使用しています。
+
DataManip/mrcImage/src/'''lmrcImageDensity'''は[[mrcImage]]に関する統計データ(体積の割合、重心、最大値、標準偏差など)を算出するためのAPI です。[[mrcImageDensityInfo]]、[[mrcImageDensityChangeEstimation]]などで使用しています。
  
 
== 定数 ==
 
== 定数 ==
lmrcImageDensityInfoのモードとして使用します。
+
lmrcImageDensityInfoのモードとして使用します。
 
  typedef enum lmrcImageDensityInfoMode {
 
  typedef enum lmrcImageDensityInfoMode {
 
  mrcImageDensityInfoPercentageVolume  =1,
 
  mrcImageDensityInfoPercentageVolume  =1,
行46: 行46:
  
 
== API ==
 
== API ==
 +
===統計データの出力===
 
  extern void lmrcImageDensityInfoModePrint(FILE* fpt);
 
  extern void lmrcImageDensityInfoModePrint(FILE* fpt);
 +
extern void lmrcImageDensityInfoWrite(FILE* fpt, lmrcImageDensityInfoInfo* linfo, long mode);
  
 
===統計データの算出===
 
===統計データの算出===
行61: 行63:
 
<td>+1</td>  
 
<td>+1</td>  
 
<td>lmrcImageDensityInfoPercentageVolume</td>  
 
<td>lmrcImageDensityInfoPercentageVolume</td>  
<td>体積百分率</td>  
+
<td>体積比率(百分率)</td>  
 
</tr>  
 
</tr>  
 
<tr>  
 
<tr>  
行85: 行87:
 
</table>  
 
</table>  
 
<br>
 
<br>
 
extern void lmrcImageDensityInfoWrite(FILE* fpt, lmrcImageDensityInfoInfo* linfo, long mode);
 
  
 
  extern floatVector lmrcImageDensityInfoPercentageVolume(mrcImage* in, double delta, long mode);
 
  extern floatVector lmrcImageDensityInfoPercentageVolume(mrcImage* in, double delta, long mode);

2014年5月16日 (金) 05:10時点における版

DataManip/mrcImage/src/lmrcImageDensitymrcImageに関する統計データ(体積の割合、重心、最大値、標準偏差など)を算出するためのAPI です。mrcImageDensityInfomrcImageDensityChangeEstimationなどで使用しています。

定数

lmrcImageDensityInfoのモードとして使用します。

typedef enum lmrcImageDensityInfoMode {
	mrcImageDensityInfoPercentageVolume  =1,
	mrcImageDensityInfoCentreOfGravity   =2,
	mrcImageDensityInfoMax               =4,
	mrcImageDensityInfoCentreOfGravitySD =8,
	mrcImageDensityInfoMaxSD             =16
} lmrcImageDensityInfoMode;

構造体

typedef struct lmrcImageDensityInfoInfo {
	floatVector percentageVolume;
	mrcImageParaTypeRealCoord centreOfGravity;
	mrcImageParaTypeRealCoord centreOfGravitySD;
	mrcImageParaTypeRealCoord max;
	mrcImageParaTypeRealCoord maxSD;
	double                    deltaVolume; 
	mrcImage in;
} lmrcImageDensityInfoInfo;
typedef struct lmrcImageDensityChangeEsitmationInfo0 {
	mrcImageParaTypeRealCoord change;
	mrcImageParaTypeRealCoord changeSD;
	double                    delta;
	double                    deltaSD;
	double                    deltaXY;
	double                    deltaXYSD;
} lmrcImageDensityChangeEstimationInfo0;
typedef struct lmrcImageDensityChangeEsitmationInfo {
	lmrcImageDensityChangeEstimationInfo0 CG;
	lmrcImageDensityChangeEstimationInfo0 Max;
	mrcImage in1;
	mrcImage in2;
} lmrcImageDensityChangeEstimationInfo;
typedef enum lmrcImageDensityChangeEstimationMode {
	mrcImageDensityChangeEstimationCentreOfGravity   =2,
	mrcImageDensityChangeEstimationMax               =4,
	mrcImageDensityChangeEstimationCentreOfGravitySD =8,
	mrcImageDensityChangeEstimationMaxSD             =16
} lmrcImageDensityChageEstimationMode;

API

統計データの出力

extern void lmrcImageDensityInfoModePrint(FILE* fpt);
extern void lmrcImageDensityInfoWrite(FILE* fpt, lmrcImageDensityInfoInfo* linfo, long mode);

統計データの算出

extern void lmrcImageDensityInfo(lmrcImageDensityInfoInfo* linfo, mrcImage* in, long mode);

modeによって算出する統計データを選択できます。(複数選択可)

モード 関数名 説明
+1 lmrcImageDensityInfoPercentageVolume 体積比率(百分率)
+2 lmrcImageDensityInfoCentreOfGravity 重心
+4 lmrcImageDensityInfoMax 最大値
+8 lmrcImageDensityInfoCentreOfGravity 重心の周りの標準偏差(重心も算出されます)
+16 lmrcImageDensityInfoSD 最大値の周りの標準偏差(最大値も算出されます)


extern floatVector lmrcImageDensityInfoPercentageVolume(mrcImage* in, double delta, long mode);
extern mrcImageParaTypeRealCoord lmrcImageDensityInfoCentreOfGravity(mrcImage* in, long mode);
extern mrcImageParaTypeRealCoord lmrcImageDensityInfoMax(mrcImage* in, long mode);
extern mrcImageParaTypeRealCoord lmrcImageDensityInfoSD(mrcImage* in, mrcImageParaTypeRealCoord centre, long mode);
extern void lmrcImageDensityChangeEstimationModePrint(FILE* fpt);
extern void lmrcImageDensityChangeEstimation(lmrcImageDensityChangeEstimationInfo* linfo, mrcImage* in1, mrcImage* in2, long mode); 
extern void lmrcImageDensityChangeEstimationWrite(FILE*fpt, lmrcImageDensityChangeEstimationInfo* linfo, long mode); 
extern void lmrcImageDensityChangeEstimationCentreOfGravity(lmrcImageDensityChangeEstimationInfo0* linfo, mrcImage* in, mrcImage* in2, long mode);
extern void lmrcImageDensityChangeEstimationMax(lmrcImageDensityChangeEstimationInfo0* linfo, mrcImage* in, mrcImage* in2, long mode);
extern void lmrcImageDensityChangeEstimationSD(lmrcImageDensityChangeEstimationInfo0* linfo,
																	mrcImage* in1, mrcImage* in2, long mode);