lmrcImageDensity(API)

From EosPedia
Jump to: navigation, search

DataManip/mrcImage/src/lmrcImageDensity is API for calculation about statistical data of mrcImage.(Volume ratio, Gravity centre, Max value, Standard deviation, etc ..) It is used by mrcImageDensityInfo, mrcImageDensityChangeEstimation, and so on.

constant

It is used as mode for lmrcImageDensityInfo.

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

It is used as mode for lmrcImageDensityChangeEstimation.

typedef enum lmrcImageDensityChangeEstimationMode {
	mrcImageDensityChangeEstimationCentreOfGravity   =2,
	mrcImageDensityChangeEstimationMax               =4,
	mrcImageDensityChangeEstimationCentreOfGravitySD =8,
	mrcImageDensityChangeEstimationMaxSD             =16
} lmrcImageDensityChageEstimationMode;

struct

Setting data for lmrcImageDensityInfo.

typedef struct lmrcImageDensityInfoInfo {
	floatVector percentageVolume;
	mrcImageParaTypeRealCoord centreOfGravity;
	mrcImageParaTypeRealCoord centreOfGravitySD;
	mrcImageParaTypeRealCoord max;
	mrcImageParaTypeRealCoord maxSD;
	double                    deltaVolume; 
	mrcImage in;
} lmrcImageDensityInfoInfo;

Setting data for 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

Output statistical data
extern void lmrcImageDensityInfoModePrint(FILE* fpt);
extern void lmrcImageDensityInfoWrite(FILE* fpt, lmrcImageDensityInfoInfo* linfo, long mode);
Calculate statistical data
extern void lmrcImageDensityInfo(lmrcImageDensityInfoInfo* linfo, mrcImage* in, long mode);

Select output statistical data by mode.(combinable)

Value Used Function Description
+1 lmrcImageDensityInfoPercentageVolume Volume ratio(Percentage)
+2 lmrcImageDensityInfoCentreOfGravity Gravity centre
+4 lmrcImageDensityInfoMax Max value
+8 lmrcImageDensityInfoCentreOfGravity Standard deviation around gravity centre (with Gravity centre)
+16 lmrcImageDensityInfoSD Standard deviation around Max value (with Max value)


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

Output statistical data
extern void lmrcImageDensityChangeEstimationModePrint(FILE* fpt);
extern void lmrcImageDensityChangeEstimationWrite(FILE*fpt, lmrcImageDensityChangeEstimationInfo* linfo, long mode); 
Calculate statistical data
extern void lmrcImageDensityChangeEstimation(lmrcImageDensityChangeEstimationInfo* linfo, mrcImage* in1, mrcImage* in2, long mode); 

Select output statistical data by mode.(combinable)

Value Used Function Description
+2 lmrcImageDensityInfoCentreOfGravity Gravity centre
+4 lmrcImageDensityInfoMax Max value
+8 lmrcImageDensityInfoCentreOfGravity Standard deviation around gravity centre (with Gravity centre)
+16 lmrcImageDensityInfoSD Standard deviation around Max value (with Max value)


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);