35#ifndef itkTransformixFilter_h
36#define itkTransformixFilter_h
38#include "itkImageSource.h"
40#include "itkTransformBase.h"
57template <
typename TMovingImage>
93 using typename Superclass::OutputImageType;
94 using typename Superclass::OutputImagePixelType;
97 typename itk::Image<itk::Vector<float, TMovingImage::ImageDimension>, TMovingImage::ImageDimension>;
104 using MeshType = Mesh<OutputImagePixelType, MovingImageDimension>;
106 using TransformType = Transform<double, MovingImageDimension, MovingImageDimension>;
111 itk::Image<itk::Matrix<float, MovingImageDimension, MovingImageDimension>, MovingImageDimension>;
132 itkSetMacro(FixedPointSetFileName, std::string);
133 itkGetConstMacro(FixedPointSetFileName, std::string);
137 this->SetFixedPointSetFileName(
"");
141 itkSetMacro(ComputeSpatialJacobian,
bool);
142 itkGetConstMacro(ComputeSpatialJacobian,
bool);
143 itkBooleanMacro(ComputeSpatialJacobian);
146 itkSetMacro(ComputeDeterminantOfSpatialJacobian,
bool);
147 itkGetConstMacro(ComputeDeterminantOfSpatialJacobian,
bool);
148 itkBooleanMacro(ComputeDeterminantOfSpatialJacobian);
151 itkSetMacro(ComputeDeformationField,
bool);
152 itkGetConstMacro(ComputeDeformationField,
bool);
153 itkBooleanMacro(ComputeDeformationField);
165 using Superclass::GetOutput;
172 const OutputImageType *
182 itkSetMacro(OutputDirectory, std::string);
183 itkGetConstMacro(OutputDirectory, std::string);
187 this->SetOutputDirectory(
"");
194 itkGetConstMacro(LogFileName, std::string);
199 itkSetMacro(LogToConsole,
bool);
200 itkGetConstMacro(LogToConsole,
bool);
201 itkBooleanMacro(LogToConsole);
204 itkSetMacro(LogToFile,
bool);
205 itkGetConstMacro(LogToFile,
bool);
206 itkBooleanMacro(LogToFile);
212 m_EnableOutput =
false;
228 itkSetConstObjectMacro(Transform, TransformBase);
234 SmartPointer<SpatialJacobianDeterminantImageType>
239 SmartPointer<SpatialJacobianMatrixImageType>
260 using Superclass::SetInput;
261 using Superclass::MakeOutput;
270 using ProcessObject::RemoveInput;
277 SmartPointer<const elx::TransformixMain> m_TransformixMain{
nullptr };
279 std::string m_FixedPointSetFileName{};
280 bool m_ComputeSpatialJacobian{
false };
281 bool m_ComputeDeterminantOfSpatialJacobian{
false };
282 bool m_ComputeDeformationField{
false };
284 std::string m_OutputDirectory{};
285 std::string m_LogFileName{};
287 bool m_EnableOutput{
true };
288 bool m_LogToConsole{
false };
289 bool m_LogToFile{
false };
291 typename MeshType::ConstPointer m_InputMesh{
nullptr };
292 typename MeshType::Pointer m_OutputMesh{
nullptr };
301#ifndef ITK_MANUAL_INSTANTIATION
302# include "itkTransformixFilter.hxx"
itk::SmartPointer< Self > Pointer
std::map< ParameterKeyType, ParameterValueVectorType > ParameterMapType
itk::SmartPointer< const Self > ConstPointer
std::vector< ParameterValueType > ParameterValueVectorType
std::vector< ParameterMapType > ParameterMapVectorType
A class with all functionality to configure transformix.
Configuration::CommandLineArgumentMapType ArgumentMapType
ElastixBase::DataObjectContainerType DataObjectContainerType
ElastixBase::DataObjectContainerPointer DataObjectContainerPointer
itk::SmartPointer< Self > Pointer