go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxTransformixFilter.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef elxTransformixFilter_h
19#define elxTransformixFilter_h
20
21#include "itkImageSource.h"
22
23#include "elxTransformixMain.h"
24#include "elxParameterObject.h"
25#include "elxPixelType.h"
26
32namespace elastix
33{
34
35template< typename TMovingImage >
36class ELASTIXLIB_API TransformixFilter : public itk::ImageSource< TMovingImage >
37{
38public:
39
42 typedef itk::ImageSource< TMovingImage > Superclass;
43 typedef itk::SmartPointer< Self > Pointer;
44 typedef itk::SmartPointer< const Self > ConstPointer;
45
47 itkNewMacro( Self );
48
50 itkTypeMacro( TransformixFilter, itk::ImageSource );
51
56 typedef ArgumentMapType::value_type ArgumentMapEntryType;
57
58 typedef itk::ProcessObject::DataObjectPointer DataObjectPointer;
59 typedef itk::ProcessObject::DataObjectIdentifierType DataObjectIdentifierType;
62
69
70 typedef typename Superclass::OutputImageType OutputImageType;
71 typedef typename itk::Image< itk::Vector< float, TMovingImage::ImageDimension >,
72 TMovingImage::ImageDimension > OutputDeformationFieldType;
73
74 typedef typename TMovingImage::Pointer InputImagePointer;
75 typedef typename TMovingImage::ConstPointer InputImageConstPointer;
76
77 itkStaticConstMacro( MovingImageDimension, unsigned int, TMovingImage::ImageDimension );
78
80 virtual void SetMovingImage( TMovingImage * inputImage );
82 virtual void RemoveMovingImage( void );
83
85 itkSetMacro( FixedPointSetFileName, std::string );
86 itkGetMacro( FixedPointSetFileName, std::string );
87 virtual void RemoveFixedPointSetFileName() { this->SetFixedPointSetFileName( "" ); }
88
90 itkSetMacro( ComputeSpatialJacobian, bool );
91 itkGetConstMacro( ComputeSpatialJacobian, bool );
92 itkBooleanMacro( ComputeSpatialJacobian );
93
95 itkSetMacro( ComputeDeterminantOfSpatialJacobian, bool );
96 itkGetConstMacro( ComputeDeterminantOfSpatialJacobian, bool );
97 itkBooleanMacro( ComputeDeterminantOfSpatialJacobian );
98
100 itkSetMacro( ComputeDeformationField, bool );
101 itkGetConstMacro( ComputeDeformationField, bool );
102 itkBooleanMacro( ComputeDeformationField );
103
105 virtual void SetTransformParameterObject( ParameterObjectPointer transformParameterObject );
106
108
110
112
114
116 itkSetMacro( OutputDirectory, std::string );
117 itkGetConstMacro( OutputDirectory, std::string );
118 virtual void RemoveOutputDirectory() { this->SetOutputDirectory( "" ); }
119
121 virtual void SetLogFileName( std::string logFileName );
122
123 itkGetConstMacro( LogFileName, std::string );
124 virtual void RemoveLogFileName( void );
125
127 itkSetMacro( LogToConsole, bool );
128 itkGetConstMacro( LogToConsole, bool );
129 itkBooleanMacro( LogToConsole );
130
132 itkSetMacro( LogToFile, bool );
133 itkGetConstMacro( LogToFile, bool );
134 itkBooleanMacro( LogToFile );
135
140
142 virtual void GenerateOutputInformation( void ) override;
143
144protected:
145
147
148 virtual void GenerateData( void ) override;
149
150private:
151
152 TransformixFilter( const Self & ); // purposely not implemented
153 void operator=( const Self & ); // purposely not implemented
154
156 static bool IsEmpty( const InputImagePointer inputImage );
157
161 using itk::ProcessObject::SetInput;
162 using itk::ProcessObject::GetInput;
163 using itk::ProcessObject::RemoveInput;
164
169
170 std::string m_OutputDirectory;
171 std::string m_LogFileName;
172
175
176};
177
178} // namespace elx
179
180#ifndef ITK_MANUAL_INSTANTIATION
181#include "elxTransformixFilter.hxx"
182#endif
183
184#endif // elxTransformixFilter_h
std::map< ParameterKeyType, ParameterValueVectorType > ParameterMapType
itk::SmartPointer< const Self > ConstPointer
std::vector< ParameterValueType > ParameterValueVectorType
itk::SmartPointer< Self > Pointer
std::vector< ParameterMapType > ParameterMapVectorType
TransformixFilter(const Self &)
ParameterObjectType::ParameterMapType ParameterMapType
virtual void RemoveMovingImage(void)
ParameterObjectType::ParameterValueVectorType ParameterValueVectorType
ParameterObjectType * GetTransformParameterObject(void)
static bool IsEmpty(const InputImagePointer inputImage)
itk::ProcessObject::DataObjectIdentifierType DataObjectIdentifierType
TransformixMainType::DataObjectContainerType DataObjectContainerType
virtual void GenerateData(void) override
TMovingImage::Pointer InputImagePointer
itkStaticConstMacro(MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
ParameterObjectType::ConstPointer ParameterObjectConstPointer
elastix::TransformixMain TransformixMainType
itk::SmartPointer< Self > Pointer
virtual void RemoveLogFileName(void)
virtual void RemoveFixedPointSetFileName()
TransformixMainType::Pointer TransformixMainPointer
itk::ProcessObject::DataObjectPointer DataObjectPointer
virtual DataObjectPointer MakeOutput(const DataObjectIdentifierType &key) override
itk::Image< itk::Vector< float, TMovingImage::ImageDimension >, TMovingImage::ImageDimension > OutputDeformationFieldType
virtual void SetMovingImage(TMovingImage *inputImage)
ParameterObjectType::ParameterMapVectorType ParameterMapVectorType
virtual void GenerateOutputInformation(void) override
TransformixMainType::DataObjectContainerPointer DataObjectContainerPointer
ArgumentMapType::value_type ArgumentMapEntryType
virtual void SetLogFileName(std::string logFileName)
itk::SmartPointer< const Self > ConstPointer
Superclass::OutputImageType OutputImageType
const OutputDeformationFieldType * GetOutputDeformationField(void) const
ParameterObjectType::Pointer ParameterObjectPointer
itk::ImageSource< TMovingImage > Superclass
const ParameterObjectType * GetTransformParameterObject(void) const
TMovingImage::ConstPointer InputImageConstPointer
void operator=(const Self &)
InputImageConstPointer GetMovingImage(void)
TransformixMainType::ArgumentMapType ArgumentMapType
OutputDeformationFieldType * GetOutputDeformationField(void)
virtual void SetTransformParameterObject(ParameterObjectPointer transformParameterObject)
A class with all functionality to configure transformix.
Superclass::DataObjectContainerType DataObjectContainerType
itk::SmartPointer< Self > Pointer
Superclass::ArgumentMapType ArgumentMapType
Superclass::DataObjectContainerPointer DataObjectContainerPointer
#define ELASTIXLIB_API
Definition: elxMacro.h:301


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo