Loading...
Searching...
No Matches
itkPolydataDummyPenalty.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef itkPolydataDummyPenalty_h
#define itkPolydataDummyPenalty_h
#include "itkSingleValuedPointSetToPointSetMetric.h"
#include "itkPoint.h"
#include "itkPointSet.h"
#include "itkImage.h"
#include "itkMesh.h"
#include <itkVectorContainer.h>
namespace itk
{
template <class TFixedPointSet, class TMovingPointSet>
class ITK_TEMPLATE_EXPORT MeshPenalty : public SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(MeshPenalty);
using Self = MeshPenalty;
using Superclass = SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet>;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(MeshPenalty, SingleValuedPointSetToPointSetMetric);
using typename Superclass::TransformType;
using typename Superclass::TransformPointer;
using typename Superclass::TransformParametersType;
using typename Superclass::TransformJacobianType;
using typename Superclass::MeasureType;
using typename Superclass::DerivativeType;
using typename Superclass::DerivativeValueType;
using typename Superclass::InputPointType;
using typename Superclass::OutputPointType;
using CoordRepType = typename InputPointType::CoordRepType;
using VnlVectorType = vnl_vector<CoordRepType>;
using FixedImagePointType = typename TransformType::InputPointType;
using MovingImagePointType = typename TransformType::OutputPointType;
using SpatialJacobianType = typename TransformType::SpatialJacobianType;
using typename Superclass::NonZeroJacobianIndicesType;
itkStaticConstMacro(FixedPointSetDimension, unsigned int, Superclass::FixedPointSetDimension);
using PointNormalType = Vector<typename TransformType::ScalarType, FixedPointSetDimension>;
using DummyMeshPixelType = unsigned char;
using MeshTraitsType =
DefaultStaticMeshTraits<PointNormalType, FixedPointSetDimension, FixedPointSetDimension, CoordRepType>;
using FixedMeshType = Mesh<PointNormalType, FixedPointSetDimension, MeshTraitsType>;
using FixedMeshConstPointer = typename FixedMeshType::ConstPointer;
using FixedMeshPointer = typename FixedMeshType::Pointer;
using CellInterfaceType = typename MeshTraitsType::CellType;
using MeshPointType = typename FixedMeshType::PointType;
using VectorType = typename FixedMeshType::PointType::VectorType;
using MeshPointsContainerType = typename FixedMeshType::PointsContainer;
using MeshPointsContainerPointer = typename MeshPointsContainerType::Pointer;
using MeshPointsContainerConstPointer = typename MeshPointsContainerType::ConstPointer;
using MeshPointsContainerConstIteratorType = typename FixedMeshType::PointsContainerConstIterator;
using MeshPointsContainerIteratorType = typename FixedMeshType::PointsContainerIterator;
using MeshPointDataContainerType = typename FixedMeshType::PointDataContainer;
using MeshPointDataContainerConstPointer = typename FixedMeshType::PointDataContainerConstPointer;
using MeshPointDataContainerPointer = typename FixedMeshType::PointDataContainerPointer;
// typedef typename FixedMeshType::PointDataContainerConstIterator MeshPointDataContainerConstIteratorType;
using MeshPointDataContainerConstIteratorType = typename FixedMeshType::PointDataContainerIterator;
using MeshPointDataContainerIteratorType = typename MeshPointDataContainerType::Iterator;
using MeshIdType = unsigned int;
using FixedMeshContainerType = VectorContainer<MeshIdType, FixedMeshConstPointer>;
using FixedMeshContainerPointer = typename FixedMeshContainerType::Pointer;
using FixedMeshContainerConstPointer = typename FixedMeshContainerType::ConstPointer;
using FixedMeshContainerElementIdentifier = typename FixedMeshContainerType::ElementIdentifier;
using MappedMeshContainerType = VectorContainer<MeshIdType, FixedMeshPointer>;
using MappedMeshContainerPointer = typename MappedMeshContainerType::Pointer;
using MappedMeshContainerConstPointer = typename MappedMeshContainerType::ConstPointer;
using MeshPointsDerivativeValueType = Array<DerivativeValueType>;
itkSetConstObjectMacro(FixedMeshContainer, FixedMeshContainerType);
itkGetConstObjectMacro(FixedMeshContainer, FixedMeshContainerType);
itkSetObjectMacro(MappedMeshContainer, MappedMeshContainerType);
itkGetModifiableObjectMacro(MappedMeshContainer, MappedMeshContainerType);
// itkGetObjectMacro( MappedPoints, MeshPointsContainerPointer );
// itkSetConstObjectMacro( FixedMesh, FixedMeshType );
// itkGetConstObjectMacro( FixedMesh, FixedMeshType );
// itkSetObjectMacro( Transform, TransformType );
// itkGetConstObjectMacro( Transform, TransformType );
// void SetTransformParameters( const ParametersType & parameters ) const;
// unsigned int GetNumberOfParameters() const
//{ return this->m_Transform->GetNumberOfParameters(); }
void
Initialize() override;
// \todo: currently not used
// itkSetConstObjectMacro( FixedImageMask, FixedImageMaskType );
// itkGetConstObjectMacro( FixedImageMask, FixedImageMaskType );
MeasureType
GetValue(const TransformParametersType & parameters) const override;
void
GetDerivative(const TransformParametersType & parameters, DerivativeType & Derivative) const override;
void
GetValueAndDerivative(const TransformParametersType & parameters,
MeasureType & Value,
DerivativeType & Derivative) const override;
protected:
MeshPenalty();
~MeshPenalty() override = default;
void
PrintSelf(std::ostream & os, Indent indent) const override;
mutable FixedMeshContainerConstPointer m_FixedMeshContainer{};
mutable MappedMeshContainerPointer m_MappedMeshContainer{};
};
} // end namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
# include "itkPolydataDummyPenalty.hxx"
#endif
#endif
int
itk::AdvancedTransform< CoordinateRepresentationType, Self::FixedPointSetDimension, Self::MovingPointSetDimension >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition itkAdvancedTransform.h:134
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MappedMeshContainerConstPointer
typename MappedMeshContainerType::ConstPointer MappedMeshContainerConstPointer
Definition itkPolydataDummyPenalty.h:117
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointType
typename FixedMeshType::PointType MeshPointType
Definition itkPolydataDummyPenalty.h:93
itk::MeshPenalty::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
itk::MeshPenalty::itkGetModifiableObjectMacro
itkGetModifiableObjectMacro(MappedMeshContainer, MappedMeshContainerType)
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MappedMeshContainerType
VectorContainer< MeshIdType, FixedMeshPointer > MappedMeshContainerType
Definition itkPolydataDummyPenalty.h:115
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsContainerConstPointer
typename MeshPointsContainerType::ConstPointer MeshPointsContainerConstPointer
Definition itkPolydataDummyPenalty.h:98
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::Superclass
SingleValuedPointSetToPointSetMetric< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass
Definition itkPolydataDummyPenalty.h:47
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::m_FixedMeshContainer
FixedMeshContainerConstPointer m_FixedMeshContainer
Definition itkPolydataDummyPenalty.h:185
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::Pointer
SmartPointer< Self > Pointer
Definition itkPolydataDummyPenalty.h:48
itk::MeshPenalty::~MeshPenalty
~MeshPenalty() override=default
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::VnlVectorType
vnl_vector< CoordRepType > VnlVectorType
Definition itkPolydataDummyPenalty.h:73
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsContainerIteratorType
typename FixedMeshType::PointsContainerIterator MeshPointsContainerIteratorType
Definition itkPolydataDummyPenalty.h:100
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedImagePointType
typename TransformType::InputPointType FixedImagePointType
Definition itkPolydataDummyPenalty.h:74
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshContainerType
VectorContainer< MeshIdType, FixedMeshConstPointer > FixedMeshContainerType
Definition itkPolydataDummyPenalty.h:110
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointDataContainerIteratorType
typename MeshPointDataContainerType::Iterator MeshPointDataContainerIteratorType
Definition itkPolydataDummyPenalty.h:107
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointDataContainerConstPointer
typename FixedMeshType::PointDataContainerConstPointer MeshPointDataContainerConstPointer
Definition itkPolydataDummyPenalty.h:103
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MovingImagePointType
typename TransformType::OutputPointType MovingImagePointType
Definition itkPolydataDummyPenalty.h:75
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsDerivativeValueType
Array< DerivativeValueType > MeshPointsDerivativeValueType
Definition itkPolydataDummyPenalty.h:119
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::SpatialJacobianType
typename TransformType::SpatialJacobianType SpatialJacobianType
Definition itkPolydataDummyPenalty.h:76
itk::MeshPenalty::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(MeshPenalty)
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::DummyMeshPixelType
unsigned char DummyMeshPixelType
Definition itkPolydataDummyPenalty.h:84
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsContainerPointer
typename MeshPointsContainerType::Pointer MeshPointsContainerPointer
Definition itkPolydataDummyPenalty.h:97
itk::MeshPenalty::GetValueAndDerivative
void GetValueAndDerivative(const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshContainerElementIdentifier
typename FixedMeshContainerType::ElementIdentifier FixedMeshContainerElementIdentifier
Definition itkPolydataDummyPenalty.h:113
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkPolydataDummyPenalty.h:49
itk::MeshPenalty::Initialize
void Initialize() override
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::m_MappedMeshContainer
MappedMeshContainerPointer m_MappedMeshContainer
Definition itkPolydataDummyPenalty.h:186
itk::MeshPenalty::itkStaticConstMacro
itkStaticConstMacro(FixedPointSetDimension, unsigned int, Superclass::FixedPointSetDimension)
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::PointNormalType
Vector< typename TransformType::ScalarType, FixedPointSetDimension > PointNormalType
Definition itkPolydataDummyPenalty.h:83
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::Self
MeshPenalty Self
Definition itkPolydataDummyPenalty.h:46
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointDataContainerPointer
typename FixedMeshType::PointDataContainerPointer MeshPointDataContainerPointer
Definition itkPolydataDummyPenalty.h:104
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsContainerConstIteratorType
typename FixedMeshType::PointsContainerConstIterator MeshPointsContainerConstIteratorType
Definition itkPolydataDummyPenalty.h:99
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshPointer
typename FixedMeshType::Pointer FixedMeshPointer
Definition itkPolydataDummyPenalty.h:90
itk::MeshPenalty::MeshPenalty
MeshPenalty()
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshTraitsType
DefaultStaticMeshTraits< PointNormalType, FixedPointSetDimension, FixedPointSetDimension, CoordRepType > MeshTraitsType
Definition itkPolydataDummyPenalty.h:85
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::VectorType
typename FixedMeshType::PointType::VectorType VectorType
Definition itkPolydataDummyPenalty.h:94
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::CoordRepType
typename InputPointType::CoordRepType CoordRepType
Definition itkPolydataDummyPenalty.h:72
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::TransformParametersType
typename TransformType::ParametersType TransformParametersType
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointDataContainerConstIteratorType
typename FixedMeshType::PointDataContainerIterator MeshPointDataContainerConstIteratorType
Definition itkPolydataDummyPenalty.h:106
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointDataContainerType
typename FixedMeshType::PointDataContainer MeshPointDataContainerType
Definition itkPolydataDummyPenalty.h:102
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshConstPointer
typename FixedMeshType::ConstPointer FixedMeshConstPointer
Definition itkPolydataDummyPenalty.h:89
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshContainerConstPointer
typename FixedMeshContainerType::ConstPointer FixedMeshContainerConstPointer
Definition itkPolydataDummyPenalty.h:112
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshPointsContainerType
typename FixedMeshType::PointsContainer MeshPointsContainerType
Definition itkPolydataDummyPenalty.h:96
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshType
Mesh< PointNormalType, FixedPointSetDimension, MeshTraitsType > FixedMeshType
Definition itkPolydataDummyPenalty.h:87
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MeshIdType
unsigned int MeshIdType
Definition itkPolydataDummyPenalty.h:109
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::CellInterfaceType
typename MeshTraitsType::CellType CellInterfaceType
Definition itkPolydataDummyPenalty.h:91
itk::MeshPenalty::GetDerivative
void GetDerivative(const TransformParametersType &parameters, DerivativeType &Derivative) const override
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::MappedMeshContainerPointer
typename MappedMeshContainerType::Pointer MappedMeshContainerPointer
Definition itkPolydataDummyPenalty.h:116
itk::MeshPenalty::GetValue
MeasureType GetValue(const TransformParametersType &parameters) const override
itk::MeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType >::FixedMeshContainerPointer
typename FixedMeshContainerType::Pointer FixedMeshContainerPointer
Definition itkPolydataDummyPenalty.h:111
itk::SingleValuedPointSetToPointSetMetric::NonZeroJacobianIndicesType
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition itkSingleValuedPointSetToPointSetMetric.h:115
itk::SingleValuedPointSetToPointSetMetric::InputPointType
typename TransformType::InputPointType InputPointType
Definition itkSingleValuedPointSetToPointSetMetric.h:96
itk::SingleValuedPointSetToPointSetMetric::TransformPointer
typename TransformType::Pointer TransformPointer
Definition itkSingleValuedPointSetToPointSetMetric.h:95
itk::SingleValuedPointSetToPointSetMetric::DerivativeValueType
typename DerivativeType::ValueType DerivativeValueType
Definition itkSingleValuedPointSetToPointSetMetric.h:111
itk::SingleValuedPointSetToPointSetMetric::SingleValuedPointSetToPointSetMetric
SingleValuedPointSetToPointSetMetric()=default
itk::SingleValuedPointSetToPointSetMetric::TransformType
AdvancedTransform< CoordinateRepresentationType, Self::FixedPointSetDimension, Self::MovingPointSetDimension > TransformType
Definition itkSingleValuedPointSetToPointSetMetric.h:93
itk::SingleValuedPointSetToPointSetMetric::TransformParametersType
typename TransformType::ParametersType TransformParametersType
Definition itkSingleValuedPointSetToPointSetMetric.h:98
itk::SingleValuedPointSetToPointSetMetric::TransformJacobianType
typename TransformType::JacobianType TransformJacobianType
Definition itkSingleValuedPointSetToPointSetMetric.h:99
itk::SingleValuedPointSetToPointSetMetric::OutputPointType
typename TransformType::OutputPointType OutputPointType
Definition itkSingleValuedPointSetToPointSetMetric.h:97
itkSingleValuedPointSetToPointSetMetric.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |