ITK
6.0.0
Insight Toolkit
|
#include <itkWarpHarmonicEnergyCalculator.h>
Compute the harmonic energy of a deformation field.
This class computes the harmonic energy of a deformation field which is a measure inversely related to the smoothness of the deformation field.
This implementation was taken from the Insight Journal paper: https://doi.org/10.54294/ux2obj
Definition at line 45 of file itkWarpHarmonicEnergyCalculator.h.
Public Types | |
using | ConstNeighborhoodIteratorType = ConstNeighborhoodIterator< ImageType > |
using | ConstPointer = SmartPointer< const Self > |
using | ImageConstPointer = typename TInputImage::ConstPointer |
using | ImagePointer = typename TInputImage::Pointer |
using | ImageType = TInputImage |
using | IndexType = typename TInputImage::IndexType |
using | PixelType = typename TInputImage::PixelType |
using | Pointer = SmartPointer< Self > |
using | RadiusType = typename ConstNeighborhoodIteratorType::RadiusType |
using | RegionType = typename TInputImage::RegionType |
using | Self = WarpHarmonicEnergyCalculator |
using | Superclass = Object |
using | WeightsType = FixedArray< double, ImageDimension > |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Public Member Functions | |
void | Compute () |
virtual double | GetHarmonicEnergy () const |
const char * | GetNameOfClass () const override |
virtual void | SetImage (const ImageType *_arg) |
void | SetRegion (const RegionType ®ion) |
void | SetUseImageSpacing (bool) |
virtual bool | GetUseImageSpacing () const |
virtual void | UseImageSpacingOn () |
virtual void | SetDerivativeWeights (WeightsType _arg) |
virtual const WeightsType & | GetDerivativeWeights () const |
Public Member Functions inherited from itk::Object | |
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 |
Public Member Functions inherited from itk::LightObject | |
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 |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | VectorDimension = PixelType::Dimension |
Protected Member Functions | |
double | EvaluateAtNeighborhood (ConstNeighborhoodIteratorType &it) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
WarpHarmonicEnergyCalculator () | |
~WarpHarmonicEnergyCalculator () override=default | |
virtual const RadiusType & | GetNeighborhoodRadius () const |
virtual void | SetNeighborhoodRadius (RadiusType _arg) |
Protected Member Functions inherited from itk::Object | |
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 | |
Protected Member Functions inherited from itk::LightObject | |
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 () |
Private Attributes | |
WeightsType | m_DerivativeWeights {} |
double | m_HarmonicEnergy { 0.0 } |
ImageConstPointer | m_Image {} |
RadiusType | m_NeighborhoodRadius {} |
RegionType | m_Region {} |
bool | m_RegionSetByUser { false } |
bool | m_UseImageSpacing { true } |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::WarpHarmonicEnergyCalculator< TInputImage >::ConstNeighborhoodIteratorType = ConstNeighborhoodIterator<ImageType> |
Type of the iterator that will be used to move through the image. Also the type which will be passed to the evaluate function
Definition at line 88 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 54 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::ImageConstPointer = typename TInputImage::ConstPointer |
Const Pointer type for the image.
Definition at line 69 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::ImagePointer = typename TInputImage::Pointer |
Pointer type for the image.
Definition at line 66 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::ImageType = TInputImage |
Type definition for the input image.
Definition at line 63 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::IndexType = typename TInputImage::IndexType |
Type definition for the input image index type.
Definition at line 75 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::PixelType = typename TInputImage::PixelType |
Type definition for the input image pixel type.
Definition at line 72 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::Pointer = SmartPointer<Self> |
Definition at line 53 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::RadiusType = typename ConstNeighborhoodIteratorType::RadiusType |
Definition at line 89 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::RegionType = typename TInputImage::RegionType |
Type definition for the input image region type.
Definition at line 78 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::Self = WarpHarmonicEnergyCalculator |
Standard class type aliases.
Definition at line 51 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::Superclass = Object |
Definition at line 52 of file itkWarpHarmonicEnergyCalculator.h.
using itk::WarpHarmonicEnergyCalculator< TInputImage >::WeightsType = FixedArray<double, ImageDimension> |
Definition at line 106 of file itkWarpHarmonicEnergyCalculator.h.
|
protected |
|
overrideprotecteddefault |
void itk::WarpHarmonicEnergyCalculator< TInputImage >::Compute | ( | ) |
Compute the minimum and maximum values of intensity of the input image.
|
protected |
|
virtual |
Set/Get the array of weights used to scale partial derivatives in the gradient calculations. Note that calling UseImageSpacingOn will clobber these values.
|
virtual |
Return the smoothness value.
|
overridevirtual |
Reimplemented from itk::Object.
|
protectedvirtual |
Get/Set the neighborhood radius used for gradient computation
|
virtual |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. When set to "On", the derivative weights according to the spacing of the input image (1/spacing). Use this option if you want to calculate the Jacobian determinant in the space in which the data was acquired. Setting the value to "Off" resets the derivative weights to ignore image spacing. Use this option if you want to calculate the Jacobian determinant in the image space. Default value is "On".
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::Object.
|
virtual |
Set/Get the array of weights used to scale partial derivatives in the gradient calculations. Note that calling UseImageSpacingOn will clobber these values.
|
virtual |
Set the input image.
|
protectedvirtual |
Get/Set the neighborhood radius used for gradient computation
void itk::WarpHarmonicEnergyCalculator< TInputImage >::SetRegion | ( | const RegionType & | region | ) |
Set the region over which the values will be computed
void itk::WarpHarmonicEnergyCalculator< TInputImage >::SetUseImageSpacing | ( | bool | ) |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. When set to "On", the derivative weights according to the spacing of the input image (1/spacing). Use this option if you want to calculate the Jacobian determinant in the space in which the data was acquired. Setting the value to "Off" resets the derivative weights to ignore image spacing. Use this option if you want to calculate the Jacobian determinant in the image space. Default value is "On".
|
virtual |
Set/Get whether or not the filter will use the spacing of the input image in its calculations. When set to "On", the derivative weights according to the spacing of the input image (1/spacing). Use this option if you want to calculate the Jacobian determinant in the space in which the data was acquired. Setting the value to "Off" resets the derivative weights to ignore image spacing. Use this option if you want to calculate the Jacobian determinant in the image space. Default value is "On".
|
staticconstexpr |
The dimensionality of the input image.
Definition at line 81 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 152 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 144 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 145 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 154 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 147 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 148 of file itkWarpHarmonicEnergyCalculator.h.
|
private |
Definition at line 150 of file itkWarpHarmonicEnergyCalculator.h.
|
staticconstexpr |
Length of the vector pixel type of the input image.
Definition at line 84 of file itkWarpHarmonicEnergyCalculator.h.