Tomato
TomatoApi.h
Go to the documentation of this file.
1 
12 #ifndef TOMATO_TOMATOAPI_H
13 #define TOMATO_TOMATOAPI_H
14 
15 #include "CmakeConfigForTomato.h"
16 #include "tomatolib_export.h"
17 
18 /* ************* */
19 /* calculators */
20 /* ************* */
21 #include "OxCalculator.h"
23 #ifdef USE_PRIVATE_NR2
24 #include "OxCalculatorT1Shmolli.h"
25 #include "OxCalculatorT1ShmolliOriginal.h"
26 #include "OxAmoebaSKPold.h"
27 #include "OxCalculatorT2.h"
28 #include "OxCalculatorT2Linear.h"
29 #include "OxCalculatorT2Truncation.h"
30 #include "OxCalculatorT2TruncationNoise.h"
31 #endif //USE_PRIVATE_NR2
32 
33 /* ************* */
34 /* fitters */
35 /* ************* */
36 #include "OxFitter.h"
37 #ifdef USE_VNL
38 #include "OxFitterAmoebaVnl.h"
40 #endif // USE_VNL
41 #ifdef USE_PRIVATE_NR2
42 #include "OxFitterAmoebaPrivateNr2.h"
43 #endif //USE_PRIVATE_NR2
44 #ifdef USE_LMFIT
46 #endif // USE_LMFIT
47 
48 /* ********** */
49 /* models */
50 /* ********** */
51 #include "OxModel.h"
52 #include "OxModelT1TwoParam.h"
53 #include "OxModelT1ThreeParam.h"
54 #ifdef USE_PRIVATE_NR2
55 #include "OxModelT1Shmolli.h"
56 #include "OxModelT2OneParam.h"
57 #include "OxModelT2TwoParam.h"
58 #include "OxModelT2TwoParamScale.h"
59 #include "OxModelT2ThreeParam.h"
60 #endif //USE_PRIVATE_NR2
61 #ifdef USE_LMFIT
63 #endif // USE_LMFIT
64 
65 /* **************** */
66 /* sign calculators */
67 /* **************** */
68 #include "OxSignCalculator.h"
69 #include "OxSignCalculatorNoSign.h"
71 #ifdef USE_PRIVATE_NR2
73 #endif //USE_PRIVATE_NR2
74 
75 /* *********************** */
76 /* start point calculators */
77 /* *********************** */
79 #ifdef USE_PRIVATE_NR2
81 #endif
82 
83 /* ********* */
84 /* factories */
85 /* ********* */
86 #include "OxFactoryOfCalculators.h"
87 #include "OxFactoryOfFitters.h"
88 #include "OxFactoryOfModels.h"
91 
92 /* ******* */
93 /* others */
94 /* ******* */
95 #include "OxImageCalculator.h"
96 #include "TomatoOnePixel.h"
97 #ifdef USE_YAML
98 #include "TomatoParser.h"
99 #endif // USE_YAML
100 
101 /* ********* */
102 /* APP */
103 /* ********* */
104 #ifdef USE_ITK
106 #include "itkColorbar2DImageFilter.h"
107 #include "itkNShmolliSamplesUsedTo123ImageFilter.h"
108 #include "itkReadFileListFilter.h"
109 #include "itkSortInvTimesImageFilter.h"
110 #include "Tomato.h"
112 #endif //USE_ITK
113 
114 namespace Ox {
115 
116  /* ************* */
117  /* calculators */
118  /* ************* */
119  template class TOMATOLIB_EXPORT Calculator<double>;
120  template class TOMATOLIB_EXPORT CalculatorT1WithSignCheck<double>;
121 #ifdef USE_PRIVATE_NR2
122  template class TOMATOLIB_EXPORT CalculatorT1Shmolli<double>;
123  template class TOMATOLIB_EXPORT CalculatorT1ShmolliOriginal<double>;
124  template class TOMATOLIB_EXPORT CalculatorT2<double>;
125  template class TOMATOLIB_EXPORT CalculatorT2Linear<double>;
126  template class TOMATOLIB_EXPORT CalculatorT2Truncation<double>;
127  template class TOMATOLIB_EXPORT CalculatorT2TruncationNoise<double>;
128 #endif //USE_PRIVATE_NR2
129 
130  /* ************* */
131  /* fitters */
132  /* ************* */
133  template class TOMATOLIB_EXPORT Fitter<double>;
134 #ifdef USE_VNL
135  template class TOMATOLIB_EXPORT FitterAmoebaVnl<double>;
136  template class TOMATOLIB_EXPORT FitterLevenbergMarquardtVnl<double>;
137 #endif //USE_VNL
138 #ifdef USE_PRIVATE_NR2
139  template class TOMATOLIB_EXPORT FitterAmoebaPrivateNr2<double>;
140 #endif //USE_PRIVATE_NR2
141 #ifdef USE_LMFIT
142  template class TOMATOLIB_EXPORT FitterLevenbergMarquardtLmfit<double>;
143 #endif // USE_LMFIT
144 
145  /* ********** */
146  /* models */
147  /* ********** */
148  template class TOMATOLIB_EXPORT Model<double>;
149  template class TOMATOLIB_EXPORT ModelT1TwoParam<double>;
150  template class TOMATOLIB_EXPORT ModelT1ThreeParam<double>;
151 #ifdef USE_PRIVATE_NR2
152  template class TOMATOLIB_EXPORT ModelT1Shmolli<double>;
153  template class TOMATOLIB_EXPORT ModelT2OneParam<double>;
154  template class TOMATOLIB_EXPORT ModelT2TwoParam<double>;
155  template class TOMATOLIB_EXPORT ModelT2TwoParamScale<double>;
156  template class TOMATOLIB_EXPORT ModelT2ThreeParam<double>;
157 #endif //USE_PRIVATE_NR2
158 #ifdef USE_LMFIT
159  template class TOMATOLIB_EXPORT ModelT1AdapterLmfitLeastSquares<double>;
160 #endif // USE_LMFIT
161 
162  /* **************** */
163  /* sign calculators */
164  /* **************** */
165  template class TOMATOLIB_EXPORT SignCalculator<double>;
166  template class TOMATOLIB_EXPORT SignCalculatorNoSign<double>;
167  template class TOMATOLIB_EXPORT SignCalculatorRealImag<double>;
168 #ifdef USE_PRIVATE_NR2
169  template class TOMATOLIB_EXPORT SignCalculatorShmolli<double>;
170 #endif //USE_PRIVATE_NR2
171 
172  /* *********************** */
173  /* start point calculators */
174  /* *********************** */
175  template class TOMATOLIB_EXPORT StartPointCalculator<double>;
176  template class TOMATOLIB_EXPORT StartPointCalculatorBasic<double>;
177 #ifdef USE_PRIVATE_NR2
178  template class TOMATOLIB_EXPORT StartPointCalculatorShmolli<double>;
179 #endif // USE_PRIVATE_NR2
180 
181  /* ********* */
182  /* factories */
183  /* ********* */
184  template class TOMATOLIB_EXPORT FactoryOfCalculators<double>;
185  template class TOMATOLIB_EXPORT FactoryOfFitters<double>;
186  template class TOMATOLIB_EXPORT FactoryOfModels<double>;
187  template class TOMATOLIB_EXPORT FactoryOfSignCalculators<double>;
188  template class TOMATOLIB_EXPORT FactoryOfStartPointCalculators<double>;
189 
190  /* ********* */
191  /* options */
192  /* ********* */
193  template class TOMATOLIB_EXPORT TomatoOptions<double>;
194 
195  /* ******* */
196  /* others */
197  /* ******* */
198  template std::map<std::string, double> TOMATOLIB_EXPORT calculateOnePixel(TomatoOptions<double> opts);
199  template class TOMATOLIB_EXPORT ImageCalculator<double>;
200 #ifdef USE_YAML
201  template class TOMATOLIB_EXPORT TomatoParser<double>;
202 #endif // USE_YAML
203 
204 } //namespace Ox
205 
206  /* ********* */
207  /* APP */
208  /* ********* */
209 #ifdef USE_ITK
210 namespace itk {
211  template class TOMATOLIB_EXPORT CalculatorT1ImageFilter< Image<double, 3>, Image<double, 2>, Image<double, 3> >;
212  template class TOMATOLIB_EXPORT CalculatorT1ImageFilter< Image<double, 3>, Image<double, 3> >;
213  template class TOMATOLIB_EXPORT Colorbar2DImageFilter< Image<double, 2> >;
214  template class TOMATOLIB_EXPORT Colorbar2DImageFilter< Image<double, 3> >;
215  template class TOMATOLIB_EXPORT NShmolliSamplesUsedTo123ImageFilter< Image<double, 2> >;
216  template class TOMATOLIB_EXPORT NShmolliSamplesUsedTo123ImageFilter< Image<double, 3> >;
217  template class TOMATOLIB_EXPORT ReadFileListFilter< Image<double, 3> >;
218  template class TOMATOLIB_EXPORT SortInvTimesImageFilter< Image<double, 3>, Image<double, 3> >;
219 } //namespace itk
220 
221 namespace Ox {
222  template class TOMATOLIB_EXPORT Tomato<double>;
223  template class TOMATOLIB_EXPORT OriginalShmolliDicomReader<double>;
224 }
225 #endif //USE_ITK
226 
227 
228 
229 #endif //TOMATO_TOMATOAPI_H
Definition: itkImageFileReaderKW.h:31
Definition: OxCalculator.h:19