template<typename TElastix>
class elastix::ImpactMetric< TElastix >
A metric based on itk::ImpactImageToImageMetric.
This metric compares semantic features extracted from one or more pretrained TorchScript models applied to both the fixed and moving images. Feature vectors are compared using a configurable distance, such as L1, L2, NCC, Cosine, Dice, or L1Cosine.
Minimal Example
Example configuration for a single model and for one resolution 0:
(ImpactModelsPath0 "/Data/Models/TS/M291_1_Layers.pt")
(ImpactDimension0 3)
(ImpactNumberOfChannels0 1)
(ImpactPatchSize0 5 5 5)
(ImpactVoxelSize0 1.5 1.5 1.5)
(ImpactLayersMask0 "1")
(ImpactSubsetFeatures0 32)
(ImpactPCA0 0)
(ImpactDistance0 "L2")
(ImpactLayersWeight0 1)
(ImpactMode "Jacobian")
(ImpactGPU 0)
(ImpactUseMixedPrecision "true")
(ImpactFeaturesMapUpdateInterval -1)
(ImpactWriteFeatureMaps "false")
Parameter Descriptions
The following parameters can be configured independently for each resolution level, using the corresponding index (e.g., ImpactPatchSize0 for level 0, ImpactPatchSize1 for level 1, etc
- Parameters
-
| ImpactModelsPath | Path to TorchScript model used for feature extraction. |
| ImpactDimension | Defines the dimensionality of the input expected by the TorchScript model.
- 2 for 2D models (e.g., SAM2.1, DINOv2)
- 3 for 3D models (e.g., TotalSegmentator, Anatomix, MIND).
|
| ImpactNumberOfChannels | Specifies the number of channels in the input images for each model.
- 1 for grayscale medical images (e.g., TotalSegmentator, Anatomix, MIND)
- 3 for RGB-based models (e.g., SAM2.1, DINOv2)
|
| ImpactPatchSize | The size of the patch used for feature extraction.
- X Y Z for 3D models
- X Y for 2D models If not all dimensions are specified, the first value is used to fill in missing dimensions (e.g., 5 becomes 5 5
5 for 3D).
|
| ImpactVoxelSize | Defines the physical spacing of the voxels (in millimeters).
- X Y Z for 3D models
- X Y for 2D models Use consistent voxel sizes to avoid inconsistencies during image pyramid processing.
|
| ImpactLayersMask | Binary string indicating which output layers of the model to include in the similarity computation. Example: "00000001" selects only the last layer. |
| ImpactMode | Defines how features are computed:
- "Static": Features are computed once per image and resolution level.
- "Jacobian": Features are computed at each iteration with backpropagation through the model.
|
| ImpactSubsetFeatures | Number of feature channels randomly selected per voxel at each iteration. |
| ImpactLayersWeight | The relative importance of each layer in the similarity score. |
| ImpactGPU | Specifies the GPU device index, or -1 for CPU execution. |
| ImpactUseMixedPrecision | Enables or disables the use of mixed precision (float16 and float32). Recommended to be disabled on CPU. |
| ImpactPCA | Number of principal components to retain for dimensionality reduction. Set to 0 to disable. |
| ImpactDistance | Specifies the distance metric to compare feature vectors. Supported values: L1, L2, Cosine, L1Cosine, Dice, NCC, DotProduct. |
| ImpactFeaturesMapUpdateInterval | Controls how often feature maps are recomputed in "Static" mode.
- Set to -1 to compute once per resolution level.
- Set to a positive integer to recompute every N iterations.
|
| ImpactWriteFeatureMaps | Enables saving both the input images and feature maps to disk (in Static mode). |
Advanced Use: Multi-resolution and Multi-model Setup
IMPACT supports parallel use of multiple models and per-resolution customization. The following example illustrates the configuration for two resolution levels: level 0 and level 1
(ImpactModelsPath0 "/Data/Models/TS/M291_1_Layers.pt")
(ImpactModelsPath1 "/Data/Models/SAM/Tiny_2_Layers.pt")
(ImpactDimension0 3)
(ImpactDimension1 2)
(ImpactNumberOfChannels0 1)
(ImpactNumberOfChannels1 3)
(ImpactPatchSize0 5 5 5)
(ImpactPatchSize1 29 29 29)
(ImpactVoxelSize0 3 3 3)
(ImpactVoxelSize1 1.5 1.5 1.5)
(ImpactLayersMask0 "1")
(ImpactLayersMask1 "01")
(ImpactPCA0 0)
(ImpactPCA1 3)
(ImpactSubsetFeatures0 32)
(ImpactSubsetFeatures1 3)
(ImpactDistance0 "L2")
(ImpactDistance1 "L1")
(ImpactLayersWeight0 1)
(ImpactLayersWeight1 1)
(ImpactMode "Static" "Jacobian")
(ImpactGPU 0 0)
(ImpactUseMixedPrecision "true" "true")
(ImpactFeaturesMapUpdateInterval -1 -1)
(ImpactWriteFeatureMaps "false" "false")
Multi-model Setup: You can assign multiple models in parallel at a given resolution level by providing space-separated lists for each parameter. In the following example, a 3D model with 8 output layers and a 3D MIND model are both used at resolution level 0. Each entry in the lists corresponds to one of the two models
(ImpactModelsPath0 "/Models/M850_8_Layers.pt" "/Models/MIND/R1D2.pt")
(ImpactDimension0 3 3)
(ImpactNumberOfChannels0 1 1)
(ImpactPatchSize0 5 5 5 7 7 7)
(ImpactVoxelSize0 1.5 1.5 1.5 6 6 6)
(ImpactLayersMask0 "00000001" "1")
(ImpactPCA0 0 0)
(ImpactSubsetFeatures0 64 16)
(ImpactDistance0 "Dice" "L2")
(ImpactLayersWeight0 1.0 0.5)
Fixed and Moving-Specific Models: Assign different models to the fixed and moving images:
(FixedModelsPath0 "/Models/TS/M850_8_Layers.pt")
(MovingModelsPath0 "/Models/MIND/R1D2.pt")
This allows asymmetric model configurations for different image modalities or anatomical content.
- Author
- V. Boussot, Univ. Rennes, INSERM, LTSI- UMR 1099, F-35000 Rennes, France
- Note
- This work was funded by the French National Research Agency as part of the VATSop project (ANR-20-CE19-0015).
-
If you use the Impact anywhere we would appreciate if you cite the following article:
V. Boussot et al., IMPACT: A Generic Semantic Loss for Multimodal Medical Image Registration, arXiv preprint arXiv:2503.24121 (2025). https://doi.org/10.48550/arXiv.2503.24121
Definition at line 179 of file elxImpactMetric.h.
|
| using | ConstPointer = itk::SmartPointer<const Self> |
| using | ITKBaseType = typename Superclass2::ITKBaseType |
| using | Pointer = itk::SmartPointer<Self> |
| using | Self = ImpactMetric |
| using | Superclass1 |
| using | Superclass2 = MetricBase<TElastix> |
| using | ConstPointer = SmartPointer<const Self> |
| using | DerivativeValueType |
| using | FixedImageLimiterOutputType |
| using | FixedImageLimiterType |
| using | FixedImageMaskPointer |
| using | FixedImageMaskType |
| using | FixedImagePixelType |
| using | ImageSampleContainerPointer |
| using | ImageSampleContainerType |
| using | ImageSamplerPointer |
| using | ImageSamplerType |
| using | MovingImageDerivativeScalesType |
| using | MovingImageLimiterOutputType |
| using | MovingImageLimiterType |
| using | MovingImageMaskPointer |
| using | MovingImageMaskType |
| using | MovingImageRegionType |
| using | NumberOfParametersType |
| using | Pointer = SmartPointer<Self> |
| using | Self = ImpactImageToImageMetric |
| using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage> |
| using | ThreadInfoType |
| using | AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension> |
| using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
| using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1> |
| using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
| using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2> |
| using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
| using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
| using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
| using | ConstPointer = SmartPointer<const Self> |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
| using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
| using | FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension> |
| using | FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType> |
| using | FixedImageMaskPointer = SmartPointer<FixedImageMaskType> |
| using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension> |
| using | FixedImagePixelType = typename FixedImageType::PixelType |
| using | FixedImagePointer = typename FixedImageType::Pointer |
| using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
| using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
| using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
| using | ImageSamplerType = ImageSamplerBase<FixedImageType> |
| using | MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension> |
| using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
| using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
| using | MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension> |
| using | MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType> |
| using | MovingImageMaskPointer = SmartPointer<MovingImageMaskType> |
| using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension> |
| using | MovingImagePointer = typename MovingImageType::Pointer |
| using | MovingImageRegionType = typename MovingImageType::RegionType |
| using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
| using | Pointer = SmartPointer<Self> |
| using | ScalarType = typename TransformType::ScalarType |
| using | Self = AdvancedImageToImageMetric |
| using | Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
| using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
| using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
| using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
| using | ElastixType |
| using | FixedImageType = typename ElastixType::FixedImageType |
| using | FixedPointSetType |
| using | FixedPointType = typename FixedImageType::PointType |
| using | FixedPointValueType = typename FixedPointType::ValueType |
| using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
| using | ITKBaseType = itk::SingleValuedCostFunction |
| using | MeasureType = typename ITKBaseType::MeasureType |
| using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
| using | MovingImageType = typename ElastixType::MovingImageType |
| using | MovingPointSetType |
| using | MovingPointType = typename MovingImageType::PointType |
| using | MovingPointValueType = typename MovingPointType::ValueType |
| using | RegistrationType |
| using | Self = MetricBase |
| using | Superclass = BaseComponentSE<TElastix> |
| using | ElastixType = TElastix |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| using | Self = BaseComponentSE |
| using | Superclass = BaseComponent |
|
| void | AfterEachIteration () override |
| void | BeforeEachResolution () override |
| void | BeforeRegistration () override |
| | elxClassNameMacro ("Impact") |
| void | Initialize () override |
| | ITK_DISALLOW_COPY_AND_MOVE (ImpactMetric) |
| | itkOverrideGetNameOfClassMacro (ImpactMetric) |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| virtual const char * | GetClassName () const |
| virtual unsigned int | GetCurrentLevel () const |
| void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const override |
| virtual torch::Device | GetDevice () const |
| virtual std::vector< std::string > | GetDistance () const |
| virtual std::string | GetFeatureMapsPath () const |
| virtual int | GetFeaturesMapUpdateInterval () const |
| virtual const std::vector< ImpactModelConfiguration > & | GetFixedModelsConfiguration () |
| virtual std::vector< float > | GetLayersWeight () const |
| virtual std::string | GetMode () const |
| virtual const std::vector< ImpactModelConfiguration > & | GetMovingModelsConfiguration () |
| virtual std::vector< unsigned int > | GetPCA () const |
| virtual unsigned int | GetSeed () const |
| virtual std::vector< unsigned int > | GetSubsetFeatures () const |
| virtual bool | GetUseMixedPrecision () const |
| MeasureType | GetValue (const ParametersType ¶meters) const override |
| void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
| void | GetValueAndDerivativeSingleThreaded (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
| virtual MeasureType | GetValueSingleThreaded (const ParametersType ¶meters) const |
| virtual bool | GetWriteFeatureMaps () const |
| void | Initialize () override |
| | ITK_DISALLOW_COPY_AND_MOVE (ImpactImageToImageMetric) |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| virtual void | SetCurrentLevel (unsigned int _arg) |
| virtual void | SetDevice (torch::Device _arg) |
| virtual void | SetDistance (std::vector< std::string > _arg) |
| virtual void | SetFeatureMapsPath (std::string _arg) |
| virtual void | SetFeaturesMapUpdateInterval (int _arg) |
| virtual void | SetFixedModelsConfiguration (std::vector< ImpactModelConfiguration > _arg) |
| virtual void | SetLayersWeight (std::vector< float > _arg) |
| virtual void | SetMode (std::string _arg) |
| virtual void | SetMovingModelsConfiguration (std::vector< ImpactModelConfiguration > _arg) |
| virtual void | SetPCA (std::vector< unsigned int > _arg) |
| virtual void | SetSeed (unsigned int _arg) |
| virtual void | SetSubsetFeatures (std::vector< unsigned int > _arg) |
| virtual void | SetUseMixedPrecision (bool _arg) |
| virtual void | SetWriteFeatureMaps (bool _arg) |
| virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
| virtual const FixedImageLimiterType * | GetFixedImageLimiter () |
| const FixedImageMaskType * | GetFixedImageMask () const override |
| virtual double | GetFixedLimitRangeRatio () const |
| ImageSamplerType * | GetImageSampler () const |
| virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales () |
| virtual const MovingImageLimiterType * | GetMovingImageLimiter () |
| const MovingImageMaskType * | GetMovingImageMask () const override |
| virtual double | GetMovingLimitRangeRatio () const |
| virtual double | GetRequiredRatioOfValidSamples () const |
| virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const |
| const AdvancedTransformType * | GetTransform () const override |
| AdvancedTransformType * | GetTransform () override |
| virtual bool | GetUseFixedImageLimiter () const |
| virtual bool | GetUseImageSampler () const |
| virtual const bool & | GetUseMetricSingleThreaded () |
| virtual bool | GetUseMovingImageDerivativeScales () const |
| virtual bool | GetUseMovingImageLimiter () const |
| virtual const bool & | GetUseMultiThread () |
| void | Initialize () override |
| | ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric) |
| | itkOverrideGetNameOfClassMacro (AdvancedImageToImageMetric) |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension) |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension) |
| virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg) |
| virtual void | SetFixedImageMask (const FixedImageMaskType *const arg) |
| virtual void | SetFixedLimitRangeRatio (double _arg) |
| virtual void | SetImageSampler (ImageSamplerType *_arg) |
| virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg) |
| virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg) |
| virtual void | SetMovingImageMask (const MovingImageMaskType *const arg) |
| virtual void | SetMovingLimitRangeRatio (double _arg) |
| void | SetRandomVariateGenerator (Statistics::MersenneTwisterRandomVariateGenerator &randomVariateGenerator) |
| virtual void | SetRequiredRatioOfValidSamples (double _arg) |
| virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg) |
| virtual void | SetTransform (AdvancedTransformType *arg) |
| virtual void | SetUseMetricSingleThreaded (bool _arg) |
| virtual void | SetUseMovingImageDerivativeScales (bool _arg) |
| virtual void | SetUseMultiThread (bool _arg) |
| virtual void | UseMetricSingleThreadedOff () |
| virtual void | UseMetricSingleThreadedOn () |
| virtual void | UseMultiThreadOff () |
| virtual void | UseMultiThreadOn () |
| void | AfterEachIterationBase () override |
| void | BeforeEachResolutionBase () override |
| void | BeforeRegistrationBase () override |
| virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
| virtual bool | GetAdvancedMetricUseImageSampler () const |
| ITKBaseType * | GetAsITKBaseType () |
| const ITKBaseType * | GetAsITKBaseType () const |
| virtual MeasureType | GetCurrentExactMetricValue () const |
| virtual bool | GetShowExactMetricValue () const |
| | ITK_DISALLOW_COPY_AND_MOVE (MetricBase) |
| | itkOverrideGetNameOfClassMacro (MetricBase) |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| virtual void | SelectNewSamples () |
| virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
| void | AddTargetCellToIterationInfo (const char *const name) |
| const Configuration * | GetConfiguration () const |
| ElastixType * | GetElastix () const |
| auto & | GetIterationInfoAt (const char *const name) |
| itk::Statistics::MersenneTwisterRandomVariateGenerator & | GetRandomVariateGenerator () |
| RegistrationType * | GetRegistration () const |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
| void | RemoveTargetCellFromIterationInfo (const char *const name) |
| void | SetConfiguration (const Configuration *_arg) |
| void | SetElastix (ElastixType *_arg) |
| virtual void | AfterEachResolution () |
| virtual void | AfterEachResolutionBase () |
| virtual void | AfterRegistration () |
| virtual void | AfterRegistrationBase () |
| virtual int | BeforeAll () |
| virtual int | BeforeAllBase () |
| virtual const char * | elxGetClassName () const |
| const char * | GetComponentLabel () const |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) |
| | itkVirtualGetNameOfClassMacro (BaseComponent) |
| void | SetComponentLabel (const char *label, unsigned int idx) |
|
| | ImpactMetric ()=default |
| | ~ImpactMetric () override=default |
| void | AfterThreadedGetValue (MeasureType &value) const override |
| void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override |
| unsigned int | ComputeValue (const std::vector< FixedImagePointType > &fixedPoints, LossPerThreadStruct &loss) const |
| unsigned int | ComputeValueAndDerivativeJacobian (const std::vector< FixedImagePointType > &fixedPoints, LossPerThreadStruct &loss) const |
| unsigned int | ComputeValueAndDerivativeStatic (const std::vector< FixedImagePointType > &fixedPoints, LossPerThreadStruct &loss) const |
| unsigned int | ComputeValueStatic (const std::vector< FixedImagePointType > &fixedPoints, LossPerThreadStruct &loss) const |
| | ImpactImageToImageMetric () |
| void | InitializeThreadingParameters () const override |
| bool | SampleCheck (const FixedImagePointType &fixedImageCenterCoordinate) const |
| bool | SampleCheck (const FixedImagePointType &fixedImageCenterCoordinate, const std::vector< std::vector< float > > &patchIndex) const |
| void | ThreadedGetValue (ThreadIdType threadID) const override |
| void | ThreadedGetValueAndDerivative (ThreadIdType threadID) const override |
| void | UpdateFixedFeaturesMaps () |
| void | UpdateMovingFeaturesMaps () |
| | ~ImpactImageToImageMetric () override=default |
| | AdvancedImageToImageMetric () |
| void | CheckForAdvancedTransform () |
| void | CheckForBSplineInterpolator () |
| void | CheckForBSplineTransform () const |
| void | CheckNumberOfSamples () const |
| virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
| bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
| virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
| bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
| Statistics::MersenneTwisterRandomVariateGenerator & | GetMutableRandomVariateGenerator () const |
| Statistics::MersenneTwisterRandomVariateGenerator & | GetRandomVariateGenerator () |
| virtual void | InitializeImageSampler () |
| void | InitializeLimiters () |
| virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
| | itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) |
| | itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) |
| void | LaunchGetValueAndDerivativeThreaderCallback () const |
| void | LaunchGetValueThreaderCallback () const |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
| void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
| void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
| void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
| virtual void | SetUseFixedImageLimiter (bool _arg) |
| virtual void | SetUseImageSampler (bool _arg) |
| virtual void | SetUseMovingImageLimiter (bool _arg) |
| MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
| | ~AdvancedImageToImageMetric () override=default |
| virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
| | MetricBase ()=default |
| | ~MetricBase () override=default |
| | BaseComponentSE ()=default |
| | ~BaseComponentSE () override=default |
| | BaseComponent ()=default |
| virtual | ~BaseComponent ()=default |