18 #ifndef elxElastixFilter_h 19 #define elxElastixFilter_h 21 #include "itkImageSource.h" 35 template<
typename TFixedImage,
typename TMovingImage >
43 typedef itk::SmartPointer< Self >
Pointer;
50 itkTypeMacro( Self, itk::ImageSource );
80 itkStaticConstMacro( FixedImageDimension,
unsigned int, TFixedImage::ImageDimension );
81 itkStaticConstMacro( MovingImageDimension,
unsigned int, TMovingImage::ImageDimension );
91 virtual void SetFixedImage( TFixedImage * fixedImage );
92 virtual void AddFixedImage( TFixedImage * fixedImage );
93 FixedImageConstPointer GetFixedImage(
void )
const;
94 FixedImageConstPointer GetFixedImage(
const unsigned int index )
const;
95 unsigned int GetNumberOfFixedImages(
void )
const;
98 virtual void SetMovingImage( TMovingImage * movingImages );
99 virtual void AddMovingImage( TMovingImage * movingImage );
100 MovingImageConstPointer GetMovingImage(
void )
const;
101 MovingImageConstPointer GetMovingImage(
const unsigned int index )
const;
102 unsigned int GetNumberOfMovingImages(
void )
const;
105 virtual void AddFixedMask( FixedMaskType * fixedMask );
106 virtual void SetFixedMask( FixedMaskType * fixedMask );
107 FixedMaskConstPointer GetFixedMask(
void )
const;
108 FixedMaskConstPointer GetFixedMask(
const unsigned int index )
const;
109 void RemoveFixedMask(
void );
110 unsigned int GetNumberOfFixedMasks(
void )
const;
113 virtual void SetMovingMask( MovingMaskType * movingMask );
114 virtual void AddMovingMask( MovingMaskType * movingMask );
115 MovingMaskConstPointer GetMovingMask(
void )
const;
116 MovingMaskConstPointer GetMovingMask(
const unsigned int index )
const;
117 virtual void RemoveMovingMask(
void );
118 unsigned int GetNumberOfMovingMasks(
void )
const;
121 virtual void SetParameterObject( ParameterObjectType * parameterObject );
122 ParameterObjectType * GetParameterObject(
void );
123 const ParameterObjectType * GetParameterObject(
void )
const;
126 ParameterObjectType * GetTransformParameterObject(
void );
127 const ParameterObjectType * GetTransformParameterObject(
void )
const;
130 itkSetMacro( InitialTransformParameterFileName, std::string );
131 itkGetMacro( InitialTransformParameterFileName, std::string );
135 itkSetMacro( FixedPointSetFileName, std::string );
136 itkGetMacro( FixedPointSetFileName, std::string );
140 itkSetMacro( MovingPointSetFileName, std::string );
141 itkGetMacro( MovingPointSetFileName, std::string );
145 itkSetMacro( OutputDirectory, std::string );
146 itkGetMacro( OutputDirectory, std::string );
150 void SetLogFileName(
const std::string logFileName );
152 itkGetConstMacro( LogFileName, std::string );
153 void RemoveLogFileName(
void );
156 itkSetMacro( LogToConsole,
bool );
157 itkGetConstReferenceMacro( LogToConsole,
bool );
158 itkBooleanMacro( LogToConsole );
161 itkSetMacro( LogToFile,
bool );
162 itkGetConstReferenceMacro( LogToFile,
bool );
163 itkBooleanMacro( LogToFile );
165 itkSetMacro( NumberOfThreads,
int );
166 itkGetMacro( NumberOfThreads,
int );
172 virtual void GenerateData(
void ) ITK_OVERRIDE;
177 void operator=(
const Self & );
180 std::string MakeUniqueName(
const DataObjectIdentifierType & key );
183 bool IsInputOfType(
const DataObjectIdentifierType & InputOfType, DataObjectIdentifierType inputName );
186 unsigned int GetNumberOfInputsOfType(
const DataObjectIdentifierType & intputType );
189 void RemoveInputsOfType(
const DataObjectIdentifierType & inputName );
194 std::string m_InitialTransformParameterFileName;
212 #ifndef ITK_MANUAL_INSTANTIATION 213 #include "elxElastixFilter.hxx" 216 #endif // elxElastixFilter_h itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
DataObjectContainerType::Iterator DataObjectContainerIterator
itk::ImageSource< TFixedImage > Superclass
TMovingImage::ConstPointer MovingImageConstPointer
ElastixMainType::ObjectPointer ElastixMainObjectPointer
itk::Image< unsigned char, FixedImageDimension > FixedMaskType
ElastixMainType::FlatDirectionCosinesType FlatDirectionCosinesType
itk::SmartPointer< const Self > ConstPointer
ArgumentMapType::value_type ArgumentMapEntryType
ParameterObjectType::ParameterValueVectorType ParameterValueVectorType
std::vector< ElastixMainPointer > ElastixMainVectorType
ElastixBase::DataObjectContainerType DataObjectContainerType
elastix::ElastixMain ElastixMainType
TFixedImage::ConstPointer FixedImageConstPointer
itk::SmartPointer< Self > Pointer
itk::ProcessObject::DataObjectIdentifierType DataObjectIdentifierType
void RemoveMovingPointSetFileName(void)
virtual void RemoveInitialTransformParameterFileName(void)
itk::Image< unsigned char, MovingImageDimension > MovingMaskType
ElastixBase::FlatDirectionCosinesType FlatDirectionCosinesType
ConfigurationType::CommandLineArgumentMapType ArgumentMapType
void RemoveOutputDirectory()
std::string m_MovingPointSetFileName
itk::ProcessObject::NameArray NameArrayType
ElastixMainType::DataObjectContainerPointer DataObjectContainerPointer
MovingMaskType::Pointer MovingMaskConstPointer
TFixedImage::Pointer FixedImagePointer
ElastixMainType::Pointer ElastixMainPointer
ElastixMainType::ArgumentMapType ArgumentMapType
ObjectType::Pointer ObjectPointer
A class with all functionality to configure elastix.
ParameterObjectType::ParameterMapVectorType ParameterMapVectorType
ElastixMainType::DataObjectContainerType DataObjectContainerType
FixedMaskType::Pointer FixedMaskPointer
ElastixBase::DataObjectContainerPointer DataObjectContainerPointer
std::string m_LogFileName
std::string m_FixedPointSetFileName
MovingMaskType::Pointer MovingMaskPointer
ParameterObjectType::ConstPointer ParameterObjectConstPointer
ParameterObjectType::Pointer ParameterObjectPointer
FixedMaskType::Pointer FixedMaskConstPointer
virtual void VerifyInputInformation(void) ITK_OVERRIDE
std::string m_OutputDirectory
itk::SmartPointer< Self > Pointer
TMovingImage::Pointer MovingImagePointer
std::vector< ParameterValueType > ParameterValueVectorType
ParameterObjectType::ParameterMapType ParameterMapType
void RemoveFixedPointSetFileName(void)
ParameterObject ParameterObjectType
itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
std::map< ParameterKeyType, ParameterValueVectorType > ParameterMapType
std::vector< ParameterMapType > ParameterMapVectorType