18#ifndef itkMissingStructurePenalty_h
19#define itkMissingStructurePenalty_h
23#include "itkPointSet.h"
26#include "itkVectorContainer.h"
43template <
class TFixedPo
intSet,
class TMovingPo
intSet>
70 using typename Superclass::MeasureType;
71 using typename Superclass::DerivativeType;
88 DefaultStaticMeshTraits<DummyMeshPixelType, FixedPointSetDimension, FixedPointSetDimension, CoordRepType>;
89 using FixedMeshType = Mesh<DummyMeshPixelType, FixedPointSetDimension, MeshTraitsType>;
97 using VectorType =
typename FixedMeshType::PointType::VectorType;
99 using SubVectorType = itk::Vector<
typename VectorType::ValueType, FixedPointSetDimension - 1>;
157 DerivativeType & Derivative)
const override;
179#ifndef ITK_MANUAL_INSTANTIATION
180# include "itkMissingStructurePenalty.hxx"
Computes the (pseudo) volume of the transformed surface mesh of a structure. .
unsigned char DummyMeshPixelType
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
ITK_DISALLOW_COPY_AND_MOVE(MissingVolumeMeshPenalty)
typename MeshPointsContainerType::Pointer MeshPointsContainerPointer
typename FixedMeshType::PointType MeshPointType
MeasureType GetValue(const TransformParametersType ¶meters) const override
typename FixedMeshType::PointsContainer MeshPointsContainerType
VectorContainer< MeshIdType, FixedMeshConstPointer > FixedMeshContainerType
SmartPointer< const Self > ConstPointer
FixedMeshContainerConstPointer m_FixedMeshContainer
typename FixedMeshType::PointDataContainerPointer MeshPointDataContainerPointer
itkStaticConstMacro(MovingPointSetDimension, unsigned int, Superclass::MovingPointSetDimension)
~MissingVolumeMeshPenalty() override=default
Mesh< DummyMeshPixelType, FixedPointSetDimension, MeshTraitsType > FixedMeshType
typename MeshPointsContainerType::ConstPointer MeshPointsContainerConstPointer
typename OutputPointType::CoordRepType CoordRepType
typename FixedMeshType::PointDataContainer MeshPointDataContainerType
typename FixedMeshType::PointType::VectorType VectorType
Array< DerivativeValueType > MeshPointsDerivativeValueType
typename FixedMeshType::PointIdentifier FixedMeshPointIdentifier
typename FixedMeshType::PointDataContainerConstPointer MeshPointDataContainerConstPointer
itkGetModifiableObjectMacro(MappedMeshContainer, MappedMeshContainerType)
typename MeshTraitsType::CellType CellInterfaceType
void SubVector(const VectorType &fullVector, SubVectorType &subVector, const unsigned int leaveOutIndex) const
typename VectorType::const_pointer VectorConstPointer
typename FixedMeshContainerType::ConstPointer FixedMeshContainerConstPointer
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &Derivative) const override
itk::Vector< typename VectorType::ValueType, FixedPointSetDimension - 1 > SubVectorType
typename FixedMeshType::PointsContainerConstIterator MeshPointsContainerConstIteratorType
void Initialize() override
FixedMeshConstPointer m_FixedMesh
itkStaticConstMacro(FixedPointSetDimension, unsigned int, Superclass::FixedPointSetDimension)
typename FixedMeshContainerType::Pointer FixedMeshContainerPointer
typename TransformType::ParametersType TransformParametersType
DefaultStaticMeshTraits< DummyMeshPixelType, FixedPointSetDimension, FixedPointSetDimension, CoordRepType > MeshTraitsType
typename MeshPointDataContainerType::Iterator MeshPointDataContainerIteratorType
MappedMeshContainerPointer m_MappedMeshContainer
typename FixedMeshType::PointDataContainerIterator MeshPointDataContainerConstIteratorType
typename FixedMeshType::ConstPointer FixedMeshConstPointer
typename FixedMeshType::PointsContainerIterator MeshPointsContainerIteratorType
typename FixedMeshType::Pointer FixedMeshPointer
typename MappedMeshContainerType::Pointer MappedMeshContainerPointer
typename FixedMeshContainerType::ElementIdentifier FixedMeshContainerElementIdentifier
typename MappedMeshContainerType::ConstPointer MappedMeshContainerConstPointer
VectorContainer< MeshIdType, FixedMeshPointer > MappedMeshContainerType
MissingVolumeMeshPenalty()
Computes similarity between two point sets.
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename TransformType::InputPointType InputPointType
typename TransformType::Pointer TransformPointer
typename DerivativeType::ValueType DerivativeValueType
typename TransformType::ParametersType TransformParametersType
typename TransformType::JacobianType TransformJacobianType
typename TransformType::OutputPointType OutputPointType