template<typename TFixedPointSet, typename TMovingPointSet = TFixedPointSet, class TInternalComputationValueType = double>
class itk::LabeledPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >
Computes the distance metric and gradient between two labeled point sets.
This class is generic in that it takes an unlabeled point set metric, such as one of the following options
where it is assumed that the point set PixelType
associated with each point is a label (i.e. LabelEnum
). This class is used to find the total metric and total derivative based on the matching between the separate fixed and moving labeled point sets. This class first determines the common label set between the fixed and moving point sets. For each common label, the specified unlabeled point set metric is cloned and the fixed and moving point subset associated with that common label is specified as the fixed and moving point set input. Functionality in the base class (PointSetToPointSetMetric
) is used to accumulated the value and gradient.
- Author
- Nick Tustison
Definition at line 55 of file itkLabeledPointSetToPointSetMetricv4.h.
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FixedPointSetPointer = typename FixedPointSetType::Pointer |
|
using | FixedPointSetType = TFixedPointSet |
|
using | LabelSetType = std::vector< LabelType > |
|
using | LabelType = typename Superclass::PixelType |
|
using | MovingPointSetPointer = typename MovingPointSetType::Pointer |
|
using | MovingPointSetType = TMovingPointSet |
|
using | Pointer = SmartPointer< Self > |
|
using | PointSetMetricPointer = typename PointSetMetricType::Pointer |
|
using | PointSetMetricType = Superclass |
|
using | Self = LabeledPointSetToPointSetMetricv4 |
|
using | Superclass = PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CoordinateType = typename PointType::CoordinateType |
|
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 = TMovingPointSet |
|
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, TMovingPointSet, TInternalComputationValueType > |
|
using | VirtualImageType = typename Superclass::VirtualImageType |
|
using | VirtualOriginType = typename Superclass::VirtualPointType |
|
using | VirtualRadiusType = typename Superclass::VirtualSizeType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CoordinateType = typename PointType::CoordinateType |
|
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 = TMovingPointSet |
|
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< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > |
|
using | VirtualImageType = typename Superclass::VirtualImageType |
|
using | VirtualOriginType = typename Superclass::VirtualPointType |
|
using | VirtualRadiusType = typename Superclass::VirtualSizeType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | CoordinateRepresentationType = TInternalComputationValueType |
|
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 | InternalComputationValueType = TInternalComputationValueType |
|
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< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension > ::ImageDimension, TMovingDimension > |
|
using | ObjectType = typename Superclass::Object |
|
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 | 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 = 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 | 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 |
|
|
MeasureType | GetLocalNeighborhoodValue (const PointType &, const LabelType &) const override |
|
void | GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &, const LabelType &) const override |
|
const char * | GetNameOfClass () const override |
|
void | Initialize () override |
|
|
virtual void | SetPointSetMetric (PointSetMetricType *_arg) |
|
virtual PointSetMetricType * | GetModifiablePointSetMetric () |
|
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) |
|
void | UpdateTransformParameters (const DerivativeType &derivative, TInternalComputationValueType factor) override |
|
bool | IsInsideVirtualDomain (const VirtualPointType &point) const |
|
bool | IsInsideVirtualDomain (const VirtualIndexType &index) const |
|
MeasureType | GetCurrentValue () const |
|
virtual GradientSourceEnum | GetGradientSource () const |
|
bool | GetGradientSourceIncludesFixed () const |
|
bool | GetGradientSourceIncludesMoving () const |
|
virtual void | SetGradientSource (GradientSourceEnum _arg) |
|
virtual const ObjectType * | GetFixedObject () const |
|
virtual const ObjectType * | GetMovingObject () const |
|
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 |
|
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 void | Delete () |
|
virtual int | GetReferenceCount () const |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
|
| LabeledPointSetToPointSetMetricv4 () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~LabeledPointSetToPointSetMetricv4 () override=default |
|
| PointSetToPointSetMetricv4 ()=default |
|
| ~PointSetToPointSetMetricv4 () override=default |
|
virtual SizeValueType | CalculateNumberOfValidFixedPoints () const |
|
void | CalculateValueAndDerivative (MeasureType &calculatedValue, DerivativeType &derivative, bool calculateValue) const |
|
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 () |
|
| ~ObjectToObjectMetricBaseTemplate () override=default |
|
| SingleValuedCostFunctionv4Template ()=default |
|
| ~SingleValuedCostFunctionv4Template () override=default |
|
| CostFunctionTemplate ()=default |
|
| ~CostFunctionTemplate () override=default |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
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 | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|