Go to the documentation of this file.
18 #ifndef __itkStatisticalShapePointPenalty_h
19 #define __itkStatisticalShapePointPenalty_h
24 #include "itkPointSet.h"
27 #include <itkVariableSizeMatrix.h>
29 #include <vnl/vnl_matrix.h>
30 #include <vnl/vnl_math.h>
31 #include <vnl/vnl_vector.h>
32 #include <vnl/algo/vnl_real_eigensystem.h>
33 #include <vnl/algo/vnl_symmetric_eigensystem.h>
35 #include <vnl/algo/vnl_svd_economy.h>
37 #include <vcl_iostream.h>
56 template<
class TFixedPo
intSet,
class TMovingPo
intSet >
123 itkSetMacro( ShrinkageIntensityNeedsUpdate,
bool );
124 itkBooleanMacro( ShrinkageIntensityNeedsUpdate );
128 -1.0, NumericTraits< MeasureType >::max() );
131 itkSetMacro( BaseVarianceNeedsUpdate,
bool );
132 itkBooleanMacro( BaseVarianceNeedsUpdate );
135 -1.0, NumericTraits< MeasureType >::max() );
139 -1.0, NumericTraits< MeasureType >::max() );
143 -1.0, NumericTraits< MeasureType >::max() );
147 -1.0, NumericTraits< MeasureType >::max() );
150 itkSetMacro( VariancesNeedsUpdate,
bool );
151 itkBooleanMacro( VariancesNeedsUpdate );
154 0.0, NumericTraits< MeasureType >::max() );
158 NumericTraits< MeasureType >::NonpositiveMin(), NumericTraits< MeasureType >::max() );
161 itkSetMacro( ShapeModelCalculation,
int );
162 itkGetConstReferenceMacro( ShapeModelCalculation,
int );
164 itkSetMacro( NormalizedShapeModel,
bool );
165 itkGetConstReferenceMacro( NormalizedShapeModel,
bool );
166 itkBooleanMacro( NormalizedShapeModel );
180 void PrintSelf( std::ostream & os, Indent indent )
const;
188 const unsigned int vertexindex )
const;
191 const unsigned int vertexindex )
const;
194 const unsigned int shapeLength )
const;
197 const unsigned int shapeLength )
const;
199 void UpdateL2(
const unsigned int shapeLength )
const;
210 const VnlVectorType & eigrot,
const unsigned int shapeLength )
const;
215 typename DerivativeType::element_type & derivativeElement,
257 #ifndef ITK_MANUAL_INSTANTIATION
258 #include "itkStatisticalShapePointPenalty.hxx"
const VnlMatrixType * m_CovarianceMatrix
Superclass::DerivativeValueType DerivativeValueType
OutputPointType::CoordRepType CoordRepType
SmartPointer< const Self > ConstPointer
VnlVectorType m_MeanValues
void CalculateDerivative(DerivativeType &derivative, const MeasureType &value, const VnlVectorType &differenceVector, const VnlVectorType ¢errotated, const VnlVectorType &eigrot, const unsigned int shapeLength) const
Superclass::TransformParametersType TransformParametersType
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const
StatisticalShapePointPenalty Self
void CalculateValue(MeasureType &value, VnlVectorType &differenceVector, VnlVectorType ¢errotated, VnlVectorType &eigrot) const
Computes the Mahalanobis distance between the transformed shape and a mean shape. A model mean and co...
unsigned int m_ProposalLength
TransformType::ParametersType TransformParametersType
bool m_NormalizedShapeModel
SmartPointer< Self > Pointer
void NormalizeProposalVector(const unsigned int shapeLength) const
Superclass::TransformJacobianType TransformJacobianType
SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet > Superclass
TransformType::Pointer TransformPointer
Computes similarity between two point sets.
Superclass::MovingPointSetConstPointer MovingPointSetConstPointer
bool m_VariancesNeedsUpdate
Superclass::InputPointType InputPointType
VnlMatrixType * m_InverseCovarianceMatrix
TransformType::OutputPointType OutputPointType
double m_ShrinkageIntensity
void UpdateCentroidAndAlignProposalDerivative(const unsigned int shapeLength) const
FixedPointSetType::PointDataContainer::ConstIterator PointDataIterator
Superclass::MeasureType MeasureType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &Derivative) const
Superclass::FixedPointSetType FixedPointSetType
StatisticalShapePointPenalty()
double m_CentroidXVariance
void PrintSelf(std::ostream &os, Indent indent) const
void FillProposalDerivative(const OutputPointType &fixedPoint, const unsigned int vertexindex) const
vnl_matrix< CoordRepType > VnlMatrixType
Superclass::OutputPointType OutputPointType
std::vector< VnlVectorType * > ProposalDerivativeType
Superclass::TransformPointer TransformPointer
vnl_svd_economy< CoordRepType > PCACovarianceType
Superclass::FixedPointSetConstPointer FixedPointSetConstPointer
const VnlVectorType * m_MeanVector
FixedPointSetType::PointsContainer::ConstIterator PointIterator
Superclass::MeasureType MeasureType
DerivativeType::ValueType DerivativeValueType
TMovingPointSet MovingPointSetType
const VnlVectorType * m_EigenValues
void FillProposalVector(const OutputPointType &fixedPoint, const unsigned int vertexindex) const
Superclass::PointDataIterator PointDataIterator
int m_ShapeModelCalculation
FixedPointSetType::ConstPointer FixedPointSetConstPointer
MovingPointSetType::ConstPointer MovingPointSetConstPointer
TransformType::InputPointType InputPointType
TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
void UpdateCentroidAndAlignProposalVector(const unsigned int shapeLength) const
void UpdateL2AndNormalizeProposalDerivative(const unsigned int shapeLength) const
Superclass::DerivativeType DerivativeType
Superclass::TransformType TransformType
void CalculateCutOffValue(MeasureType &value) const
void operator=(const Self &)
StatisticalShapePointPenalty(const Self &)
double m_CentroidYVariance
Superclass::DerivativeType DerivativeType
VnlVectorType m_ProposalVector
vnl_vector< CoordRepType > VnlVectorType
bool m_ShrinkageIntensityNeedsUpdate
MeasureType GetValue(const TransformParametersType ¶meters) const
ProposalDerivativeType * m_ProposalDerivative
bool m_BaseVarianceNeedsUpdate
double m_CentroidZVariance
TFixedPointSet FixedPointSetType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
const VnlMatrixType * m_EigenVectors
virtual ~StatisticalShapePointPenalty()
AdvancedTransform< CoordinateRepresentationType, itkGetStaticConstMacro(FixedPointSetDimension), itkGetStaticConstMacro(MovingPointSetDimension) > TransformType
VnlVectorType * m_EigenValuesRegularized
void CalculateCutOffDerivative(typename DerivativeType::element_type &derivativeElement, const MeasureType &value) const
TransformType::JacobianType TransformJacobianType
Superclass::PointIterator PointIterator
Superclass::MovingPointSetType MovingPointSetType
void UpdateL2(const unsigned int shapeLength) const
Generated on OURCE_DATE_EPOCH for elastix by 1.8.18 |
|