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 46 of file itkExpectationBasedPointSetToPointSetMetricv4.h.
|
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ExpectationBasedPointSetToPointSetMetricv4 |
| |
| using | Superclass = PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordRepType = typename PointType::CoordRepType |
| |
| using | DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
| |
| using | FixedPixelType = typename TFixedPointSet::PixelType |
| |
| using | FixedPointsContainer = typename TFixedPointSet::PointsContainer |
| |
| using | FixedPointSetType = TFixedPointSet |
| |
| using | FixedPointType = typename TFixedPointSet::PointType |
| |
| using | MovingPixelType = typename TMovingPointSet::PixelType |
| |
| using | MovingPointsContainer = typename TMovingPointSet::PointsContainer |
| |
| using | MovingPointSetType = TFixedPointSet |
| |
| using | MovingPointType = typename TMovingPointSet::PointType |
| |
| using | NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | PointsConstIterator = typename PointsContainer::ConstIterator |
| |
| using | PointsContainer = FixedPointsContainer |
| |
| using | Self = PointSetToPointSetMetricv4 |
| |
| using | Superclass = PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double > |
| |
| using | VirtualImageType = typename Superclass::VirtualImageType |
| |
| using | VirtualOriginType = typename Superclass::VirtualPointType |
| |
| using | VirtualRadiusType = typename Superclass::VirtualSizeType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordRepType = typename PointType::CoordRepType |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
| |
| 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 | LocalDerivativeType = FixedArray< DerivativeValueType, Self::PointDimension > |
| |
| using | MovingPixelType = typename TMovingPointSet::PixelType |
| |
| using | MovingPointsContainer = typename TMovingPointSet::PointsContainer |
| |
| using | MovingPointSetType = TFixedPointSet |
| |
| using | MovingPointType = typename TMovingPointSet::PointType |
| |
| using | MovingTransformedPointSetType = PointSet< MovingPixelType, Self::PointDimension > |
| |
| using | NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
| |
| using | ObjectType = typename Superclass::ObjectType |
| |
| 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 = PointSetToPointSetMetricWithIndexv4 |
| |
| using | Superclass = ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< double, TFixedPointSet::PointDimension >, double > |
| |
| using | VirtualImageType = typename Superclass::VirtualImageType |
| |
| using | VirtualOriginType = typename Superclass::VirtualPointType |
| |
| using | VirtualRadiusType = typename Superclass::VirtualSizeType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordinateRepresentationType = double |
| |
| 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< double, TVirtualImage::ImageDimension, TFixedDimension > |
| |
| using | InternalComputationValueType = double |
| |
| using | JacobianType = typename FixedTransformType::JacobianType |
| |
| using | MetricCategoryType = typename Superclass::MetricCategoryEnum |
| |
| 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< double, TVirtualImage::ImageDimension, TMovingDimension > |
| |
| using | ObjectType = typename Superclass::Object |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ObjectToObjectMetric |
| |
| using | Superclass = ObjectToObjectMetricBaseTemplate< double > |
| |
| using | VirtualDirectionType = typename VirtualImageType::DirectionType |
| |
| using | VirtualImageConstPointer = typename VirtualImageType::ConstPointer |
| |
| using | VirtualImagePointer = typename VirtualImageType::Pointer |
| |
| using | VirtualImageType = Image< double, 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 = double |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | GradientSourceEnum = itk::ObjectToObjectMetricBaseTemplateEnums::GradientSource |
| |
| using | MetricCategoryEnum = itk::ObjectToObjectMetricBaseTemplateEnums::MetricCategory |
| |
| using | NumberOfParametersType = unsigned int |
| |
| using | ObjectConstPointer = typename ObjectType::ConstPointer |
| |
| using | ObjectType = Object |
| |
| using | ParametersValueType = double |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = ObjectToObjectMetricBaseTemplate |
| |
| using | Superclass = SingleValuedCostFunctionv4Template< double > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | DerivativeType = Array< double > |
| |
| using | MeasureType = double |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = SingleValuedCostFunctionv4Template |
| |
| using | Superclass = CostFunctionTemplate< double > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | ParametersType = OptimizerParameters< double > |
| |
| using | ParametersValueType = double |
| |
| 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 |
| |
| const char * | GetNameOfClass () const override |
| |
| virtual CoordRepType | GetPointSetSigma () const |
| |
| void | Initialize () override |
| |
| LightObject::Pointer | InternalClone () const override |
| |
| virtual void | SetEvaluationKNeighborhood (unsigned int _arg) |
| |
| virtual void | SetPointSetSigma (CoordRepType _arg) |
| |
| 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 |
| |
| const char * | GetNameOfClass () const override |
| |
| void | GetDerivative (DerivativeType &) const override |
| |
| virtual FixedTransformedPointSetType * | GetModifiableFixedTransformedPointSet () |
| |
| virtual MovingTransformedPointSetType * | GetModifiableMovingTransformedPointSet () |
| |
| const char * | GetNameOfClass () const override |
| |
| 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 | SetCalculateValueAndDerivativeInTangentSpace (bool _arg) |
| |
| virtual bool | GetCalculateValueAndDerivativeInTangentSpace () const |
| |
| virtual void | CalculateValueAndDerivativeInTangentSpaceOn () |
| |
| OffsetValueType | ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const |
| |
| OffsetValueType | ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const |
| |
| MetricCategoryType | GetMetricCategory () const override |
| |
| virtual FixedTransformType * | GetModifiableFixedTransform () |
| |
| virtual MovingTransformType * | GetModifiableMovingTransform () |
| |
| virtual VirtualImageType * | GetModifiableVirtualImage () |
| |
| const char * | GetNameOfClass () const override |
| |
| 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 |
| |
| 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) |
| |
| virtual bool | SupportsArbitraryVirtualDomainSamples () const=0 |
| |
| void | UpdateTransformParameters (const DerivativeType &derivative, double factor) override |
| |
| bool | IsInsideVirtualDomain (const VirtualPointType &point) const |
| |
| bool | IsInsideVirtualDomain (const VirtualIndexType &index) const |
| |
| MeasureType | GetCurrentValue () const |
| |
| virtual void | GetDerivative (DerivativeType &) const=0 |
| |
| virtual GradientSourceEnum | GetGradientSource () const |
| |
| bool | GetGradientSourceIncludesFixed () const |
| |
| bool | GetGradientSourceIncludesMoving () const |
| |
| virtual MetricCategoryEnum | GetMetricCategory () const |
| |
| const char * | GetNameOfClass () const override |
| |
| virtual const ParametersType & | GetParameters () const=0 |
| |
| MeasureType | GetValue () const override=0 |
| |
| void | GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override=0 |
| |
| virtual bool | HasLocalSupport () const=0 |
| |
| virtual void | Initialize ()=0 |
| |
| virtual void | SetGradientSource (GradientSourceEnum _arg) |
| |
| virtual void | SetParameters (ParametersType ¶ms)=0 |
| |
| virtual void | UpdateTransformParameters (const DerivativeType &derivative, ParametersValueType factor=NumericTraits< ParametersValueType >::OneValue())=0 |
| |
| virtual void | SetFixedObject (const ObjectType *_arg) |
| |
| virtual const ObjectType * | GetFixedObject () const |
| |
| virtual void | SetMovingObject (const ObjectType *_arg) |
| |
| virtual const ObjectType * | GetMovingObject () const |
| |
| const char * | GetNameOfClass () const override |
| |
| virtual MeasureType | GetValue () const=0 |
| |
| virtual void | GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const=0 |
| |
| const char * | GetNameOfClass () const override |
| |
| virtual unsigned int | GetNumberOfParameters () const=0 |
| |
| unsigned long | AddObserver (const EventObject &event, Command *) |
| |
| unsigned long | AddObserver (const EventObject &event, Command *) const |
| |
| unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) 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 |
| |
| const char * | GetNameOfClass () const override |
| |
| 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 noexcept override |
| |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| |
| virtual void | SetObjectName (std::string _arg) |
| |
| virtual const std::string & | GetObjectName () const |
| |
| Pointer | Clone () const |
| |
| virtual Pointer | CreateAnother () const |
| |
| virtual void | Delete () |
| |
| virtual const char * | GetNameOfClass () const |
| |
| virtual int | GetReferenceCount () const |
| |
| void | Print (std::ostream &os, Indent indent=0) const |
| |
| virtual void | Register () const |
| |
| virtual void | SetReferenceCount (int) |
| |
| virtual void | UnRegister () const noexcept |
| |
|
| | ExpectationBasedPointSetToPointSetMetricv4 () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| bool | RequiresFixedPointsLocator () const override |
| |
| | ~ExpectationBasedPointSetToPointSetMetricv4 () override=default |
| |
| | PointSetToPointSetMetricv4 ()=default |
| |
| | ~PointSetToPointSetMetricv4 () override=default |
| |
| virtual SizeValueType | CalculateNumberOfValidFixedPoints () const |
| |
| void | CalculateValueAndDerivative (MeasureType &calculatedValue, DerivativeType &derivative, bool calculateValue) const |
| |
| virtual LocalDerivativeType | GetLocalNeighborhoodDerivativeWithIndex (const PointIdentifier &, const PointType &, const PixelType &pixel) const |
| |
| virtual void | GetLocalNeighborhoodValueAndDerivativeWithIndex (const PointIdentifier &, const PointType &, MeasureType &, LocalDerivativeType &, const PixelType &pixel) const=0 |
| |
| virtual MeasureType | GetLocalNeighborhoodValueWithIndex (const PointIdentifier &, const PointType &, const PixelType &pixel) const=0 |
| |
| MetricCategoryType | GetMetricCategory () const override |
| |
| virtual void | InitializeForIteration () const |
| |
| virtual void | InitializePointSets () const |
| |
| void | InitializePointsLocators () const |
| |
| | PointSetToPointSetMetricWithIndexv4 () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| virtual bool | RequiresFixedPointsLocator () const |
| |
| virtual bool | RequiresMovingPointsLocator () const |
| |
| void | StorePointDerivative (const VirtualPointType &, const DerivativeType &, DerivativeType &) const |
| |
| void | TransformFixedAndCreateVirtualPointSet () const |
| |
| void | TransformMovingPointSet () const |
| |
| | ~PointSetToPointSetMetricWithIndexv4 () override=default |
| |
| const MovingDisplacementFieldTransformType * | GetMovingDisplacementFieldTransform () const |
| |
| | ObjectToObjectMetric () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| bool | TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const |
| |
| void | TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const |
| |
| virtual void | VerifyDisplacementFieldSizeAndPhysicalSpace () |
| |
| bool | VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const |
| |
| | ~ObjectToObjectMetric () override=default |
| |
| | ObjectToObjectMetricBaseTemplate () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~ObjectToObjectMetricBaseTemplate () override=default |
| |
| | SingleValuedCostFunctionv4Template ()=default |
| |
| | ~SingleValuedCostFunctionv4Template () override=default |
| |
| | CostFunctionTemplate ()=default |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~CostFunctionTemplate () override=default |
| |
| | Object () |
| |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
| |
| | ~Object () override |
| |
| virtual LightObject::Pointer | InternalClone () const |
| |
| | LightObject () |
| |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintSelf (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| |
| virtual | ~LightObject () |
| |