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 *cmd) 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) const |
|
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 () |
|