template<typename TFixedPointSet, typename TMovingPointSet = TFixedPointSet, class TInternalComputationValueType = double>
class itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >
Computes an expectation-based metric between two point sets.
This information-theoretic point set measure models each point set as a sum of Gaussians. To speed up computation, evaluation of the local value/derivative is done in a user-specified neighborhood using the k-d tree constructed in the superclass.
Reference: Pluta J, Avants BB, Glynn S, Awate S, Gee JC, Detre JA, "Appearance and incomplete label matching for diffeomorphic template
"based hippocampus segmentation", Hippocampus, 2009 Jun; 19(6):565-71.
Definition at line 45 of file itkExpectationBasedPointSetToPointSetMetricv4.h.
|
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordRepType = typename Superclass::CoordRepType |
| |
| using | DerivativeType = typename Superclass::DerivativeType |
| |
| using | LocalDerivativeType = typename Superclass::LocalDerivativeType |
| |
| using | MeasureType = typename Superclass::MeasureType |
| |
| using | NeighborsIdentifierType = typename Superclass::NeighborsIdentifierType |
| |
| using | PixelType = typename Superclass::PixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | PointIdentifier = typename Superclass::PointIdentifier |
| |
| using | PointType = typename Superclass::PointType |
| |
| using | Self = ExpectationBasedPointSetToPointSetMetricv4 |
| |
| using | Superclass = PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordRepType = typename PointType::CoordRepType |
| |
| using | DerivativeType = typename Superclass::DerivativeType |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | DimensionType = typename Superclass::DimensionType |
| |
| using | DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
| |
| using | FixedInputPointType = typename Superclass::FixedInputPointType |
| |
| using | FixedOutputPointType = typename Superclass::FixedOutputPointType |
| |
| using | FixedPixelType = typename TFixedPointSet::PixelType |
| |
| using | FixedPointsContainer = typename TFixedPointSet::PointsContainer |
| |
| using | FixedPointSetType = TFixedPointSet |
| |
| using | FixedPointType = typename TFixedPointSet::PointType |
| |
| using | FixedTransformedPointSetType = PointSet< FixedPixelType, Self::PointDimension > |
| |
| using | FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType |
| |
| using | FixedTransformParametersType = typename Superclass::FixedTransformParametersType |
| |
| using | FixedTransformPointer = typename Superclass::FixedTransformPointer |
| |
| using | FixedTransformType = typename Superclass::FixedTransformType |
| |
| using | JacobianType = typename Superclass::JacobianType |
| |
| using | LocalDerivativeType = FixedArray< DerivativeValueType, Self::PointDimension > |
| |
| using | MeasureType = typename Superclass::MeasureType |
| |
| using | MovingInputPointType = typename Superclass::MovingInputPointType |
| |
| using | MovingOutputPointType = typename Superclass::MovingOutputPointType |
| |
| using | MovingPixelType = typename TMovingPointSet::PixelType |
| |
| using | MovingPointsContainer = typename TMovingPointSet::PointsContainer |
| |
| using | MovingPointSetType = TMovingPointSet |
| |
| using | MovingPointType = typename TMovingPointSet::PointType |
| |
| using | MovingTransformedPointSetType = PointSet< MovingPixelType, Self::PointDimension > |
| |
| using | MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType |
| |
| using | MovingTransformParametersType = typename Superclass::MovingTransformParametersType |
| |
| using | MovingTransformPointer = typename Superclass::MovingTransformPointer |
| |
| using | MovingTransformType = typename Superclass::MovingTransformType |
| |
| using | NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
| |
| using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
| |
| using | ObjectType = typename Superclass::ObjectType |
| |
| using | ParametersType = typename Superclass::ParametersType |
| |
| using | ParametersValueType = typename Superclass::ParametersValueType |
| |
| using | PixelType = FixedPixelType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | PointIdentifier = typename PointsContainer::ElementIdentifier |
| |
| using | PointsConstIterator = typename PointsContainer::ConstIterator |
| |
| using | PointsContainer = FixedPointsContainer |
| |
| using | PointsLocatorType = PointsLocator< PointsContainer > |
| |
| using | PointType = FixedPointType |
| |
| using | Self = PointSetToPointSetMetricv4 |
| |
| using | Superclass = ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > |
| |
| using | VirtualDirectionType = typename Superclass::VirtualDirectionType |
| |
| using | VirtualImagePointer = typename Superclass::VirtualImagePointer |
| |
| using | VirtualImageType = typename Superclass::VirtualImageType |
| |
| using | VirtualIndexType = typename Superclass::VirtualIndexType |
| |
| using | VirtualOriginType = typename Superclass::VirtualPointType |
| |
| using | VirtualPixelType = typename Superclass::VirtualPixelType |
| |
| using | VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer |
| |
| using | VirtualPointSetType = typename Superclass::VirtualPointSetType |
| |
| using | VirtualPointType = typename Superclass::VirtualPointType |
| |
| using | VirtualRadiusType = typename Superclass::VirtualSizeType |
| |
| using | VirtualRegionType = typename Superclass::VirtualRegionType |
| |
| using | VirtualSizeType = typename Superclass::VirtualSizeType |
| |
| using | VirtualSpacingType = typename Superclass::VirtualSpacingType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordinateRepresentationType = TInternalComputationValueType |
| |
| using | DerivativeType = typename Superclass::DerivativeType |
| |
| using | DerivativeValueType = typename Superclass::DerivativeValueType |
| |
| using | DimensionType = SizeValueType |
| |
| using | FixedInputPointType = typename FixedTransformType::InputPointType |
| |
| using | FixedOutputPointType = typename FixedTransformType::OutputPointType |
| |
| using | FixedTransformJacobianType = typename FixedTransformType::JacobianType |
| |
| using | FixedTransformParametersType = typename FixedTransformType::ParametersType |
| |
| using | FixedTransformPointer = typename FixedTransformType::Pointer |
| |
| using | FixedTransformType = Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TFixedDimension > |
| |
| using | GradientSourceType = typename Superclass::GradientSourceType |
| |
| using | InternalComputationValueType = TInternalComputationValueType |
| |
| using | JacobianType = typename FixedTransformType::JacobianType |
| |
| using | MeasureType = typename Superclass::MeasureType |
| |
| using | MetricCategoryType = typename Superclass::MetricCategoryType |
| |
| using | MovingDisplacementFieldTransformType = DisplacementFieldTransform< CoordinateRepresentationType, Self::MovingDimension > |
| |
| using | MovingInputPointType = typename MovingTransformType::InputPointType |
| |
| using | MovingOutputPointType = typename MovingTransformType::OutputPointType |
| |
| using | MovingTransformJacobianType = typename MovingTransformType::JacobianType |
| |
| using | MovingTransformParametersType = typename MovingTransformType::ParametersType |
| |
| using | MovingTransformPointer = typename MovingTransformType::Pointer |
| |
| using | MovingTransformType = Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TMovingDimension > |
| |
| using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
| |
| using | ObjectType = typename Superclass::Object |
| |
| using | ParametersType = typename Superclass::ParametersType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ObjectToObjectMetric |
| |
| using | Superclass = ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > |
| |
| using | VirtualDirectionType = typename VirtualImageType::DirectionType |
| |
| using | VirtualImageConstPointer = typename VirtualImageType::ConstPointer |
| |
| using | VirtualImagePointer = typename VirtualImageType::Pointer |
| |
| using | VirtualImageType = Image< TInternalComputationValueType, TFixedPointSet::PointDimension > |
| |
| using | VirtualIndexType = typename VirtualImageType::IndexType |
| |
| using | VirtualOriginType = typename VirtualImageType::PointType |
| |
| using | VirtualPixelType = typename VirtualImageType::PixelType |
| |
| using | VirtualPointSetPointer = typename VirtualPointSetType::Pointer |
| |
| using | VirtualPointSetType = PointSet< VirtualPixelType, Self::VirtualDimension > |
| |
| using | VirtualPointType = typename VirtualImageType::PointType |
| |
| using | VirtualRadiusType = typename VirtualImageType::SizeType |
| |
| using | VirtualRegionType = typename VirtualImageType::RegionType |
| |
| using | VirtualSizeType = typename VirtualRegionType::SizeType |
| |
| using | VirtualSpacingType = typename VirtualImageType::SpacingType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordinateRepresentationType = TInternalComputationValueType |
| |
| using | DerivativeType = typename Superclass::DerivativeType |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| enum | GradientSourceType {
GRADIENT_SOURCE_FIXED =0,
GRADIENT_SOURCE_MOVING,
GRADIENT_SOURCE_BOTH
} |
| |
| using | MeasureType = typename Superclass::MeasureType |
| |
| enum | MetricCategoryType {
UNKNOWN_METRIC = 0,
OBJECT_METRIC = 1,
IMAGE_METRIC = 2,
POINT_SET_METRIC = 3,
MULTI_METRIC = 4
} |
| |
| using | NumberOfParametersType = unsigned int |
| |
| using | ObjectConstPointer = typename ObjectType::ConstPointer |
| |
| using | ObjectType = Object |
| |
| using | ParametersType = typename Superclass::ParametersType |
| |
| using | ParametersValueType = TInternalComputationValueType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ObjectToObjectMetricBaseTemplate |
| |
| using | Superclass = SingleValuedCostFunctionv4Template< TInternalComputationValueType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DerivativeType = Array< TInternalComputationValueType > |
| |
| using | MeasureType = TInternalComputationValueType |
| |
| using | ParametersType = typename Superclass::ParametersType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = SingleValuedCostFunctionv4Template |
| |
| using | Superclass = CostFunctionTemplate< TInternalComputationValueType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | ParametersType = OptimizerParameters< TInternalComputationValueType > |
| |
| using | ParametersValueType = TInternalComputationValueType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = CostFunctionTemplate |
| |
| using | Superclass = Object |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = Object |
| |
| using | Superclass = LightObject |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = LightObject |
| |
|
| virtual unsigned int | GetEvaluationKNeighborhood () const |
| |
| MeasureType | GetLocalNeighborhoodValue (const PointType &, const PixelType &pixel=0) const override |
| |
| void | GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &, const PixelType &pixel=0) const override |
| |
| virtual const char * | GetNameOfClass () const |
| |
| virtual CoordRepType | GetPointSetSigma () const |
| |
| void | Initialize () override |
| |
| LightObject::Pointer | InternalClone () const override |
| |
| virtual void | SetEvaluationKNeighborhood (unsigned int _arg) |
| |
| virtual void | SetPointSetSigma (CoordRepType _arg) |
| |
| void | GetDerivative (DerivativeType &) const override |
| |
virtual const
FixedTransformedPointSetType * | GetFixedTransformedPointSet () const |
| |
| virtual LocalDerivativeType | GetLocalNeighborhoodDerivative (const PointType &, const PixelType &pixel) const |
| |
| virtual MeasureType | GetLocalNeighborhoodValue (const PointType &, const PixelType &pixel) const =0 |
| |
| virtual void | GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &, const PixelType &pixel) const =0 |
| |
virtual
FixedTransformedPointSetType * | GetModifiableFixedTransformedPointSet () |
| |
virtual
MovingTransformedPointSetType * | GetModifiableMovingTransformedPointSet () |
| |
virtual const
MovingTransformedPointSetType * | GetMovingTransformedPointSet () const |
| |
| SizeValueType | GetNumberOfComponents () const |
| |
| MeasureType | GetValue () const override |
| |
| void | GetValueAndDerivative (MeasureType &, DerivativeType &) const override |
| |
| const VirtualPointSetType * | GetVirtualTransformedPointSet () const |
| |
| void | Initialize () override |
| |
| bool | SupportsArbitraryVirtualDomainSamples () const override |
| |
| void | SetFixedObject (const ObjectType *object) override |
| |
| void | SetMovingObject (const ObjectType *object) override |
| |
| virtual void | SetFixedPointSet (const FixedPointSetType *_arg) |
| |
| virtual const FixedPointSetType * | GetFixedPointSet () const |
| |
| virtual void | SetMovingPointSet (const MovingPointSetType *_arg) |
| |
| virtual const MovingPointSetType * | GetMovingPointSet () const |
| |
| virtual void | SetStoreDerivativeAsSparseFieldForLocalSupportTransforms (bool _arg) |
| |
| virtual bool | GetStoreDerivativeAsSparseFieldForLocalSupportTransforms () const |
| |
| virtual void | StoreDerivativeAsSparseFieldForLocalSupportTransformsOn () |
| |
| virtual void | StoreDerivativeAsSparseFieldForLocalSupportTransformsOff () |
| |
| virtual void | SetCalculateValueAndDerivativeInTangentSpace (bool _arg) |
| |
| virtual bool | GetCalculateValueAndDerivativeInTangentSpace () const |
| |
| virtual void | CalculateValueAndDerivativeInTangentSpaceOn () |
| |
| virtual void | CalculateValueAndDerivativeInTangentSpaceOff () |
| |
| OffsetValueType | ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const |
| |
| OffsetValueType | ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const |
| |
| virtual const FixedTransformType * | GetFixedTransform () const |
| |
| MetricCategoryType | GetMetricCategory () const override |
| |
| virtual FixedTransformType * | GetModifiableFixedTransform () |
| |
| virtual MovingTransformType * | GetModifiableMovingTransform () |
| |
| virtual VirtualImageType * | GetModifiableVirtualImage () |
| |
| virtual const MovingTransformType * | GetMovingTransform () const |
| |
| NumberOfParametersType | GetNumberOfLocalParameters () const override |
| |
| NumberOfParametersType | GetNumberOfParameters () const override |
| |
| virtual SizeValueType | GetNumberOfValidPoints () const |
| |
| const ParametersType & | GetParameters () const override |
| |
| const MovingTransformType * | GetTransform () |
| |
| VirtualDirectionType | GetVirtualDirection () const |
| |
| virtual const TimeStamp & | GetVirtualDomainTimeStamp () const |
| |
| virtual const VirtualImageType * | GetVirtualImage () const |
| |
| VirtualOriginType | GetVirtualOrigin () const |
| |
| const VirtualRegionType & | GetVirtualRegion () const |
| |
| VirtualSpacingType | GetVirtualSpacing () const |
| |
| bool | HasLocalSupport () const override |
| |
| void | Initialize () override |
| |
| virtual void | SetFixedTransform (FixedTransformType *_arg) |
| |
| virtual void | SetMovingTransform (MovingTransformType *_arg) |
| |
| void | SetParameters (ParametersType ¶ms) override |
| |
| void | SetTransform (MovingTransformType *transform) |
| |
| void | SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType ®ion) |
| |
| void | SetVirtualDomainFromImage (const VirtualImageType *virtualImage) |
| |
| void | UpdateTransformParameters (const DerivativeType &derivative, TInternalComputationValueTypefactor) override |
| |
| bool | IsInsideVirtualDomain (const VirtualPointType &point) const |
| |
| bool | IsInsideVirtualDomain (const VirtualIndexType &index) const |
| |
| MeasureType | GetCurrentValue () const |
| |
| virtual GradientSourceType | GetGradientSource () const |
| |
| bool | GetGradientSourceIncludesFixed () const |
| |
| bool | GetGradientSourceIncludesMoving () const |
| |
| virtual void | SetGradientSource (GradientSourceType _arg) |
| |
| virtual const ObjectType * | GetFixedObject () const |
| |
| virtual const ObjectType * | GetMovingObject () const |
| |
| virtual void | GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0 |
| |
| unsigned long | AddObserver (const EventObject &event, Command *) |
| |
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| |
| LightObject::Pointer | CreateAnother () const override |
| |
| virtual void | DebugOff () const |
| |
| virtual void | DebugOn () const |
| |
| Command * | GetCommand (unsigned long tag) |
| |
| bool | GetDebug () const |
| |
| MetaDataDictionary & | GetMetaDataDictionary () |
| |
| const MetaDataDictionary & | GetMetaDataDictionary () const |
| |
| virtual ModifiedTimeType | GetMTime () const |
| |
| virtual const TimeStamp & | GetTimeStamp () const |
| |
| bool | HasObserver (const EventObject &event) const |
| |
| void | InvokeEvent (const EventObject &) |
| |
| void | InvokeEvent (const EventObject &) const |
| |
| virtual void | Modified () const |
| |
| void | Register () const override |
| |
| void | RemoveAllObservers () |
| |
| void | RemoveObserver (unsigned long tag) |
| |
| void | SetDebug (bool debugFlag) const |
| |
| void | SetReferenceCount (int) override |
| |
| void | UnRegister () const noexceptoverride |
| |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| |
| virtual void | SetObjectName (std::string _arg) |
| |
| virtual const std::string & | GetObjectName () const |
| |
| virtual void | Delete () |
| |
| virtual int | GetReferenceCount () const |
| |
| | itkCloneMacro (Self) |
| |
| void | Print (std::ostream &os, Indent indent=0) const |
| |