go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
elastix::BaseComponent Class Reference

#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 62 of file elxBaseComponent.h.

+ Inheritance diagram for elastix::BaseComponent:

Public Member Functions

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

Static Public Member Functions

static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
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 ( )
protecteddefault

◆ ~BaseComponent()

virtual elastix::BaseComponent::~BaseComponent ( )
protectedvirtualdefault

Member Function Documentation

◆ AfterEachIteration()

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

◆ AfterEachIterationBase()

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

◆ AfterEachResolution()

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

◆ AfterEachResolutionBase()

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

Reimplemented in elastix::ResamplerBase< TElastix >.

Definition at line 84 of file elxBaseComponent.h.

◆ AfterRegistration()

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

◆ AfterRegistrationBase()

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

◆ BeforeAll()

virtual int elastix::BaseComponent::BeforeAll ( void  )
inlinevirtual

◆ BeforeAllBase()

virtual int elastix::BaseComponent::BeforeAllBase ( void  )
inlinevirtual

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::MissingStructurePenalty< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::TransformBase< TElastix >, and elastix::ElastixBase.

Definition at line 73 of file elxBaseComponent.h.

◆ BeforeEachResolution()

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

Reimplemented in elastix::PreconditionedGradientDescent< TElastix >, elastix::FixedGenericPyramid< TElastix >, elastix::BSplineInterpolator< TElastix >, elastix::BSplineInterpolatorFloat< TElastix >, elastix::RayCastInterpolator< TElastix >, elastix::ReducedDimensionBSplineInterpolator< TElastix >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::AdvancedMeanSquaresMetric< TElastix >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, elastix::TransformBendingEnergyPenalty< TElastix >, elastix::GradientDifferenceMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, elastix::MutualInformationHistogramMetric< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::NormalizedMutualInformationMetric< TElastix >, elastix::PatternIntensityMetric< TElastix >, elastix::PCAMetric< TElastix >, elastix::PCAMetric2< TElastix >, elastix::TransformRigidityPenalty< TElastix >, elastix::StatisticalShapePenalty< TElastix >, elastix::SumOfPairwiseCorrelationCoefficientsMetric< TElastix >, elastix::SumSquaredTissueVolumeDifferenceMetric< TElastix >, elastix::VarianceOverLastDimensionMetric< TElastix >, elastix::ViolaWellsMutualInformationMetric< TElastix >, elastix::MovingGenericPyramid< TElastix >, elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, 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 >, elastix::StandardGradientDescent< TElastix >, elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistrationWithFeatures< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, and elastix::ElastixTemplate< TFixedImage, TMovingImage >.

Definition at line 95 of file elxBaseComponent.h.

◆ BeforeEachResolutionBase()

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

◆ BeforeRegistration()

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

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::OpenCLFixedGenericPyramid< TElastix >, elastix::OpenCLMovingGenericPyramid< TElastix >, elastix::PreconditionedGradientDescent< TElastix >, elastix::OpenCLResampler< TElastix >, elastix::RayCastInterpolator< TElastix >, elastix::AdvancedKappaStatisticMetric< TElastix >, elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >, elastix::DistancePreservingRigidityPenalty< TElastix >, elastix::GradientDifferenceMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, elastix::MissingStructurePenalty< TElastix >, elastix::MutualInformationHistogramMetric< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::PatternIntensityMetric< TElastix >, elastix::PolydataDummyPenalty< TElastix >, elastix::TransformRigidityPenalty< TElastix >, elastix::StatisticalShapePenalty< TElastix >, elastix::VarianceOverLastDimensionMetric< TElastix >, elastix::AdaGrad< TElastix >, elastix::AdaptiveStochasticGradientDescent< TElastix >, elastix::AdaptiveStochasticLBFGS< TElastix >, elastix::AdaptiveStochasticVarianceReducedGradient< TElastix >, elastix::CMAEvolutionStrategy< TElastix >, elastix::ConjugateGradient< TElastix >, elastix::ConjugateGradientFRPR< TElastix >, 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 >, elastix::StandardGradientDescent< TElastix >, elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistrationWithFeatures< TElastix >, elastix::BSplineResampleInterpolator< TElastix >, elastix::BSplineResampleInterpolatorFloat< TElastix >, elastix::RayCastResampleInterpolator< TElastix >, elastix::ReducedDimensionBSplineResampleInterpolator< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, elastix::TranslationTransformElastix< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, and elastix::ElastixTemplate< TFixedImage, TMovingImage >.

Definition at line 94 of file elxBaseComponent.h.

◆ BeforeRegistrationBase()

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

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::MovingImagePyramidBase< TElastix >, elastix::ResamplerBase< TElastix >, elastix::TransformBase< TElastix >, and elastix::ElastixBase.

Definition at line 82 of file elxBaseComponent.h.

◆ ConvertSecondsToDHMS()

static std::string elastix::BaseComponent::ConvertSecondsToDHMS ( const double  totalSeconds,
const unsigned int  precision 
)
static

Convenience function to convert seconds to day, hour, minute, second format.

◆ elxGetClassName()

virtual const char * elastix::BaseComponent::elxGetClassName ( void  ) 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 ( void  ) const

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

◆ InitializeElastixExecutable()

static void elastix::BaseComponent::InitializeElastixExecutable ( )
static

◆ IsElastixLibrary()

static bool elastix::BaseComponent::IsElastixLibrary ( )
static

◆ ITK_DISALLOW_COPY_AND_ASSIGN()

elastix::BaseComponent::ITK_DISALLOW_COPY_AND_ASSIGN ( 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 135 of file elxBaseComponent.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo