lmrcImageSymmetryFind(API)
From EosPedia
DataManip/mrcImage/src/lmrcImageSymmetryFind is API for Symmetry Analysis of image. It is used by mrcImageSymmetryFind, mrcImageSymmetryCentreFind.
Contents
constant
lmrcImageSymmetryFindInfo's member: value as centreMode
typedef enum lmrcImageSymmetryFindCheckType { lmrcImageSymmetryFindCheckTypeCheckByAdd=1, lmrcImageSymmetryFindCheckTypeCheckByCorrelation=2, lmrcImageSymmetryFindCheckTypeCheckByFourier=4, lmrcImageSymmetryFindCheckTypeCheckByTTest=8, lmrcImageSymmetryFindCheckTypeCheckBySRP=16 } lmrcImageSymmetryFindCheckType;
lmrcImageSymmetryFindInfo's member: value as centreInfo
typedef enum lmrcImageSymmetryFindCentreType { lmrcImageSymmetryFindCheckTypeCentreGC = 0, lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1 } lmrcImageSymmetryFindCentreType;
lmrcImageSymmetryFindInfo's member: value as subtractionMode
typedef enum lmrcImageSymmetryFindSubtractionType { lmrcImageSymmetryFindCheckTypeNoSubtraction = 0, lmrcImageSymmetryFindCheckTypeMeanSubtraction = 1, lmrcImageSymmetryFindCheckTypeMinSubtraction = 2 } lmrcImageSymmetryFindSubtractionType;
struct
Setting data for this API
typedef struct lmrcImageSymmetryFindInfo { double dr; double dtheta; double threshold1; double threshold2; int minNfold; int maxNfold; /* Centre */ lmrcImageSymmetryFindCentreType centreMode; lmrcImageDeterminationOfPolarAxisByAssumingNfoldInfo centreInfo; lmrcImageSymmetryFindSubtractionType subtractionMode; /* Subtraction Mode */ int flagImages; mrcImage Image; mrcImage* Images; int flagBacks; mrcImage Back; mrcImage* Backs; floatVector Value; floatVector Point; int Symmetry; FILE* fptOut; int flagCorrelation; mrcImage correlation; int flagFourier; mrcImage fourier; int flagTmap; mrcImage tmap; int flagAvg; mrcImage avg; char* avgName; DescartesCoord centre; } lmrcImageSymmetryFindInfo;
API
Center coordinates
extern void lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode);
Symmetry Analysis
extern void lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
Symmetry analyse as the following method. (combinable)
Value | Method | Used Function |
---|---|---|
+1 | Addition | lmrcImageSymmetryFindCheckByAdd |
+2 | Correlation | lmrcImageSymmetryFindCheckByCorrelation |
+4 | Fourier Transformation | lmrcImageSymmetryFindCheckByFourier |
+8 | t-Test | lmrcImageSymmetryFindCheckByTTest |
+16 | SRP | lmrcImageSymmetryFindCheckBySRP |
Addition
extern void lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
Correlation
extern void lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
Fourier Transformation
extern void lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
t-Test
extern void lmrcImageSymmetryFindCheckByTTest(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
SRP
Not implemented
extern void lmrcImageSymmetryFindCheckBySRP(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
Preprocess
Subtraction
extern void lmrcImageSymmetryFindSubtraction(mrcImage* subout, mrcImage* in, lmrcImageSymmetryFindInfo* info, int mode);
Subtract depending on info->subtractionMode.
Value | Preprocess |
---|---|
lmrcImageSymmetryFindCheckTypeNoSubtraction | Not subtract |
lmrcImageSymmetryFindCheckTypeMeanSubtraction | Subtract mean value |
lmrcImageSymmetryFindCheckTypeMinSubtraction | Subtract minmum value |
Output result
Output result of symmetry analysis as ASCII
extern void lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
Output Average image with Input image.
extern void lmrcImageSymmetryAverage(mrcImage* out, mrcImage* in, int num, DescartesCoord centre, int mode);
Output API Information
extern void lmrcImageSymmetryFindModePrint(FILE* fpt);