「lFETmapOrientationSearchBySimultaneousFitting(API)」の版間の差分
提供: Eospedia
(→API) |
(→API) |
||
| 行71: | 行71: | ||
== API == | == API == | ||
| + | === オリエンテーションサーチ === | ||
extern void lFETmapOrientationSearchBySimultaneousFitting(lFETmapOrientationSearchBySimultaneousFittingInfo info, int mode); | extern void lFETmapOrientationSearchBySimultaneousFitting(lFETmapOrientationSearchBySimultaneousFittingInfo info, int mode); | ||
<br> | <br> | ||
| 行78: | 行79: | ||
<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: | 行91: | ||
<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:26時点における版
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;
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
オリエンテーションサーチ
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);