「lmrcImageSymmetryFind(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageSymmetryFind'''はmrcImageSymmetryFindのためのAPI です。 == 定数 == == 構造体 == typedef enum lmrcImageSymmetryFindC...」) |
|||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
− | DataManip/mrcImage/src/'''lmrcImageSymmetryFind''' | + | DataManip/mrcImage/src/'''lmrcImageSymmetryFind'''は画像の対称性による解析のためのAPI です。[[mrcImageSymmetryFind]]や[[mrcImageSymmetryCentreFind]]などで使用しています。 |
== 定数 == | == 定数 == | ||
− | + | 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 | ||
+ | lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode); | ||
+ | |||
+ | ===対称性の解析=== | ||
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>t-Test</td> | ||
+ | <td>lmrcImageSymmetryFindCheckByTTest</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>+16</td> | ||
+ | <td>SRP</td> | ||
+ | <td>lmrcImageSymmetryFindCheckBySRP</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
+ | ====加算==== | ||
extern void | extern void | ||
lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
+ | ====相関==== | ||
extern void | extern void | ||
lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
+ | ====フーリエ変換==== | ||
extern void | extern void | ||
lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
+ | ====t-Test==== | ||
extern void | extern void | ||
lmrcImageSymmetryFindCheckByTTest(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindCheckByTTest(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
+ | ====SRP==== | ||
+ | 未実装 | ||
extern void | extern void | ||
lmrcImageSymmetryFindCheckBySRP(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | lmrcImageSymmetryFindCheckBySRP(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode); | ||
+ | ====前処理==== | ||
+ | =====減算===== | ||
extern void | extern void | ||
− | + | lmrcImageSymmetryFindSubtraction(mrcImage* subout, mrcImage* in, lmrcImageSymmetryFindInfo* info, int mode); | |
+ | info->subtractionModeによった減算を行います。 | ||
+ | <table border="1"> | ||
+ | <tr> | ||
+ | <th>モード</th> | ||
+ | <th>処理</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageSymmetryFindCheckTypeNoSubtraction</td> | ||
+ | <td>減算しない</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageSymmetryFindCheckTypeMeanSubtraction</td> | ||
+ | <td>平均値で減算</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageSymmetryFindCheckTypeMinSubtraction</td> | ||
+ | <td>最小値で減算</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
+ | ====結果出力==== | ||
+ | 対称性の解析結果を[[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日 (月) 07:42時点における最新版
DataManip/mrcImage/src/lmrcImageSymmetryFindは画像の対称性による解析のためのAPI です。mrcImageSymmetryFindやmrcImageSymmetryCentreFindなどで使用しています。
目次
定数
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 lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode);
対称性の解析
extern void lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
以下のモード(mode)によった手法で対称性を解析します。(複数選択可)
モード | 手法 | 使用関数 |
---|---|---|
+1 | 加算 | lmrcImageSymmetryFindCheckByAdd |
+2 | 相関 | lmrcImageSymmetryFindCheckByCorrelation |
+4 | フーリエ変換 | lmrcImageSymmetryFindCheckByFourier |
+8 | t-Test | lmrcImageSymmetryFindCheckByTTest |
+16 | SRP | 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);
t-Test
extern void lmrcImageSymmetryFindCheckByTTest(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
SRP
未実装
extern void lmrcImageSymmetryFindCheckBySRP(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode);
前処理
減算
extern void lmrcImageSymmetryFindSubtraction(mrcImage* subout, mrcImage* in, lmrcImageSymmetryFindInfo* info, int mode);
info->subtractionModeによった減算を行います。
モード | 処理 |
---|---|
lmrcImageSymmetryFindCheckTypeNoSubtraction | 減算しない |
lmrcImageSymmetryFindCheckTypeMeanSubtraction | 平均値で減算 |
lmrcImageSymmetryFindCheckTypeMinSubtraction | 最小値で減算 |
結果出力
対称性の解析結果を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);