「lmrcImageSymmetryFind(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageSymmetryFind'''はmrcImageSymmetryFindのためのAPI です。 == 定数 == == 構造体 == typedef enum lmrcImageSymmetryFindC...」) |
|||
| 行2: | 行2: | ||
== 定数 == | == 定数 == | ||
| − | + | lmrcImageSymmetryFindInfoのメンバー: centreModeで使用する値です。 | |
| − | + | ||
typedef enum lmrcImageSymmetryFindCheckType { | typedef enum lmrcImageSymmetryFindCheckType { | ||
lmrcImageSymmetryFindCheckTypeCheckByAdd=1, | lmrcImageSymmetryFindCheckTypeCheckByAdd=1, | ||
| 行12: | 行11: | ||
} lmrcImageSymmetryFindCheckType; | } lmrcImageSymmetryFindCheckType; | ||
| + | lmrcImageSymmetryFindInfoのメンバー: centreInfoで使用する値です。 | ||
typedef enum lmrcImageSymmetryFindCentreType { | typedef enum lmrcImageSymmetryFindCentreType { | ||
lmrcImageSymmetryFindCheckTypeCentreGC = 0, | lmrcImageSymmetryFindCheckTypeCentreGC = 0, | ||
| 行17: | 行17: | ||
} lmrcImageSymmetryFindCentreType; | } lmrcImageSymmetryFindCentreType; | ||
| + | lmrcImageSymmetryFindInfoのメンバー: subtractionModeで使用する値です。 | ||
typedef enum lmrcImageSymmetryFindSubtractionType { | typedef enum lmrcImageSymmetryFindSubtractionType { | ||
lmrcImageSymmetryFindCheckTypeNoSubtraction = 0, | lmrcImageSymmetryFindCheckTypeNoSubtraction = 0, | ||
| 行23: | 行24: | ||
} lmrcImageSymmetryFindSubtractionType; | } lmrcImageSymmetryFindSubtractionType; | ||
| + | == 構造体 == | ||
| + | このAPIで使用する設定データです。 | ||
typedef struct lmrcImageSymmetryFindInfo { | typedef struct lmrcImageSymmetryFindInfo { | ||
double dr; | double dr; | ||
| 行65: | 行68: | ||
== API == | == API == | ||
| + | ===対称性の探索=== | ||
extern void | extern void | ||
lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
| + | 以下のモード(mode)によった手法で対称性を見つけます。(複数選択可) | ||
| + | <table border="1"> | ||
| + | <tr> | ||
| + | <th>モード</th> | ||
| + | <th>手法</th> | ||
| + | <th>使用関数</th> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>+1</td> | ||
| + | <td></td> | ||
| + | <td>lmrcImageSymmetryFindCheckByAdd</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>+2</td> | ||
| + | <td></td> | ||
| + | <td>lmrcImageSymmetryFindCheckByCorrelation</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>+4</td> | ||
| + | <td></td> | ||
| + | <td>lmrcImageSymmetryFindCheckByFourier</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>+8</td> | ||
| + | <td></td> | ||
| + | <td>lmrcImageSymmetryFindCheckByTTest</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>+16</td> | ||
| + | <td></td> | ||
| + | <td>lmrcImageSymmetryFindCheckBySRP</td> | ||
| + | </tr> | ||
| + | </table> | ||
| + | <br> | ||
extern void | extern void | ||
| 行84: | 行122: | ||
extern void | extern void | ||
| − | + | lmrcImageSymmetryFindSubtraction(mrcImage* subout, mrcImage* in, lmrcImageSymmetryFindInfo* info, int mode); | |
| + | extern void | ||
| + | lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode); | ||
| + | |||
| + | ===結果出力=== | ||
| + | [[ASCII]]で出力します。 | ||
extern void | extern void | ||
lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
| + | 入力画像との平均画像を出力します。 | ||
extern void | extern void | ||
| − | + | lmrcImageSymmetryAverage(mrcImage* out, mrcImage* in, int num, DescartesCoord centre, int mode); | |
| + | ===API情報の出力=== | ||
extern void | extern void | ||
lmrcImageSymmetryFindModePrint(FILE* fpt); | lmrcImageSymmetryFindModePrint(FILE* fpt); | ||
| − | |||
| − | |||
| − | |||
2014年5月19日 (月) 06:33時点における版
DataManip/mrcImage/src/lmrcImageSymmetryFindはmrcImageSymmetryFindのためのAPI です。
定数
lmrcImageSymmetryFindInfoのメンバー: centreModeで使用する値です。
typedef enum lmrcImageSymmetryFindCheckType {
lmrcImageSymmetryFindCheckTypeCheckByAdd=1,
lmrcImageSymmetryFindCheckTypeCheckByCorrelation=2,
lmrcImageSymmetryFindCheckTypeCheckByFourier=4,
lmrcImageSymmetryFindCheckTypeCheckByTTest=8,
lmrcImageSymmetryFindCheckTypeCheckBySRP=16
} lmrcImageSymmetryFindCheckType;
lmrcImageSymmetryFindInfoのメンバー: centreInfoで使用する値です。
typedef enum lmrcImageSymmetryFindCentreType {
lmrcImageSymmetryFindCheckTypeCentreGC = 0,
lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1
} lmrcImageSymmetryFindCentreType;
lmrcImageSymmetryFindInfoのメンバー: subtractionModeで使用する値です。
typedef enum lmrcImageSymmetryFindSubtractionType {
lmrcImageSymmetryFindCheckTypeNoSubtraction = 0,
lmrcImageSymmetryFindCheckTypeMeanSubtraction = 1,
lmrcImageSymmetryFindCheckTypeMinSubtraction = 2
} lmrcImageSymmetryFindSubtractionType;
構造体
この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
対称性の探索
extern void lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
以下のモード(mode)によった手法で対称性を見つけます。(複数選択可)
| モード | 手法 | 使用関数 |
|---|---|---|
| +1 | lmrcImageSymmetryFindCheckByAdd | |
| +2 | lmrcImageSymmetryFindCheckByCorrelation | |
| +4 | lmrcImageSymmetryFindCheckByFourier | |
| +8 | lmrcImageSymmetryFindCheckByTTest | |
| +16 | lmrcImageSymmetryFindCheckBySRP |
extern void lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
extern void lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
extern void lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
extern void lmrcImageSymmetryFindCheckByTTest(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
extern void lmrcImageSymmetryFindCheckBySRP(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
extern void lmrcImageSymmetryFindSubtraction(mrcImage* subout, mrcImage* in, lmrcImageSymmetryFindInfo* info, int mode);
extern void lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode);
結果出力
ASCIIで出力します。
extern void lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
入力画像との平均画像を出力します。
extern void lmrcImageSymmetryAverage(mrcImage* out, mrcImage* in, int num, DescartesCoord centre, int mode);
API情報の出力
extern void lmrcImageSymmetryFindModePrint(FILE* fpt);