DGtal  1.4.beta
ImageSelector.ih
1 /**
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU Lesser General Public License as
4  * published by the Free Software Foundation, either version 3 of the
5  * License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  *
15  **/
16 
17 /**
18  * @file ImageSelector.ih
19  * @author David Coeurjolly (\c david.coeurjolly@liris.cnrs.fr )
20  * Laboratoire d'InfoRmatique en Image et Systèmes d'information - LIRIS (CNRS, UMR 5205), CNRS, France
21  *
22  * @date 2010/07/14
23  *
24  * Implementation of inline methods defined in ImageSelector.h
25  *
26  * This file is part of the DGtal library.
27  */
28 
29 
30 //////////////////////////////////////////////////////////////////////////////
31 #include <cstdlib>
32 //////////////////////////////////////////////////////////////////////////////
33 
34 ///////////////////////////////////////////////////////////////////////////////
35 // IMPLEMENTATION of inline methods.
36 ///////////////////////////////////////////////////////////////////////////////
37 
38 ///////////////////////////////////////////////////////////////////////////////
39 namespace DGtal {
40 
41  /**
42  * ImageSelector specialization when Preferences is LOW_ITER_I+LOW_BEL_I
43  */
44  template <typename Domain, typename Value>
45  struct ImageSelector<Domain, Value, LOW_ITER_I+LOW_BEL_I>
46  {
47  /**
48  * Adequate digital set representation for the given preferences.
49  */
50  typedef ImageContainerBySTLMap<Domain,Value> Type;
51  };
52 
53 
54  /**
55  * ImageSelector specialization when Preferences is ITKIMAGEDATA_CONTAINER_I
56  */
57  template <typename Domain, typename Value>
58  struct ImageSelector<Domain, Value, ITKIMAGEDATA_CONTAINER_I>
59  {
60  /**
61  * Adequate digital set representation for the given preferences.
62  */
63 #ifdef WITH_ITK
64  typedef ImageContainerByITKImage<Domain, Value> Type;
65 #else
66  typedef ImageContainerBySTLVector<Domain,Value> Type;
67 #endif
68  };
69 
70 
71 }
72 // //
73 ///////////////////////////////////////////////////////////////////////////////
74 
75