go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
elastix::PolydataDummyPenalty< TElastix > Class Template Reference

#include <elxPolydataDummyPenalty.h>

Detailed Description

template<typename TElastix>
class elastix::PolydataDummyPenalty< TElastix >

A dummy metric to generate transformed meshes at each iteration. This metric does not contribute to the cost function, but provides the options to read vtk polydata meshes from the command-line and write the transformed meshes to disk each iteration or resolution level. The command-line options for input meshes is: -fmesh<[A-Z]><MetricNumber>. This metric can be used as a base for other mesh-based penalties.

The parameters used in this class are:

Parameters

Metric: Select this metric as follows:
(Metric "PolydataDummyPenalty")

(WriteResultMeshAfterEachIteration "True")

(WriteResultMeshAfterEachResolution "True")

Definition at line 61 of file elxPolydataDummyPenalty.h.

Inheritance diagram for elastix::PolydataDummyPenalty< TElastix >:

Public Types

using CombinationTransformType = itk::AdvancedCombinationTransform<CoordinateType, Self::FixedImageDimension>
using ConstPointer = itk::SmartPointer<const Self>
using CoordinateType = typename OutputPointType::CoordinateType
using FixedImageType
using ImageType = FixedImageType
using InitialTransformType = typename CombinationTransformType::InitialTransformType
using ITKBaseType = typename Superclass2::ITKBaseType
using MeshType = FixedMeshType
using MovingImageType
using Pointer = itk::SmartPointer<Self>
using PointSetType = FixedPointSetType
using Self = PolydataDummyPenalty
using Superclass1
using Superclass2 = MetricBase<TElastix>
Public Types inherited from itk::MeshPenalty< TFixedPointSet, TMovingPointSet >
using CellInterfaceType = typename MeshTraitsType::CellType
using ConstPointer = SmartPointer<const Self>
using CoordinateType = typename InputPointType::CoordinateType
using DerivativeValueType
using DummyMeshPixelType = unsigned char
using FixedImagePointType = typename TransformType::InputPointType
using FixedMeshConstPointer = typename FixedMeshType::ConstPointer
using FixedMeshContainerConstPointer = typename FixedMeshContainerType::ConstPointer
using FixedMeshContainerElementIdentifier = typename FixedMeshContainerType::ElementIdentifier
using FixedMeshContainerPointer = typename FixedMeshContainerType::Pointer
using FixedMeshContainerType = VectorContainer<MeshIdType, FixedMeshConstPointer>
using FixedMeshPointer = typename FixedMeshType::Pointer
using FixedMeshType = Mesh<PointNormalType, FixedPointSetDimension, MeshTraitsType>
using InputPointType
using MappedMeshContainerConstPointer = typename MappedMeshContainerType::ConstPointer
using MappedMeshContainerPointer = typename MappedMeshContainerType::Pointer
using MappedMeshContainerType = VectorContainer<MeshIdType, FixedMeshPointer>
using MeshIdType = unsigned int
using MeshPointDataContainerConstIteratorType = typename FixedMeshType::PointDataContainerIterator
using MeshPointDataContainerConstPointer = typename FixedMeshType::PointDataContainerConstPointer
using MeshPointDataContainerPointer = typename FixedMeshType::PointDataContainerPointer
using MeshPointDataContainerType = typename FixedMeshType::PointDataContainer
using MeshPointsContainerConstIteratorType = typename FixedMeshType::PointsContainerConstIterator
using MeshPointsContainerConstPointer = typename MeshPointsContainerType::ConstPointer
using MeshPointsContainerIteratorType = typename FixedMeshType::PointsContainerIterator
using MeshPointsContainerPointer = typename MeshPointsContainerType::Pointer
using MeshPointsContainerType = typename FixedMeshType::PointsContainer
using MeshPointsDerivativeValueType = Array<DerivativeValueType>
using MeshPointType = typename FixedMeshType::PointType
using MeshTraitsType
using MovingImagePointType = typename TransformType::OutputPointType
using NonZeroJacobianIndicesType
using OutputPointType
using Pointer = SmartPointer<Self>
using PointNormalType = Vector<typename TransformType::ScalarType, FixedPointSetDimension>
using Self = MeshPenalty
using SpatialJacobianType = typename TransformType::SpatialJacobianType
using Superclass = SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet>
using TransformJacobianType
using TransformPointer
using TransformType
using VectorType = typename FixedMeshType::PointType::VectorType
using VnlVectorType = vnl_vector<CoordinateType>
Public Types inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
using ConstPointer = SmartPointer<const Self>
using CoordinateRepresentationType = Superclass::ParametersValueType
using DerivativeValueType = typename DerivativeType::ValueType
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
using FixedImageMaskPointer = typename FixedImageMaskType::Pointer
using FixedImageMaskType = ImageMaskSpatialObject<Self::FixedPointSetDimension>
using FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer
using FixedPointSetType = TFixedPointSet
using InputPointType = typename TransformType::InputPointType
using MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer
using MovingImageMaskPointer = typename MovingImageMaskType::Pointer
using MovingImageMaskType = ImageMaskSpatialObject<Self::MovingPointSetDimension>
using MovingPointSetConstPointer = typename MovingPointSetType::ConstPointer
using MovingPointSetType = TMovingPointSet
using NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType
using OutputPointType = typename TransformType::OutputPointType
using Pointer = SmartPointer<Self>
using PointIterator = typename FixedPointSetType::PointsContainer::ConstIterator
using Self = SingleValuedPointSetToPointSetMetric
using Superclass = SingleValuedCostFunction
using TransformJacobianType = typename TransformType::JacobianType
using TransformParametersType = typename TransformType::ParametersType
using TransformPointer = typename TransformType::Pointer
using TransformType
Public Types inherited from elastix::MetricBase< TElastix >
using AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType>
using CoordinateRepresentationType = typename ITKBaseType::ParametersValueType
using ElastixType
using FixedImageType = typename ElastixType::FixedImageType
using FixedPointSetType
using FixedPointType = typename FixedImageType::PointType
using FixedPointValueType = typename FixedPointType::ValueType
using ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType
using ITKBaseType = itk::SingleValuedCostFunction
using MeasureType = typename ITKBaseType::MeasureType
using MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType
using MovingImageType = typename ElastixType::MovingImageType
using MovingPointSetType
using MovingPointType = typename MovingImageType::PointType
using MovingPointValueType = typename MovingPointType::ValueType
using RegistrationType
using Self = MetricBase
using Superclass = BaseComponentSE<TElastix>
Public Types inherited from elastix::BaseComponentSE< TElastix >
using ElastixType = TElastix
using RegistrationType = typename ElastixType::RegistrationBaseType
using Self = BaseComponentSE
using Superclass = BaseComponent

Public Member Functions

void AfterEachIteration () override
void AfterEachResolution () override
int BeforeAllBase () override
void BeforeRegistration () override
 elxClassNameMacro ("PolydataDummyPenalty")
void Initialize () override
 ITK_DISALLOW_COPY_AND_MOVE (PolydataDummyPenalty)
 itkOverrideGetNameOfClassMacro (PolydataDummyPenalty)
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
unsigned int ReadMesh (const std::string &meshFileName, typename FixedMeshType::Pointer &mesh)
unsigned int ReadTransformixPoints (const std::string &filename, typename MeshType::Pointer &mesh)
void SelectNewSamples () override
void WriteResultMesh (const std::string &filename, MeshIdType meshId)
Public Member Functions inherited from itk::MeshPenalty< TFixedPointSet, TMovingPointSet >
void GetDerivative (const ParametersType &parameters, DerivativeType &Derivative) const override
virtual const FixedMeshContainerTypeGetFixedMeshContainer ()
MeasureType GetValue (const ParametersType &parameters) const override
void GetValueAndDerivative (const ParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
void Initialize () override
 ITK_DISALLOW_COPY_AND_MOVE (MeshPenalty)
 itkGetModifiableObjectMacro (MappedMeshContainer, MappedMeshContainerType)
 itkOverrideGetNameOfClassMacro (MeshPenalty)
 itkStaticConstMacro (FixedPointSetDimension, unsigned int, Superclass::FixedPointSetDimension)
virtual void SetFixedMeshContainer (const FixedMeshContainerType *_arg)
virtual void SetMappedMeshContainer (MappedMeshContainerType *_arg)
Public Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
virtual void BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageMaskTypeGetFixedImageMask ()
virtual const FixedPointSetTypeGetFixedPointSet ()
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual const MovingPointSetTypeGetMovingPointSet ()
unsigned int GetNumberOfParameters () const override
virtual const TransformTypeGetTransform ()
virtual const boolGetUseMetricSingleThreaded ()
 ITK_DISALLOW_COPY_AND_MOVE (SingleValuedPointSetToPointSetMetric)
 itkOverrideGetNameOfClassMacro (SingleValuedPointSetToPointSetMetric)
 itkStaticConstMacro (FixedPointSetDimension, unsigned int, TFixedPointSet::PointDimension)
 itkStaticConstMacro (MovingPointSetDimension, unsigned int, TMovingPointSet::PointDimension)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual void SetMovingPointSet (const MovingPointSetType *_arg)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
virtual void SetUseMetricSingleThreaded (bool _arg)
virtual void UseMetricSingleThreadedOff ()
virtual void UseMetricSingleThreadedOn ()
Public Member Functions inherited from elastix::MetricBase< TElastix >
void AfterEachIterationBase () override
void BeforeEachResolutionBase () override
void BeforeRegistrationBase () override
virtual ImageSamplerBaseTypeGetAdvancedMetricImageSampler () const
virtual bool GetAdvancedMetricUseImageSampler () const
ITKBaseTypeGetAsITKBaseType ()
const ITKBaseTypeGetAsITKBaseType () const
virtual MeasureType GetCurrentExactMetricValue () const
virtual bool GetShowExactMetricValue () const
 ITK_DISALLOW_COPY_AND_MOVE (MetricBase)
 itkOverrideGetNameOfClassMacro (MetricBase)
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler)
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
const ConfigurationGetConfiguration () const
ElastixTypeGetElastix () const
auto & GetIterationInfoAt (const char *const name)
itk::Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
RegistrationTypeGetRegistration () const
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
void RemoveTargetCellFromIterationInfo (const char *const name)
void SetConfiguration (const Configuration *_arg)
void SetElastix (ElastixType *_arg)
Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachResolutionBase ()
virtual void AfterRegistration ()
virtual void AfterRegistrationBase ()
virtual int BeforeAll ()
virtual void BeforeEachResolution ()
virtual const char * elxGetClassName () const
const char * GetComponentLabel () const
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 itkVirtualGetNameOfClassMacro (BaseComponent)
void SetComponentLabel (const char *label, unsigned int idx)

Static Public Member Functions

static Pointer New ()
Static Public Member Functions inherited from itk::MeshPenalty< TFixedPointSet, TMovingPointSet >
static Pointer New ()
Static Public Member Functions inherited from elastix::BaseComponent
template<typename TBaseComponent>
static auto AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
static void InitializeElastixExecutable ()
static bool IsElastixLibrary ()

Protected Member Functions

 PolydataDummyPenalty ()
 ~PolydataDummyPenalty () override=default
Protected Member Functions inherited from itk::MeshPenalty< TFixedPointSet, TMovingPointSet >
 MeshPenalty ()
void PrintSelf (std::ostream &os, Indent indent) const override
 ~MeshPenalty () override=default
Protected Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
const auto & GetFixedPoints () const
const auto & GetMovingPoints () const
void PrintSelf (std::ostream &os, Indent indent) const override
 SingleValuedPointSetToPointSetMetric ()=default
 ~SingleValuedPointSetToPointSetMetric () override=default
Protected Member Functions inherited from elastix::MetricBase< TElastix >
virtual MeasureType GetExactValue (const ParametersType &parameters)
 MetricBase ()=default
 ~MetricBase () override=default
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()=default
 ~BaseComponentSE () override=default
Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
virtual ~BaseComponent ()=default

Private Attributes

 elxOverrideGetSelfMacro
unsigned int m_NumberOfMeshes

Additional Inherited Members

Protected Types inherited from elastix::MetricBase< TElastix >
using ExactMetricImageSamplerPointer = typename ExactMetricImageSamplerType::Pointer
using ExactMetricImageSamplerType = itk::ImageGridSampler<FixedImageType>
using ExactMetricSampleGridSpacingType = typename ExactMetricImageSamplerType::SampleGridSpacingType
using ParametersType = typename ITKBaseType::ParametersType
Protected Attributes inherited from itk::MeshPenalty< TFixedPointSet, TMovingPointSet >
FixedMeshContainerConstPointer m_FixedMeshContainer {}
MappedMeshContainerPointer m_MappedMeshContainer {}
Protected Attributes inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
FixedImageMaskConstPointer m_FixedImageMask { nullptr }
FixedPointSetConstPointer m_FixedPointSet { nullptr }
MovingImageMaskConstPointer m_MovingImageMask { nullptr }
MovingPointSetConstPointer m_MovingPointSet { nullptr }
unsigned int m_NumberOfPointsCounted { 0 }
TransformPointer m_Transform { nullptr }
bool m_UseMetricSingleThreaded { true }
Protected Attributes inherited from elastix::MetricBase< TElastix >
MeasureType m_CurrentExactMetricValue { 0.0 }
unsigned int m_ExactMetricEachXNumberOfIterations { 1 }
ExactMetricSampleGridSpacingType m_ExactMetricSampleGridSpacing
ExactMetricImageSamplerPointer m_ExactMetricSampler { nullptr }
bool m_ShowExactMetricValue { false }
Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer m_Configuration {}
itk::WeakPointer< TElastix > m_Elastix {}
RegistrationTypem_Registration {}

Member Typedef Documentation

◆ CombinationTransformType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::CombinationTransformType = itk::AdvancedCombinationTransform<CoordinateType, Self::FixedImageDimension>

Other typedef's.

Definition at line 129 of file elxPolydataDummyPenalty.h.

◆ ConstPointer

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 75 of file elxPolydataDummyPenalty.h.

◆ CoordinateType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::CoordinateType = typename OutputPointType::CoordinateType

Definition at line 120 of file elxPolydataDummyPenalty.h.

◆ FixedImageType

template<typename TElastix>
using elastix::MetricBase< TElastix >::FixedImageType

Other typedef's.

Definition at line 94 of file elxMetricBase.h.

◆ ImageType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::ImageType = FixedImageType

Definition at line 148 of file elxPolydataDummyPenalty.h.

◆ InitialTransformType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::InitialTransformType = typename CombinationTransformType::InitialTransformType

Definition at line 130 of file elxPolydataDummyPenalty.h.

◆ ITKBaseType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 135 of file elxPolydataDummyPenalty.h.

◆ MeshType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::MeshType = FixedMeshType

Definition at line 147 of file elxPolydataDummyPenalty.h.

◆ MovingImageType

template<typename TElastix>
using elastix::MetricBase< TElastix >::MovingImageType

Definition at line 97 of file elxMetricBase.h.

◆ Pointer

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 74 of file elxPolydataDummyPenalty.h.

◆ PointSetType

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::PointSetType = FixedPointSetType

Assuming fixed and moving pointsets are of equal type, which implicitly assumes that the fixed and moving image are of the same type.

Definition at line 146 of file elxPolydataDummyPenalty.h.

◆ Self

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::Self = PolydataDummyPenalty

Standard ITK-stuff.

Definition at line 70 of file elxPolydataDummyPenalty.h.

◆ Superclass1

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::Superclass1
Initial value:
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
A dummy metric to generate transformed meshes each iteration.

Definition at line 71 of file elxPolydataDummyPenalty.h.

◆ Superclass2

template<typename TElastix>
using elastix::PolydataDummyPenalty< TElastix >::Superclass2 = MetricBase<TElastix>

Definition at line 73 of file elxPolydataDummyPenalty.h.

Constructor & Destructor Documentation

◆ PolydataDummyPenalty()

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::PolydataDummyPenalty ( )
protected

The constructor.

◆ ~PolydataDummyPenalty()

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::~PolydataDummyPenalty ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ AfterEachIteration()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::AfterEachIteration ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ AfterEachResolution()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::AfterEachResolution ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ BeforeAllBase()

template<typename TElastix>
int elastix::PolydataDummyPenalty< TElastix >::BeforeAllBase ( )
overridevirtual

Do some things before registration:

  • Load and set the pointsets.

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::BeforeRegistration ( )
overridevirtual

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::elxClassNameMacro ( "PolydataDummyPenalty< TElastix >" )

Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "PolydataDummyPenalty")

◆ Initialize()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::Initialize ( )
overridevirtual

Typedef for timer. Sets up a timer to measure the initialization time and calls the Superclass' implementation.

Reimplemented from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( PolydataDummyPenalty< TElastix > )

◆ itkOverrideGetNameOfClassMacro()

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::itkOverrideGetNameOfClassMacro ( PolydataDummyPenalty< TElastix > )

Run-time type information (and related methods).

◆ itkStaticConstMacro() [1/2]

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::itkStaticConstMacro ( FixedImageDimension ,
unsigned int ,
FixedImageType::ImageDimension  )

The fixed image dimension.

◆ itkStaticConstMacro() [2/2]

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::itkStaticConstMacro ( MovingImageDimension ,
unsigned int ,
MovingImageType::ImageDimension  )

◆ New()

template<typename TElastix>
Pointer elastix::PolydataDummyPenalty< TElastix >::New ( )
static

Method for creation through the object factory.

◆ ReadMesh()

template<typename TElastix>
unsigned int elastix::PolydataDummyPenalty< TElastix >::ReadMesh ( const std::string & meshFileName,
typename FixedMeshType::Pointer & mesh )

Function to read the corresponding points.

◆ ReadTransformixPoints()

template<typename TElastix>
unsigned int elastix::PolydataDummyPenalty< TElastix >::ReadTransformixPoints ( const std::string & filename,
typename MeshType::Pointer & mesh )

◆ SelectNewSamples()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::SelectNewSamples ( )
inlineoverridevirtual

Overwrite to silence warning.

Reimplemented from elastix::MetricBase< TElastix >.

Definition at line 188 of file elxPolydataDummyPenalty.h.

◆ WriteResultMesh()

template<typename TElastix>
void elastix::PolydataDummyPenalty< TElastix >::WriteResultMesh ( const std::string & filename,
MeshIdType meshId )

Member Data Documentation

◆ elxOverrideGetSelfMacro

template<typename TElastix>
elastix::PolydataDummyPenalty< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 198 of file elxPolydataDummyPenalty.h.

◆ m_NumberOfMeshes

template<typename TElastix>
unsigned int elastix::PolydataDummyPenalty< TElastix >::m_NumberOfMeshes
private

Definition at line 200 of file elxPolydataDummyPenalty.h.



Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo