Loading...
Searching...
No Matches
elastix::BaseComponent Class Reference
Core » Install

`#include <elxBaseComponent.h>`

## Detailed Description

The BaseComponent class is a class that all elastix components should inherit from.

Most elastix component inherit both from an ITK class and from the elx::BaseComponent class. The BaseComponent class contains some methods that each component is supposed to have, but are not defined in itk::Object.

See also
  BaseComponentSE

Definition at line 53 of file elxBaseComponent.h.

Inheritance diagram for elastix::BaseComponent:
[legend]

## Public Member Functions

virtual void | AfterEachIteration ()
virtual void | AfterEachIterationBase ()
virtual void | AfterEachResolution ()
virtual void | AfterEachResolutionBase ()
virtual void | AfterRegistration ()
virtual void | AfterRegistrationBase ()
virtual int | BeforeAll ()
virtual int | BeforeAllBase ()
virtual void | BeforeEachResolution ()
virtual void | BeforeEachResolutionBase ()
virtual void | BeforeRegistration ()
virtual void | BeforeRegistrationBase ()
virtual const char * | elxGetClassName () const
const char * | GetComponentLabel () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
| itkTypeMacroNoParent (BaseComponent)
void | SetComponentLabel (const char *label, unsigned int idx)

## Static Public Member Functions

template<typename TBaseComponent>
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
static void | InitializeElastixExecutable ()
static bool | IsElastixLibrary ()

## Protected Member Functions

| BaseComponent ()=default
virtual | ~BaseComponent ()=default

## Private Attributes

std::string | m_ComponentLabel

## Constructor & Destructor Documentation

## BaseComponent()

elastix::BaseComponent::BaseComponent | ( |  | ) |

protected default

## ~BaseComponent()

virtual elastix::BaseComponent::~BaseComponent | ( |  | ) |

protected virtual default

## Member Function Documentation

## AfterEachIteration()

virtual void elastix::BaseComponent::AfterEachIteration | ( |  | ) |

inline virtual

Reimplemented in elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::FiniteDifferenceGradientDescent< TElastix >, elastix::FullSearch< TElastix >, elastix::MissingStructurePenalty< TElastix >, elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::Powell< TElastix >, elastix::PreconditionedStochasticGradientDescent< TElastix >, elastix::QuasiNewtonLBFGS< TElastix >, elastix::RegularStepGradientDescent< TElastix >, elastix::RSGDEachParameterApart< TElastix >, elastix::Simplex< TElastix >, elastix::SimultaneousPerturbation< TElastix >, elastix::StandardGradientDescent< TElastix >, and elastix::TransformRigidityPenalty< TElastix >.

Definition at line 113 of file elxBaseComponent.h.

## AfterEachIterationBase()

virtual void elastix::BaseComponent::AfterEachIterationBase | ( |  | ) |

inline virtual

Reimplemented in elastix::MetricBase< TElastix >, elastix::MetricBase< Self >, elastix::ResamplerBase< TElastix >, and elastix::ResamplerBase< Self >.

Definition at line 91 of file elxBaseComponent.h.

## AfterEachResolution()

virtual void elastix::BaseComponent::AfterEachResolution | ( |  | ) |

inline virtual

Reimplemented in elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::FiniteDifferenceGradientDescent< TElastix >, elastix::FullSearch< TElastix >, elastix::MissingStructurePenalty< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::Powell< TElastix >, elastix::PreconditionedStochasticGradientDescent< TElastix >, elastix::QuasiNewtonLBFGS< TElastix >, elastix::RegularStepGradientDescent< TElastix >, elastix::RSGDEachParameterApart< TElastix >, elastix::Simplex< TElastix >, elastix::SimultaneousPerturbation< TElastix >, and elastix::StandardGradientDescent< TElastix >.

Definition at line 110 of file elxBaseComponent.h.

## AfterEachResolutionBase()

virtual void elastix::BaseComponent::AfterEachResolutionBase | ( |  | ) |

inline virtual

Reimplemented in elastix::ResamplerBase< TElastix >, and elastix::ResamplerBase< Self >.

Definition at line 88 of file elxBaseComponent.h.

## AfterRegistration()

virtual void elastix::BaseComponent::AfterRegistration | ( |  | ) |

inline virtual

Reimplemented in elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::FiniteDifferenceGradientDescent< TElastix >, elastix::FullSearch< TElastix >, elastix::Powell< TElastix >, elastix::PreconditionedStochasticGradientDescent< TElastix >, elastix::QuasiNewtonLBFGS< TElastix >, elastix::RegularStepGradientDescent< TElastix >, elastix::RSGDEachParameterApart< TElastix >, elastix::Simplex< TElastix >, elastix::SimultaneousPerturbation< TElastix >, and elastix::StandardGradientDescent< TElastix >.

Definition at line 116 of file elxBaseComponent.h.

## AfterRegistrationBase()

virtual void elastix::BaseComponent::AfterRegistrationBase | ( |  | ) |

inline virtual

Reimplemented in elastix::OptimizerBase< TElastix >, elastix::OptimizerBase< Self >, elastix::ResamplerBase< TElastix >, elastix::ResamplerBase< Self >, elastix::TransformBase< TElastix >, elastix::TransformBase< elx::ElastixTemplate< TImage, TImage > >, and elastix::TransformBase< Self >.

Definition at line 94 of file elxBaseComponent.h.

## AsITKBaseType()

template<typename TBaseComponent>

auto elastix::BaseComponent::AsITKBaseType | ( | TBaseComponent *const | baseComponent | ) | ->decltype(baseComponent->GetAsITKBaseType())

inline static

Similar to dynamic_cast<ITKBaseType*>(baseComponent), but without using RTTI (run-time type information).

Definition at line 154 of file elxBaseComponent.h.

## BeforeAll()

virtual int elastix::BaseComponent::BeforeAll | ( |  | ) |

inline virtual

Reimplemented in elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::Configuration, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::EulerStackTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RayCastInterpolator< TElastix >, elastix::RayCastResampleInterpolator< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SplineKernelTransform< TElastix >, and elastix::TranslationStackTransform< TElastix >.

Definition at line 70 of file elxBaseComponent.h.

## BeforeAllBase()

virtual int elastix::BaseComponent::BeforeAllBase | ( |  | ) |

inline virtual

Callback methods that each component of elastix is supposed to have. These methods can be overridden in each base component (like MetricBase, TransformBase, etc.). In this way similar behavior for a group of components can be implemented.

Reimplemented in elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >, elastix::ElastixBase, elastix::MissingStructurePenalty< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::TransformBase< TElastix >, elastix::TransformBase< elx::ElastixTemplate< TImage, TImage > >, and elastix::TransformBase< Self >.

Definition at line 65 of file elxBaseComponent.h.

## BeforeEachResolution()

virtual void elastix::BaseComponent::BeforeEachResolution | ( |  | ) |

inline virtual

Reimplemented in elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::AdvancedMeanSquaresMetric< TElastix >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, elastix::BSplineInterpolator< TElastix >, elastix::BSplineInterpolatorFloat< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::FiniteDifferenceGradientDescent< TElastix >, elastix::FixedGenericPyramid< TElastix >, elastix::FullSearch< TElastix >, elastix::GradientDifferenceMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, elastix::MovingGenericPyramid< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistrationWithFeatures< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::NormalizedMutualInformationMetric< TElastix >, elastix::PatternIntensityMetric< TElastix >, elastix::PCAMetric2< TElastix >, elastix::PCAMetric< TElastix >, elastix::Powell< TElastix >, elastix::PreconditionedStochasticGradientDescent< TElastix >, elastix::QuasiNewtonLBFGS< TElastix >, elastix::RayCastInterpolator< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::ReducedDimensionBSplineInterpolator< TElastix >, elastix::RegularStepGradientDescent< TElastix >, elastix::RSGDEachParameterApart< TElastix >, elastix::Simplex< TElastix >, elastix::SimultaneousPerturbation< TElastix >, elastix::StandardGradientDescent< TElastix >, elastix::StatisticalShapePenalty< TElastix >, elastix::SumOfPairwiseCorrelationCoefficientsMetric< TElastix >, elastix::SumSquaredTissueVolumeDifferenceMetric< TElastix >, elastix::TransformRigidityPenalty< TElastix >, and elastix::VarianceOverLastDimensionMetric< TElastix >.

Definition at line 107 of file elxBaseComponent.h.

## BeforeEachResolutionBase()

virtual void elastix::BaseComponent::BeforeEachResolutionBase | ( |  | ) |

inline virtual

Reimplemented in elastix::FixedImagePyramidBase< TElastix >, elastix::FixedImagePyramidBase< Self >, elastix::ImageSamplerBase< TElastix >, elastix::MetricBase< TElastix >, elastix::MetricBase< Self >, elastix::MovingImagePyramidBase< TElastix >, elastix::MovingImagePyramidBase< Self >, elastix::OptimizerBase< TElastix >, and elastix::OptimizerBase< Self >.

Definition at line 85 of file elxBaseComponent.h.

## BeforeRegistration()

virtual void elastix::BaseComponent::BeforeRegistration | ( |  | ) |

inline virtual

Callback methods that each component of elastix is supposed to have. These methods can be overridden in each single component (like MattesMutualInformationMetric) to achieve behavior, specific for that single component.

Reimplemented in elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AdvancedKappaStatisticMetric< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineResampleInterpolator< TElastix >, elastix::BSplineResampleInterpolatorFloat< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >, elastix::DistancePreservingRigidityPenalty< TElastix >, elastix::ElastixTemplate< TFixedImage, TMovingImage >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::FiniteDifferenceGradientDescent< TElastix >, elastix::FullSearch< TElastix >, elastix::GradientDifferenceMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, elastix::MissingStructurePenalty< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistrationWithFeatures< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::OpenCLFixedGenericPyramid< TElastix >, elastix::OpenCLMovingGenericPyramid< TElastix >, elastix::OpenCLResampler< TElastix >, elastix::PatternIntensityMetric< TElastix >, elastix::PCAMetric2< TElastix >, elastix::PCAMetric< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::Powell< TElastix >, elastix::PreconditionedStochasticGradientDescent< TElastix >, elastix::QuasiNewtonLBFGS< TElastix >, elastix::RayCastInterpolator< TElastix >, elastix::RayCastResampleInterpolator< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::ReducedDimensionBSplineResampleInterpolator< TElastix >, elastix::RegularStepGradientDescent< TElastix >, elastix::RSGDEachParameterApart< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::Simplex< TElastix >, elastix::SimultaneousPerturbation< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::StandardGradientDescent< TElastix >, elastix::StatisticalShapePenalty< TElastix >, elastix::SumOfPairwiseCorrelationCoefficientsMetric< TElastix >, elastix::TransformRigidityPenalty< TElastix >, elastix::TranslationStackTransform< TElastix >, elastix::TranslationTransformElastix< TElastix >, elastix::VarianceOverLastDimensionMetric< TElastix >, and elastix::WeightedCombinationTransformElastix< TElastix >.

Definition at line 104 of file elxBaseComponent.h.

## BeforeRegistrationBase()

virtual void elastix::BaseComponent::BeforeRegistrationBase | ( |  | ) |

inline virtual

Callback methods that each component of elastix is supposed to have. These methods can be overridden in each base component (like MetricBase, TransformBase, etc.). In this way similar behavior for a group of components can be implemented.

Reimplemented in elastix::FixedImagePyramidBase< TElastix >, elastix::FixedImagePyramidBase< Self >, elastix::ImageSamplerBase< TElastix >, elastix::MovingImagePyramidBase< TElastix >, elastix::MovingImagePyramidBase< Self >, elastix::ResamplerBase< TElastix >, elastix::ResamplerBase< Self >, elastix::TransformBase< TElastix >, elastix::TransformBase< elx::ElastixTemplate< TImage, TImage > >, and elastix::TransformBase< Self >.

Definition at line 82 of file elxBaseComponent.h.

## elxGetClassName()

virtual const char * elastix::BaseComponent::elxGetClassName | ( |  | ) | const

virtual

The name of the component in the ComponentDatabase. Override this function not directly, but with the elxClassNameMacro("name").

## GetComponentLabel()

const char * elastix::BaseComponent::GetComponentLabel | ( |  | ) | const

Get the componentlabel as a string: "Metric0" for example.

## InitializeElastixExecutable()

void elastix::BaseComponent::InitializeElastixExecutable | ( |  | ) |

static

## IsElastixLibrary()

bool elastix::BaseComponent::IsElastixLibrary | ( |  | ) |

static

## ITK_DISALLOW_COPY_AND_MOVE()

elastix::BaseComponent::ITK_DISALLOW_COPY_AND_MOVE | ( | BaseComponent |  | ) |

## itkTypeMacroNoParent()

elastix::BaseComponent::itkTypeMacroNoParent | ( | BaseComponent |  | ) |

## SetComponentLabel()

void elastix::BaseComponent::SetComponentLabel | ( | const char * | label,
|  | unsigned int | idx )

Set the component label, which consists of a label ( "Metric", "Transform") and an index number. In case more metrics are used simultaneously each metric will have its own index number. This can be used when reading the parameter file for example, to distinguish between options meant for Metric0 and for Metric1.

## Field Documentation

## m_ComponentLabel

std::string elastix::BaseComponent::m_ComponentLabel

private

Definition at line 164 of file elxBaseComponent.h.

Generated on 1768596610 for elastix by 1.15.0 |