18#ifndef elxTransformBase_h
19#define elxTransformBase_h
34#include <itkOptimizerParameters.h>
35#include <itkTransformMeshFilter.h>
133template <
class TElastix>
195 itk::Image<itk::Matrix<float, MovingImageDimension, FixedImageDimension>, FixedImageDimension>;
205 return &(this->GetSelf());
213 return &(this->GetSelf());
238 const bool includeDerivedTransformParameters =
true)
const;
257 typename SpatialJacobianDeterminantImageType::Pointer
261 typename SpatialJacobianMatrixImageType::Pointer
280 template <
typename TMesh>
281 typename TMesh::Pointer
286 transformMeshFilter.SetInput(&mesh);
287 transformMeshFilter.Update();
288 return transformMeshFilter.GetOutput();
327 template <
template <
typename,
typename>
class TSource,
typename TOutputImage>
331 const auto & resampleImageFilter = *(this->m_Elastix->GetElxResamplerBase()->GetAsITKBaseType());
334 const auto jacGenerator = TSource<TOutputImage, CoordRepType>::New();
336 jacGenerator->SetTransform(this->GetAsITKBaseType());
337 jacGenerator->SetOutputSize(resampleImageFilter.GetSize());
338 jacGenerator->SetOutputSpacing(resampleImageFilter.GetOutputSpacing());
339 jacGenerator->SetOutputOrigin(resampleImageFilter.GetOutputOrigin());
340 jacGenerator->SetOutputIndex(resampleImageFilter.GetOutputStartIndex());
341 jacGenerator->SetOutputDirection(resampleImageFilter.GetOutputDirection());
351 template <
typename TImage>
358 const auto infoChanger = itk::ChangeInformationImageFilter<TImage>::New();
359 typename FixedImageType::DirectionType originalDirection;
360 const bool retdc = this->m_Elastix->GetOriginalFixedImageDirection(originalDirection);
361 infoChanger->SetOutputDirection(originalDirection);
362 infoChanger->SetChangeDirection(retdc & !this->m_Elastix->GetUseDirectionCosines());
363 infoChanger->SetInput(image);
397 itkGetStringMacro(TransformParametersFileName);
415 typename DeformationFieldImageType::Pointer
427 if (!this->GetInitialTransform())
429 return "NoInitialTransform";
432 const Self * t0 =
dynamic_cast<const Self *
>(this->GetInitialTransform());
436 virtual ParameterMapType
450 bool m_ReadWriteTransformParameters{
true };
455#ifndef ITK_MANUAL_INSTANTIATION
456# include "elxTransformBase.hxx"
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
typename ElastixType::RegistrationBaseType RegistrationType
ObjectPointer(*)() PtrToCreator
std::string ComponentDescriptionType
itk::SmartPointer< Self > Pointer
A specialized Command object for updating the progress of a filter.
xout class with only basic functionality.