lmrcImageDensity(API)
提供: Eospedia
DataManip/mrcImage/src/lmrcImageDensityはmrcImageに関する統計データ(体積の割合、重心、最大値、標準偏差など)を算出するためのAPI です。mrcImageDensityInfo、mrcImageDensityChangeEstimationなどで使用しています。
目次
定数
lmrcImageDensityInfoのモードとして使用します。
typedef enum lmrcImageDensityInfoMode { mrcImageDensityInfoPercentageVolume =1, mrcImageDensityInfoCentreOfGravity =2, mrcImageDensityInfoMax =4, mrcImageDensityInfoCentreOfGravitySD =8, mrcImageDensityInfoMaxSD =16 } lmrcImageDensityInfoMode;
lmrcImageDensityChangeEstimationのモードとして使用します。
typedef enum lmrcImageDensityChangeEstimationMode { mrcImageDensityChangeEstimationCentreOfGravity =2, mrcImageDensityChangeEstimationMax =4, mrcImageDensityChangeEstimationCentreOfGravitySD =8, mrcImageDensityChangeEstimationMaxSD =16 } lmrcImageDensityChageEstimationMode;
構造体
lmrcImageDensityInfoの設定データとして使用します。
typedef struct lmrcImageDensityInfoInfo { floatVector percentageVolume; mrcImageParaTypeRealCoord centreOfGravity; mrcImageParaTypeRealCoord centreOfGravitySD; mrcImageParaTypeRealCoord max; mrcImageParaTypeRealCoord maxSD; double deltaVolume; mrcImage in; } lmrcImageDensityInfoInfo;
lmrcImageDensityChangeEstimationの設定データとして使用します。
typedef struct lmrcImageDensityChangeEsitmationInfo { lmrcImageDensityChangeEstimationInfo0 CG; lmrcImageDensityChangeEstimationInfo0 Max; mrcImage in1; mrcImage in2; } lmrcImageDensityChangeEstimationInfo;
typedef struct lmrcImageDensityChangeEsitmationInfo0 { mrcImageParaTypeRealCoord change; mrcImageParaTypeRealCoord changeSD; double delta; double deltaSD; double deltaXY; double deltaXYSD; } lmrcImageDensityChangeEstimationInfo0;
API
mrcImageDensityInfo
統計データの出力
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);
mrcImageDensityChangeEstimation
統計データの出力
extern void lmrcImageDensityChangeEstimationModePrint(FILE* fpt); extern void lmrcImageDensityChangeEstimationWrite(FILE*fpt, lmrcImageDensityChangeEstimationInfo* linfo, long mode);
統計データの算出
extern void lmrcImageDensityChangeEstimation(lmrcImageDensityChangeEstimationInfo* linfo, mrcImage* in1, mrcImage* in2, long mode);
modeによって算出する統計データを選択できます。(複数選択可)
モード | 関数名 | 説明 |
---|---|---|
+2 | lmrcImageDensityInfoCentreOfGravity | 重心 |
+4 | lmrcImageDensityInfoMax | 最大値 |
+8 | lmrcImageDensityInfoCentreOfGravity | 重心の周りの標準偏差(重心も算出されます) |
+16 | lmrcImageDensityInfoSD | 最大値の周りの標準偏差(最大値も算出されます) |
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);