go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elastixlib.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 #ifndef __elastixlib_h
15 #define __elastixlib_h
16 
17 /*
18  * Includes
19  */
20 #include <itkDataObject.h>
21 #include "itkParameterFileParser.h"
22 
23 /********************************************************************************
24  * *
25  * Dll export *
26  * *
27  ********************************************************************************/
28 #if ( defined( _WIN32 ) || defined( WIN32 ) )
29 # ifdef _ELASTIX_BUILD_LIBRARY
30 # ifdef _ELASTIX_BUILD_SHARED_LIBRARY
31 # define ELASTIXLIB_API __declspec( dllexport )
32 # else
33 # define ELASTIXLIB_API __declspec( dllimport )
34 # endif
35 # else
36 # define ELASTIXLIB_API __declspec( dllexport )
37 # endif
38 #else
39 # if __GNUC__ >= 4
40 # define ELASTIXLIB_API __attribute__ ( ( visibility( "default" ) ) )
41 # else
42 # define ELASTIXLIB_API
43 # endif
44 #endif
45 
46 /********************************************************************************
47  * *
48  * Class definition *
49  * *
50  ********************************************************************************/
51 
52 namespace elastix
53 {
54 
56 {
57 public:
58 
59  //typedefs for images
60  typedef itk::DataObject Image;
61  typedef Image::Pointer ImagePointer;
62 
63  //typedefs for parameter map
66  typedef std::vector< itk::ParameterFileParser::ParameterMapType > ParameterMapListType;
67 
71  ELASTIX();
72  virtual ~ELASTIX();
73 
99  int RegisterImages( ImagePointer fixedImage,
100  ImagePointer movingImage,
101  ParameterMapType & parameterMap,
102  std::string outputPath,
103  bool performLogging,
104  bool performCout,
105  ImagePointer fixedMask = 0,
106  ImagePointer movingMask = 0 );
107 
108  int RegisterImages( ImagePointer fixedImage,
109  ImagePointer movingImage,
110  std::vector< ParameterMapType > & parameterMaps,
111  std::string outputPath,
112  bool performLogging,
113  bool performCout,
114  ImagePointer fixedMask = 0,
115  ImagePointer movingMask = 0 );
116 
118  ImagePointer GetResultImage( void );
119 
121  ParameterMapType GetTransformParameterMap( void );
122 
124  ParameterMapListType GetTransformParameterMapList( void );
125 
126 private:
127 
128  /* the result images */
130 
131  /* Final transformation*/
133 
134 };
135 
136 // end class ELASTIX
137 
138 } // end namespace elastix
139 
140 #endif
std::map< std::string, ParameterValuesType > ParameterMapType
std::vector< itk::ParameterFileParser::ParameterMapType > ParameterMapListType
Definition: elastixlib.h:66
Image::Pointer ImagePointer
Definition: elastixlib.h:61
itk::ParameterFileParser::ParameterValuesType ParameterValuesType
Definition: elastixlib.h:64
itk::ParameterFileParser::ParameterMapType ParameterMapType
Definition: elastixlib.h:65
itk::DataObject Image
Definition: elastixlib.h:60
ParameterMapListType m_TransformParametersList
Definition: elastixlib.h:132
#define ELASTIXLIB_API
Definition: elastixlib.h:42
std::vector< std::string > ParameterValuesType
ImagePointer m_ResultImage
Definition: elastixlib.h:129


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo