「lFETmapOrientationSearchBySimultaneousFitting(API)」の版間の差分
提供: Eospedia
(→API) |
|||
(同じ利用者による、間の1版が非表示) | |||
行16: | 行16: | ||
int mode; | int mode; | ||
}lFETmapOrientationSearchBySimultaneousFittingInfo; | }lFETmapOrientationSearchBySimultaneousFittingInfo; | ||
+ | <table border=1> | ||
+ | <tr> | ||
+ | <th>メンバ</th> | ||
+ | <th>説明</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>InML</td> | ||
+ | <td>マップファイルリスト</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>InNL</td> | ||
+ | <td>FETファイルリスト</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>InCL</td> | ||
+ | <td>コモンラインリスト</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>PM</td> | ||
+ | <td>PeakDetectAreaMode(0-10)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>PN</td> | ||
+ | <td>PeakNumber(1-50)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>FileN</td> | ||
+ | <td>FETファイル数</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>FileM</td> | ||
+ | <td>マップファイル数</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>PDT</td> | ||
+ | <td>PeakDetectThreshold_ForMode0(0.02-1.00)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ChkPtOut</td> | ||
+ | <td>出力ファイル(未対応)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Out</td> | ||
+ | <td>出力ファイル(未対応)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>mode</td> | ||
+ | <td>モード(特になし)</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
typedef struct FETmapPeakTable{ | typedef struct FETmapPeakTable{ | ||
行71: | 行122: | ||
== API == | == API == | ||
+ | === FET === | ||
+ | ==== 角度探索 ==== | ||
+ | infoを入力として画像の角度探索を行います。 | ||
extern void lFETmapOrientationSearchBySimultaneousFitting(lFETmapOrientationSearchBySimultaneousFittingInfo info, int mode); | extern void lFETmapOrientationSearchBySimultaneousFitting(lFETmapOrientationSearchBySimultaneousFittingInfo info, int mode); | ||
<br> | <br> | ||
行78: | 行132: | ||
<br> | <br> | ||
+ | ピークテーブルTableから3つの角度の組み合わせリストinfo->InCLからマッチングの頻度が最大のデータをリストとしてinfo->CListへ格納します。 | ||
extern void lFETmapCoreTriadGenerate(FETmapPeakTable* Table, lFETmapCoreTriadGenerateInfo* info, int mode); | extern void lFETmapCoreTriadGenerate(FETmapPeakTable* Table, lFETmapCoreTriadGenerateInfo* info, int mode); | ||
− | extern int lFETBestCoreSearch(FETmapPeakTable* , FETCoreTriad* , int , int ); | + | <br> |
+ | |||
+ | ピークテーブルTableから3つの角度の組み合わせcoreTからマッチングの頻度が最大のデータをcoreT->triadへ格納します。近いパターンが見つかった場合はその総数をcoreT->matchFlagに、それに対する評点をcoreT->matchingLevelにそれぞれ格納します。 | ||
+ | extern int lFETBestCoreSearch(FETmapPeakTable* Table, FETCoreTriad* coreT, int PN, int mode); | ||
+ | <br> | ||
1点の座標pointを軸axisに対し、theta[°]だけ回転した座標をandへ格納します。 | 1点の座標pointを軸axisに対し、theta[°]だけ回転した座標をandへ格納します。 | ||
行85: | 行144: | ||
<br> | <br> | ||
+ | マッチングの評点を返します。(現実装では0.3を返すのみ) | ||
extern double lFET4thMatching(FETmapPeakTable* , FETCoreTriad* , int , int , int , int , int ); | extern double lFET4thMatching(FETmapPeakTable* , FETCoreTriad* , int , int , int , int , int ); | ||
+ | <br> | ||
+ | |||
+ | === ラドン空間 === | ||
+ | ==== 角度探索 ==== | ||
+ | メイン | ||
extern void lRadonSpaceSimultaneousFitting(lRadonSpaceSimultaneousFittingInfo* info, int mode); | extern void lRadonSpaceSimultaneousFitting(lRadonSpaceSimultaneousFittingInfo* info, int mode); | ||
+ | |||
+ | 未実装 | ||
extern void lRadonSpaceSimultaneousFittingC(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* sortN, int mode); | extern void lRadonSpaceSimultaneousFittingC(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* sortN, int mode); | ||
+ | |||
+ | 未実装 | ||
extern int lRadonSpaceSimultaneousFittingCoreSearch(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* rS[10], int mode); | extern int lRadonSpaceSimultaneousFittingCoreSearch(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* rS[10], int mode); |
2015年3月24日 (火) 05:40時点における最新版
DataManip/transform/src/lFETmapOrientationSearchBySimultaneousFittingはFETmapOrientationSearchBySimultaneousFittingのためのAPI です。
定数
構造体
typedef struct lFETmapOrientationSearchBySimultaneousFittingInfo{ FILE* InML; FILE* InNL; FILE* InCL; int PM; int PN; int filesN,filesM; double PDT; FILE* ChkPtOut; FILE* Out; int mode; }lFETmapOrientationSearchBySimultaneousFittingInfo;
メンバ | 説明 |
---|---|
InML | マップファイルリスト |
InNL | FETファイルリスト |
InCL | コモンラインリスト |
PM | PeakDetectAreaMode(0-10) |
PN | PeakNumber(1-50) |
FileN | FETファイル数 |
FileM | マップファイル数 |
PDT | PeakDetectThreshold_ForMode0(0.02-1.00) |
ChkPtOut | 出力ファイル(未対応) |
Out | 出力ファイル(未対応) |
mode | モード(特になし) |
typedef struct FETmapPeakTable{ int*** table; int filesN,filesM; int PN; int PM; int mode; }FETmapPeakTable;
typedef struct lFETmapPeakDetectAndTableMakeInfo{ FILE* InML; FILE* InNL; int PM; int PN; int filesN,filesM; double PDT; FETmapPeakTable* tableP; int mode; }lFETmapPeakDetectAndTableMakeInfo;
typedef struct FETCoreTriad{ int triad[6]; int matchPosi[3][2]; double angles[3][2][3]; double* anglesOf4th; double matchingLevel; int matchFlag; int filesN; int mode; }FETCoreTriad;
typedef struct lFETmapCoreTriadGenerateInfo{ FILE* InCL; int filesN; //FETmapPeakTable* tableP; FETCoreTriad* CList; int mode; }lFETmapCoreTriadGenerateInfo;
typedef struct RadonSpaceSimultaneousFittingParameters{ double** table; int mode; }RadonSpaceSimultaneousFittingParameters;
typedef struct lRadonSpaceSimultaneousFittingInfo{ RadonSpaceSimultaneousFittingParameters* paras; FETmapPeakTable* tableP; int cycleMaxR; int cycleMax; int cycleMaxS; int coreNum; int mode; }lRadonSpaceSimultaneousFittingInfo;
API
FET
角度探索
infoを入力として画像の角度探索を行います。
extern void lFETmapOrientationSearchBySimultaneousFitting(lFETmapOrientationSearchBySimultaneousFittingInfo info, int mode);
マップリストinfo->InMLからそれぞれピークサーチを行いテーブルinfo->tableP->tableへ格納します。
extern void lFETmapPeakDetectAndTableMake(lFETmapPeakDetectAndTableMakeInfo* info, int mode);
ピークテーブルTableから3つの角度の組み合わせリストinfo->InCLからマッチングの頻度が最大のデータをリストとしてinfo->CListへ格納します。
extern void lFETmapCoreTriadGenerate(FETmapPeakTable* Table, lFETmapCoreTriadGenerateInfo* info, int mode);
ピークテーブルTableから3つの角度の組み合わせcoreTからマッチングの頻度が最大のデータをcoreT->triadへ格納します。近いパターンが見つかった場合はその総数をcoreT->matchFlagに、それに対する評点をcoreT->matchingLevelにそれぞれ格納します。
extern int lFETBestCoreSearch(FETmapPeakTable* Table, FETCoreTriad* coreT, int PN, int mode);
1点の座標pointを軸axisに対し、theta[°]だけ回転した座標をandへ格納します。
extern void lFETpointRotation(double axis[3], double point[3], double theta, double* ans, int mode);
マッチングの評点を返します。(現実装では0.3を返すのみ)
extern double lFET4thMatching(FETmapPeakTable* , FETCoreTriad* , int , int , int , int , int );
ラドン空間
角度探索
メイン
extern void lRadonSpaceSimultaneousFitting(lRadonSpaceSimultaneousFittingInfo* info, int mode);
未実装
extern void lRadonSpaceSimultaneousFittingC(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* sortN, int mode);
未実装
extern int lRadonSpaceSimultaneousFittingCoreSearch(FETmapPeakTable* tableP,RadonSpaceSimultaneousFittingParameters* paras, int* rS[10], int mode);