/*! * \file TomatoApi.h * \author Konrad Werys * \date 2019/01/15 * This file is necessary to generate Tomato's dynamic library. Consider adding extern to the explicit instantiations * For more details refer to * http://mrkonrad.github.io/MRKonrad/CMakeDll * https://github.com/MRKonrad/dllPlayground * https://anteru.net/blog/2008/11/19/318/index.html */ #ifndef TOMATO_TOMATOAPI_H #define TOMATO_TOMATOAPI_H #include "CmakeConfigForTomato.h" #include "tomatolib_export.h" /* ************* */ /* calculators */ /* ************* */ #include "OxCalculatorT1.h" #include "OxCalculatorT1Molli.h" #ifdef USE_PRIVATE_NR2 #include "OxCalculatorT1Shmolli.h" #include "OxCalculatorT1ShmolliOriginal.h" #endif //USE_PRIVATE_NR2 /* ************* */ /* fitters */ /* ************* */ #include "OxFitter.h" #ifdef USE_ITK #include "OxFitterAmoebaVnl.h" #include "OxFitterLevenbergMarquardtVnl.h" #endif // USE_ITK #ifdef USE_PRIVATE_NR2 #include "OxFitterAmoebaPrivateNr2.h" #endif //USE_PRIVATE_NR2 #ifdef USE_LMFIT #include "OxFitterLevenbergMarquardtLmfit.h" #endif // USE_LMFIT /* ************* */ /* functions */ /* ************* */ #include "OxFunctionsT1.h" #include "OxFunctionsT1ThreeParam.h" #ifdef USE_PRIVATE_NR2 #include "OxFunctionsT1Shmolli.h" #endif //USE_PRIVATE_NR2 #ifdef USE_LMFIT #include "OxFunctionsT1AdapterLmfitLeastSquares.h" #endif // USE_LMFIT /* **************** */ /* sign calculators */ /* **************** */ #include "OxSignCalculator.h" #include "OxSignCalculatorNoSign.h" #include "OxSignCalculatorRealImag.h" #ifdef USE_PRIVATE_NR2 #include "OxSignCalculatorShmolli.h" #endif //USE_PRIVATE_NR2 /* *********************** */ /* start point calculators */ /* *********************** */ #include "OxStartPointCalculatorDefault3Dims.h" #ifdef USE_PRIVATE_NR2 #include "OxStartPointCalculatorShmolli.h" #endif /* ********* */ /* ITK */ /* ********* */ #ifdef USE_ITK #include "itkCalculatorT1ImageFilter.h" #include "itkColorbar2DImageFilter.h" #include "itkNShmolliSamplesUsedTo123ImageFilter.h" #include "itkReadDirectoryFilter.h" #include "itkReadFileListFilter.h" #include "itkSortInvTimesImageFilter.h" #endif //USE_ITK namespace Ox { /* ************* */ /* calculators */ /* ************* */ template class TOMATOLIB_EXPORT CalculatorT1; template class TOMATOLIB_EXPORT CalculatorT1Molli; #ifdef USE_PRIVATE_NR2 template class TOMATOLIB_EXPORT CalculatorT1Shmolli; template class TOMATOLIB_EXPORT CalculatorT1ShmolliOriginal; #endif //USE_PRIVATE_NR2 /* ************* */ /* fitters */ /* ************* */ template class TOMATOLIB_EXPORT Fitter; #ifdef USE_ITK template class TOMATOLIB_EXPORT FitterAmoebaVnl; template class TOMATOLIB_EXPORT FitterLevenbergMarquardtVnl; #endif //USE_ITK #ifdef USE_PRIVATE_NR2 template class TOMATOLIB_EXPORT FitterAmoebaPrivateNr2; #endif //USE_PRIVATE_NR2 #ifdef USE_LMFIT template class TOMATOLIB_EXPORT FitterLevenbergMarquardtLmfit; #endif // USE_LMFIT /* ************* */ /* functions */ /* ************* */ template class TOMATOLIB_EXPORT FunctionsT1; template class TOMATOLIB_EXPORT FunctionsT1ThreeParam; #ifdef USE_PRIVATE_NR2 template class TOMATOLIB_EXPORT FunctionsT1Shmolli; #endif //USE_PRIVATE_NR2 #ifdef USE_LMFIT template class TOMATOLIB_EXPORT FunctionsT1AdapterLmfitLeastSquares; #endif // USE_LMFIT /* **************** */ /* sign calculators */ /* **************** */ template class TOMATOLIB_EXPORT SignCalculator; template class TOMATOLIB_EXPORT SignCalculatorNoSign; template class TOMATOLIB_EXPORT SignCalculatorRealImag; #ifdef USE_PRIVATE_NR2 template class TOMATOLIB_EXPORT SignCalculatorShmolli; #endif //USE_PRIVATE_NR2 /* *********************** */ /* start point calculators */ /* *********************** */ template class TOMATOLIB_EXPORT StartPointCalculator; template class TOMATOLIB_EXPORT StartPointCalculatorDefault3Dims; #ifdef USE_PRIVATE_NR2 template class TOMATOLIB_EXPORT StartPointCalculatorShmolli; #endif // USE_PRIVATE_NR2 } //namespace Ox namespace itk { /* ********* */ /* ITK */ /* ********* */ #ifdef USE_ITK template class TOMATOLIB_EXPORT CalculatorT1ImageFilter< Image, Image >; template class TOMATOLIB_EXPORT Colorbar2DImageFilter< Image >; template class TOMATOLIB_EXPORT NShmolliSamplesUsedTo123ImageFilter< Image >; template class TOMATOLIB_EXPORT ReadDirectoryFilter< Image >; template class TOMATOLIB_EXPORT ReadFileListFilter< Image >; template class TOMATOLIB_EXPORT SortInvTimesImageFilter< Image, Image >; #endif //USE_ITK } //namespace itk #endif //TOMATO_TOMATOAPI_H