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