📄 masmconf-68-1d.hpp
字号:
#define CONF_fStraightenBeforeAligning 0 // train: straighten (as well as centralizing) shapes before building#define CONF_fRecentralizeShapes 1 // train: recentralize shapes before building#define CONF_ShapeNoise 0 // train: random x and y noise in pixels (0 for no noise)#define CONF_xRhsStretchShape 0 // train: random x stretch of right hand side of shapes (0 for no distortion) // (see RhsStretchShapeNoise.txt)#define CONF_xStretchShape 0.0 // train: random x stretch of shapes (0 for no stretching)#define CONF_fMasmGaussianNoise 1 // train: use gaussian noise for above (else uniform)#define CONF_nReducedNbrPoints 0 // both: 0=use nbr of points in Shape[iRefShape], n=reduce to n points // Some decent values for other defs if CONF_nReducedNbrPoints is not 0 // CONF_fShuffleLandmarks 0 or 1 // CONF_nRandSeedForShuffle 1 // CONF_fGenExplicitPrevNext 0 // CONF_nMethodNormSearchResults 0 // CONF_fUseRefAsStartShape 1 // CONF_xRefShapeOffset 5.0 // CONF_yRefShapeOffset 0.0#define CONF_fShuffleLandmarks 0 // both: 0=use standard landmark positions table gTransM4 // 1=use randomly reordered gTransM4#define CONF_nRandSeedForShuffle 1 // both: only used if CONF_fShuffleLandmarks is setstatic const char *CONF_sOutDir = "out"; // write output images to this directory// following are used exclusively during searching (ms.exe)#define CONF_nPixSearch 3 // search: how far along the whisker do we search, each side#define CONF_nPixSearch2d 2 // search: this is used if there are ANY 2D profs at pyramid level 0#define CONF_nyMaxOffset(nPixSearch2d)(nPixSearch2d)// search: max orthogonal offset around landmark when profile matching using 2D profiles#define CONF_nQualifyingDisplacementMethod 1 // search: index of test used to see if displacement is acceptable // set to 1..6 (in practice makes little difference because for // BioId we max out CONF_nMaxSearchIters)#define CONF_nMaxSearchIters 4 // search:#define CONF_nQualifyingDisplacments 75 // search:#define CONF_nMaxSearchIters2d 4 // search: see 07-2d-nMaxSearchItersnQualifyingDisplacements.txt // this is used if there are ANY 2D profs at pyramid level 0#define CONF_nQualifyingDisplacments2d 90 // search: see ditto#define CONF_nItersBeforeModelFit 0 // search: number of profile match iterations before we start // matching to shape model#define CONF_fWeightedAlign 0 // search: 1 to use weights determined by goodness-of-profile-fit for // shapes aligning // TODO weights seem to improve 1d profs but make 2d profs worse#define CONF_fUseBestSoFar 0 // search: yields no improvement but is more complex, so define to 0#define CONF_nSearchMomentumLev 99 // search: use any value >CONF_nMaxLevs for no momentum // (TODO gives no better results)#define CONF_SearchMomentum 1.0 // search:#define CONF_fStartShapeOffset 0#define CONF_CombineProfWeight 1.0 // search: relative weighting of distances for multi sub prof models// only one of the following three should be set#define CONF_fStandardProfDist 1 // search: 1=standard distance: dist * Covar * dist#define CONF_fAbsProfDiff 0 // search: 1=absolute differences weighed by covar mat#define CONF_fExperimentalProfDist 0 // search: 1=experimental dist function for profile fit#if CONF_fDebug1dProfs || CONF_fDebug2dProfs#define CONF_xRefShapeOffset 0.0 // search: for SearchMehtod==SM_UseRefShape only, horiz offset#define CONF_yRefShapeOffset 0.0 // search: for SearchMethod==SM_UseRefShape only, vert offset#else#define CONF_xRefShapeOffset 0.0 // search: for SearchMehtod==SM_UseRefShape only, horiz offset#define CONF_yRefShapeOffset 0.0 // search: for SearchMethod==SM_UseRefShape only, vert offset#endif// If we store profiles using doubles or floats then the value of CONF_GenNormalizedProfLen is not critical.// If we store profiles using ints or shorts then we want the biggest value (because the bigger the number// the more the significant digits) that doesn't cause overflows in calculations in the ANN library.// Normalizing profile lengths to 1 would make all values in the profile 0..1 which// can't be represented as an integer. So we normalize to a value bigger much bigger than 1.// We normalize so the average element is equal to CONF_GenNormalizedProfLen// i.e. we normalize to nrows() * CONF_GenNormalizedProfLen#define CONF_GenNormalizedProfLen 1 // train: len of 1 means nice range of values in covar matrices // search: read value from ASM file)// The following options don't affect the generated .asm file or search results// They are for debugging, logging, and other extensions#define CONF_fFindMemoryLeaks _DEBUG // both#define CONF_fPrintProfileWarn 0 // both: print warning if profile has a fishy value#define CONF_fShowSampledImageWithShapes 0 // train: for debugging, slow but a useful check#define CONF_fShowSampledImageAllLevs 0 // train: modifes action of CONF_fShowSampledImageWithShapes: // 1 to show all levels, else just level 0#define CONF_fCropImageToShape 0 // train: modifies action of CONF_fShowSampledImageWithShapes#define CONF_fMeasureRefAgainstModel 0 // search: pre-align shape to model and log results to see if any changes // occur (there should be none)#define CONF_fRawProfs 0 // train: save raw profiles in out/rawprof.txt, for debugging#define CONF_fDumpLandmark 0 // train: dump features for post analysis with R#define CONF_fShowDebugImages 0 // train: show aligned shapes, landmark attributes etc.#define CONF_fConnectDots 1 // search: 1=draw lines between landmarks, 0=don't draw linestatic const int CONF_iSearchPrintPoint = -1; // search: this is what gets printed on the end of each ms search // progress line, make -1 for nonestatic const int CONF_iProfTestPoint = -1; // both: tracing, only used in PrepareProf1D, -1 for none#define CONF_nPointsInDatFile 100 //search: number of points printed in ms.dat, unused points print as NA#define CONF_fSkipExtraEyeLinesInDisplayedShape 1 // both: skip LINES connecting extra eye points in DrawShape. All // landmarks POINTS are always displayed.#define CONF_fPrintAllInDatFile 0 // search: print all tags in .dat file (else aLev0 for final CombinedShape)#define CONF_fPrintFaceWidth 0 // search:#define CONF_sMsDatFilename "out/ms.dat"#define CONF_fPrintAllModelFits 0// When doing the point-to-point fitness test we can limit the number// of landmarks used for the test by specifying CONF_nMaxPointsFitTest.// You would do this if you want to use same number of landmarks when// comparing models with different numbers of landmarks.#define CONF_nMaxPointsFitTest 68 // 0:use all landmarks for fitness test N:use a max of N landmarksstatic const char *CONF_sRawProfFile = "out/rawprof.txt"; // train// externs for masmconf.cppunsigned GetGenProfSpec(int iLev, int iPoint);#if 0 // these externs for masmconf.cpp can't be defined here because of .h file order dependenciesvoid InitAsmsForSearch(tAsmModel Model[], // out, except sFile must be initialized on entry int nModels, unsigned ImageBits); // invoid CombineModelSearchResults(SHAPE &CombinedShape, // io: best shape formed by combining all searches int iModel, const SHAPE &Shape); // in: results of current search#endif#endif // masmconf_hpp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -