7 #include "mtf/AM/SSD.h" 8 #include "mtf/AM//NSSD.h" 9 #include "mtf/AM//ZNCC.h" 10 #include "mtf/AM//SCV.h" 11 #include "mtf/AM//LSCV.h" 12 #include "mtf/AM//RSCV.h" 13 #include "mtf/AM//LRSCV.h" 14 #include "mtf/AM//KLD.h" 15 #include "mtf/AM//LKLD.h" 16 #include "mtf/AM//MI.h" 17 #include "mtf/AM//SPSS.h" 18 #include "mtf/AM//SSIM.h" 19 #include "mtf/AM//NCC.h" 20 #include "mtf/AM//CCRE.h" 21 #include "mtf/AM//RIU.h" 22 #include "mtf/AM//NGF.h" 23 #include "mtf/AM//SAD.h" 25 #include "mtf/AM//MCSSD.h" 26 #include "mtf/AM//MCNCC.h" 27 #include "mtf/AM//MCMI.h" 28 #include "mtf/AM/MCSCV.h" 29 #include "mtf/AM/MCLSCV.h" 30 #include "mtf/AM/MCRSCV.h" 31 #include "mtf/AM/MCZNCC.h" 32 #include "mtf/AM/MCCCRE.h" 33 #include "mtf/AM/MCSSIM.h" 34 #include "mtf/AM/MCSPSS.h" 35 #include "mtf/AM/MCRIU.h" 36 #include "mtf/AM/MCSAD.h" 38 #include "mtf/AM/DFM.h" 41 #include "mtf/AM/PCA.h" 42 #include "mtf/AM/MCPCA.h" 46 #include "mtf/SSM/Homography.h" 47 #include "mtf/SSM/LieHomography.h" 48 #include "mtf/SSM/CBH.h" 49 #include "mtf/SSM/SL3.h" 50 #include "mtf/SSM/Affine.h" 51 #include "mtf/SSM/LieAffine.h" 52 #include "mtf/SSM/ASRT.h" 53 #include "mtf/SSM/Similitude.h" 54 #include "mtf/SSM/Isometry.h" 55 #include "mtf/SSM/AST.h" 56 #include "mtf/SSM/IST.h" 57 #include "mtf/SSM/Translation.h" 58 #include "mtf/SSM/Spline.h" 61 #define _REGISTER_TRACKERS_DFM(SM, SSM) \ 62 template class mtf::SM< mtf::DFM, mtf::SSM >; 63 #define _REGISTER_AM_TRACKERS_DFM(SM) \ 64 template class mtf::SM< mtf::DFM::DistType >; 66 #define _REGISTER_TRACKERS_DFM(SM, SSM) 67 #define _REGISTER_AM_TRACKERS_DFM(SM) 71 #define _REGISTER_TRACKERS_PCA(SM, SSM) \ 72 template class mtf::SM< mtf::PCA, mtf::SSM >;\ 73 template class mtf::SM< mtf::MCPCA, mtf::SSM >; 75 #define _REGISTER_AM_TRACKERS_PCA(SM) \ 76 template class mtf::SM< mtf::PCA::DistType >;\ 77 template class mtf::SM< mtf::MCPCA::DistType >; 80 #define _REGISTER_TRACKERS_PCA(SM, SSM) 81 #define _REGISTER_AM_TRACKERS_PCA(SM) 84 #define _REGISTER_TRACKERS_AM(SM, SSM) \ 85 template class mtf::SM< mtf::SSD, mtf::SSM >;\ 86 template class mtf::SM< mtf::NSSD, mtf::SSM >;\ 87 template class mtf::SM< mtf::ZNCC, mtf::SSM >;\ 88 template class mtf::SM< mtf::SCV, mtf::SSM >;\ 89 template class mtf::SM< mtf::RSCV, mtf::SSM >;\ 90 template class mtf::SM< mtf::LSCV, mtf::SSM >;\ 91 template class mtf::SM< mtf::LRSCV, mtf::SSM >;\ 92 template class mtf::SM< mtf::KLD, mtf::SSM >;\ 93 template class mtf::SM< mtf::LKLD, mtf::SSM >;\ 94 template class mtf::SM< mtf::SPSS, mtf::SSM >;\ 95 template class mtf::SM< mtf::SSIM, mtf::SSM >;\ 96 template class mtf::SM< mtf::NCC, mtf::SSM >;\ 97 template class mtf::SM< mtf::CCRE, mtf::SSM >;\ 98 template class mtf::SM< mtf::MI, mtf::SSM >;\ 99 template class mtf::SM< mtf::SAD, mtf::SSM >;\ 100 template class mtf::SM< mtf::RIU, mtf::SSM >;\ 101 template class mtf::SM< mtf::NGF, mtf::SSM >;\ 102 template class mtf::SM< mtf::MCSSD, mtf::SSM >;\ 103 template class mtf::SM< mtf::MCSCV, mtf::SSM >;\ 104 template class mtf::SM< mtf::MCLSCV, mtf::SSM >;\ 105 template class mtf::SM< mtf::MCRSCV, mtf::SSM >;\ 106 template class mtf::SM< mtf::MCZNCC, mtf::SSM >;\ 107 template class mtf::SM< mtf::MCNCC, mtf::SSM >;\ 108 template class mtf::SM< mtf::MCMI, mtf::SSM >;\ 109 template class mtf::SM< mtf::MCSSIM, mtf::SSM >;\ 110 template class mtf::SM< mtf::MCSPSS, mtf::SSM >;\ 111 template class mtf::SM< mtf::MCRIU, mtf::SSM >;\ 112 template class mtf::SM< mtf::MCSAD, mtf::SSM >;\ 113 template class mtf::SM< mtf::MCCCRE, mtf::SSM >;\ 114 _REGISTER_TRACKERS_DFM(SM, SSM)\ 115 _REGISTER_TRACKERS_PCA(SM, SSM) 118 #define _REGISTER_TRACKERS(SM) \ 119 _REGISTER_TRACKERS_AM(SM, LieHomography)\ 120 _REGISTER_TRACKERS_AM(SM, CBH)\ 121 _REGISTER_TRACKERS_AM(SM, SL3)\ 122 _REGISTER_TRACKERS_AM(SM, Homography)\ 123 _REGISTER_TRACKERS_AM(SM, Affine)\ 124 _REGISTER_TRACKERS_AM(SM, LieAffine)\ 125 _REGISTER_TRACKERS_AM(SM, ASRT)\ 126 _REGISTER_TRACKERS_AM(SM, Similitude)\ 127 _REGISTER_TRACKERS_AM(SM, Isometry)\ 128 _REGISTER_TRACKERS_AM(SM, AST)\ 129 _REGISTER_TRACKERS_AM(SM, IST)\ 130 _REGISTER_TRACKERS_AM(SM, Translation)\ 131 _REGISTER_TRACKERS_AM(SM, Spline)\ 133 #define _REGISTER_TRACKERS_SSM(SM) \ 134 template class mtf::SM< mtf::LieHomography>;\ 135 template class mtf::SM< mtf::CBH>;\ 136 template class mtf::SM< mtf::SL3>;\ 137 template class mtf::SM< mtf::Homography>;\ 138 template class mtf::SM< mtf::Affine>;\ 139 template class mtf::SM< mtf::LieAffine>;\ 140 template class mtf::SM< mtf::ASRT>;\ 141 template class mtf::SM< mtf::Similitude>;\ 142 template class mtf::SM< mtf::Isometry>;\ 143 template class mtf::SM< mtf::AST>;\ 144 template class mtf::SM< mtf::IST>;\ 145 template class mtf::SM< mtf::Translation>;\ 146 template class mtf::SM< mtf::Spline>; 148 #define _REGISTER_TRACKERS_DIST(SM) \ 149 template class mtf::SM< mtf::SSDBaseDist >;\ 150 template class mtf::SM< mtf::SSDDist >;\ 151 template class mtf::SM< mtf::SCVDist >;\ 152 template class mtf::SM< mtf::RSCVDist >;\ 153 template class mtf::SM< mtf::LSCVDist >;\ 154 template class mtf::SM< mtf::KLDDist >;\ 155 template class mtf::SM< mtf::LKLDDist >;\ 156 template class mtf::SM< mtf::SPSSDist >;\ 157 template class mtf::SM< mtf::SSIMDist >;\ 158 template class mtf::SM< mtf::NCCDist >;\ 159 template class mtf::SM< mtf::CCREDist >;\ 160 template class mtf::SM< mtf::MIDist >;\ 161 template class mtf::SM< mtf::RIUDist >;\ 162 template class mtf::SM< mtf::NGFDist >;\ 163 template class mtf::SM< mtf::SADDist >; 166 #define _REGISTER_HTRACKERS_AM(SM, SSM, SSM2) \ 167 template class mtf::SM< mtf::SSD, mtf::SSM, mtf::SSM2 >;\ 168 template class mtf::SM< mtf::NSSD, mtf::SSM, mtf::SSM2 >;\ 169 template class mtf::SM< mtf::ZNCC, mtf::SSM, mtf::SSM2 >;\ 170 template class mtf::SM< mtf::SCV, mtf::SSM, mtf::SSM2 >;\ 171 template class mtf::SM< mtf::RSCV, mtf::SSM, mtf::SSM2 >;\ 172 template class mtf::SM< mtf::LSCV, mtf::SSM, mtf::SSM2 >;\ 173 template class mtf::SM< mtf::LRSCV, mtf::SSM, mtf::SSM2 >;\ 174 template class mtf::SM< mtf::KLD, mtf::SSM, mtf::SSM2 >;\ 175 template class mtf::SM< mtf::LKLD, mtf::SSM, mtf::SSM2 >;\ 176 template class mtf::SM< mtf::SPSS, mtf::SSM, mtf::SSM2 >;\ 177 template class mtf::SM< mtf::SSIM, mtf::SSM, mtf::SSM2 >;\ 178 template class mtf::SM< mtf::NCC, mtf::SSM, mtf::SSM2 >;\ 179 template class mtf::SM< mtf::CCRE, mtf::SSM, mtf::SSM2 >;\ 180 template class mtf::SM< mtf::RIU, mtf::SSM, mtf::SSM2 >;\ 181 template class mtf::SM< mtf::NGF, mtf::SSM, mtf::SSM2 >;\ 182 template class mtf::SM< mtf::SAD, mtf::SSM, mtf::SSM2 >;\ 183 template class mtf::SM< mtf::MCSSD, mtf::SSM, mtf::SSM2 >;\ 184 template class mtf::SM< mtf::MCSCV, mtf::SSM, mtf::SSM2 >;\ 185 template class mtf::SM< mtf::MCLSCV, mtf::SSM, mtf::SSM2 >;\ 186 template class mtf::SM< mtf::MCRSCV, mtf::SSM, mtf::SSM2 >;\ 187 template class mtf::SM< mtf::MCZNCC, mtf::SSM, mtf::SSM2 >;\ 188 template class mtf::SM< mtf::MCNCC, mtf::SSM, mtf::SSM2 >;\ 189 template class mtf::SM< mtf::MCMI, mtf::SSM, mtf::SSM2 >;\ 190 template class mtf::SM< mtf::MCSSIM, mtf::SSM, mtf::SSM2 >;\ 191 template class mtf::SM< mtf::MCSPSS, mtf::SSM, mtf::SSM2 >;\ 192 template class mtf::SM< mtf::MCRIU, mtf::SSM, mtf::SSM2 >;\ 193 template class mtf::SM< mtf::MCCCRE, mtf::SSM, mtf::SSM2 >;\ 194 template class mtf::SM< mtf::MCSAD, mtf::SSM, mtf::SSM2 >;\ 195 template class mtf::SM< mtf::MI, mtf::SSM, mtf::SSM2 >; 197 #define _REGISTER_HTRACKERS_SSM(SM, SSM) \ 198 _REGISTER_HTRACKERS_AM(SM, SSM, LieHomography)\ 199 _REGISTER_HTRACKERS_AM(SM, SSM, CBH)\ 200 _REGISTER_HTRACKERS_AM(SM, SSM, SL3)\ 201 _REGISTER_HTRACKERS_AM(SM, SSM, Homography)\ 202 _REGISTER_HTRACKERS_AM(SM, SSM, Affine)\ 203 _REGISTER_HTRACKERS_AM(SM, SSM, LieAffine)\ 204 _REGISTER_HTRACKERS_AM(SM, SSM, ASRT)\ 205 _REGISTER_HTRACKERS_AM(SM, SSM, Similitude)\ 206 _REGISTER_HTRACKERS_AM(SM, SSM, Isometry)\ 207 _REGISTER_HTRACKERS_AM(SM, SSM, AST)\ 208 _REGISTER_HTRACKERS_AM(SM, SSM, IST)\ 209 _REGISTER_HTRACKERS_AM(SM, SSM, Translation)\ 210 _REGISTER_HTRACKERS_AM(SM, SSM, Spline)\ 212 #define _REGISTER_HTRACKERS(SM) \ 213 _REGISTER_HTRACKERS_SSM(SM, LieHomography)\ 214 _REGISTER_HTRACKERS_SSM(SM, CBH)\ 215 _REGISTER_HTRACKERS_SSM(SM, SL3)\ 216 _REGISTER_HTRACKERS_SSM(SM, Homography)\ 217 _REGISTER_HTRACKERS_SSM(SM, Affine)\ 218 _REGISTER_HTRACKERS_SSM(SM, LieAffine)\ 219 _REGISTER_HTRACKERS_SSM(SM, ASRT)\ 220 _REGISTER_HTRACKERS_SSM(SM, Similitude)\ 221 _REGISTER_HTRACKERS_SSM(SM, Isometry)\ 222 _REGISTER_HTRACKERS_SSM(SM, AST)\ 223 _REGISTER_HTRACKERS_SSM(SM, IST)\ 224 _REGISTER_HTRACKERS_SSM(SM, Translation)\ 225 _REGISTER_HTRACKERS_SSM(SM, Spline)\ 227 #define _REGISTER_ESM_AM(HT, JT, SSM) \ 228 template class mtf::FESM< mtf::SSD, mtf::SSM, mtf::HT, mtf::JT >;\ 229 template class mtf::FESM< mtf::NSSD, mtf::SSM, mtf::HT, mtf::JT >;\ 230 template class mtf::FESM< mtf::ZNCC, mtf::SSM, mtf::HT, mtf::JT >;\ 231 template class mtf::FESM< mtf::SCV, mtf::SSM, mtf::HT, mtf::JT >;\ 232 template class mtf::FESM< mtf::RSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 233 template class mtf::FESM< mtf::LSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 234 template class mtf::FESM< mtf::LRSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 235 template class mtf::FESM< mtf::KLD, mtf::SSM, mtf::HT, mtf::JT >;\ 236 template class mtf::FESM< mtf::LKLD, mtf::SSM, mtf::HT, mtf::JT >;\ 237 template class mtf::FESM< mtf::SPSS, mtf::SSM, mtf::HT, mtf::JT >;\ 238 template class mtf::FESM< mtf::SSIM, mtf::SSM, mtf::HT, mtf::JT >;\ 239 template class mtf::FESM< mtf::NCC, mtf::SSM, mtf::HT, mtf::JT >;\ 240 template class mtf::FESM< mtf::CCRE, mtf::SSM, mtf::HT, mtf::JT >;\ 241 template class mtf::FESM< mtf::RIU, mtf::SSM, mtf::HT, mtf::JT >;\ 242 template class mtf::FESM< mtf::NGF, mtf::SSM, mtf::HT, mtf::JT >;\ 243 template class mtf::FESM< mtf::SAD, mtf::SSM, mtf::HT, mtf::JT >;\ 244 template class mtf::FESM< mtf::MCSSD, mtf::SSM, mtf::HT, mtf::JT >;\ 245 template class mtf::FESM< mtf::MCSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 246 template class mtf::FESM< mtf::MCLSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 247 template class mtf::FESM< mtf::MCRSCV, mtf::SSM, mtf::HT, mtf::JT >;\ 248 template class mtf::FESM< mtf::MCZNCC, mtf::SSM, mtf::HT, mtf::JT >;\ 249 template class mtf::FESM< mtf::MCNCC, mtf::SSM, mtf::HT, mtf::JT >;\ 250 template class mtf::FESM< mtf::MCMI, mtf::SSM, mtf::HT, mtf::JT >;\ 251 template class mtf::FESM< mtf::MCSSIM, mtf::SSM, mtf::HT, mtf::JT >;\ 252 template class mtf::FESM< mtf::MCSPSS, mtf::SSM, mtf::HT, mtf::JT >;\ 253 template class mtf::FESM< mtf::MCRIU, mtf::SSM, mtf::HT, mtf::JT >;\ 254 template class mtf::FESM< mtf::MCCCRE, mtf::SSM, mtf::HT, mtf::JT >;\ 255 template class mtf::FESM< mtf::MCSAD, mtf::SSM, mtf::HT, mtf::JT >;\ 256 template class mtf::FESM< mtf::MI, mtf::SSM, mtf::HT, mtf::JT >; 258 #define _REGISTER_ESM(HT, JT) \ 259 _REGISTER_ESM_AM(HT, JT, LieHomography)\ 260 _REGISTER_ESM_AM(HT, JT, CBH)\ 261 _REGISTER_ESM_AM(HT, JT, SL3)\ 262 _REGISTER_ESM_AM(HT, JT, Homography)\ 263 _REGISTER_ESM_AM(HT, JT, Affine)\ 264 _REGISTER_ESM_AM(HT, JT, LieAffine)\ 265 _REGISTER_ESM_AM(HT, JT, ASRT)\ 266 _REGISTER_ESM_AM(HT, JT, Similitude)\ 267 _REGISTER_ESM_AM(HT, JT, Isometry)\ 268 _REGISTER_ESM_AM(HT, JT, AST)\ 269 _REGISTER_ESM_AM(HT, JT, IST)\ 270 _REGISTER_ESM_AM(HT, JT, Translation)\ 271 _REGISTER_ESM_AM(HT, JT, Spline)\