ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField > Class Template Reference

#include <itkMRIBiasFieldCorrectionFilter.h>

+ Inheritance diagram for itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >:
+ Collaboration diagram for itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >:

List of all members.

Public Types

typedef TBiasField BiasFieldType
typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef ImageType::PixelType ImageElementType
typedef ImageType::IndexType ImageIndexType
typedef ImageType::Pointer ImagePointer
typedef ImageType::RegionType ImageRegionType
typedef TImage ImageType
typedef CompositeValleyFunction InternalEnergyFunction
typedef MaskType::PixelType MaskElementType
typedef MaskType::Pointer MaskPointer
typedef TImageMask MaskType
typedef Superclass::MeasureType MeasureType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef unsigned int SamplingFactorType [SpaceDimension]
typedef MRIBiasEnergyFunction Self
typedef SingleValuedCostFunction Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
void GetDerivative (const ParametersType &, DerivativeType &) const
double GetEnergy0 (double diff)
virtual const char * GetNameOfClass () const
unsigned int GetNumberOfParameters (void) const
MeasureType GetValue (const ParametersType &parameters) const
void InitializeDistributions (Array< double > classMeans, Array< double > classSigmas)
void SetBiasField (BiasFieldType *bias)
virtual void SetImage (ImageType *_arg)
virtual void SetMask (MaskType *_arg)
virtual void SetRegion (ImageRegionType _arg)
void SetSamplingFactors (SamplingFactorType factor)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int SpaceDimension = 3

Protected Member Functions

 MRIBiasEnergyFunction ()
virtual ~MRIBiasEnergyFunction ()

Private Member Functions

 MRIBiasEnergyFunction (const Self &)
void operator= (const Self &)

Private Attributes

BiasFieldTypem_BiasField
ImagePointer m_Image
InternalEnergyFunctionm_InternalEnergyFunction
MaskPointer m_Mask
ImageRegionType m_Region
SamplingFactorType m_SamplingFactor

Detailed Description

template<class TImage, class TImageMask, class TBiasField>
class itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >

a cost function for optimization

This is a wrapping class which provides interfaces between images, the bias field, the internal energy function (CompositeValleyFunction), and the Optimizer.

This class is templated over the type of the input image (TImage), the image mask (which tells which pixels in the input image should be included for energy value calculation), and the bias field (TBiasField).

Definition at line 47 of file itkMRIBiasFieldCorrectionFilter.h.


Member Typedef Documentation

template<class TImage , class TImageMask , class TBiasField >
typedef TBiasField itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::BiasFieldType

Bias field type definition.

Definition at line 73 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef SmartPointer< const Self > itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ConstPointer

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 54 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef Superclass::DerivativeType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::DerivativeType

Not used, but expected by SingleValuedNonLinearOptimizer class.

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 80 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef ImageType::PixelType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageElementType

Definition at line 65 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef ImageType::IndexType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageIndexType

Definition at line 66 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef ImageType::Pointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImagePointer

Definition at line 64 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef ImageType::RegionType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageRegionType

Definition at line 67 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef TImage itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageType

Image related type definitions.

Definition at line 60 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef CompositeValleyFunction itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::InternalEnergyFunction

The type of the internal energy function.

Definition at line 88 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef MaskType::PixelType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskElementType

Definition at line 70 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef MaskType::Pointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskPointer

Definition at line 69 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef TImageMask itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskType

Definition at line 68 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef Superclass::MeasureType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MeasureType

The cost value type.

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 83 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef Superclass::ParametersType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ParametersType

Parameters type for optimizier (coefficients type for bias field estimate).

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 77 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef SmartPointer< Self > itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Pointer

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 53 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef unsigned int itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SamplingFactorType[SpaceDimension]

The type of the sampling factors

Definition at line 91 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef MRIBiasEnergyFunction itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Self

Standard class typedefs.

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 51 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
typedef SingleValuedCostFunction itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Superclass

Reimplemented from itk::SingleValuedCostFunction.

Definition at line 52 of file itkMRIBiasFieldCorrectionFilter.h.


Constructor & Destructor Documentation

template<class TImage , class TImageMask , class TBiasField >
itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MRIBiasEnergyFunction ( ) [protected]

Constructor:

template<class TImage , class TImageMask , class TBiasField >
virtual itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::~MRIBiasEnergyFunction ( ) [protected, virtual]

Destructor:

template<class TImage , class TImageMask , class TBiasField >
itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MRIBiasEnergyFunction ( const Self ) [private]

Member Function Documentation

template<class TImage , class TImageMask , class TBiasField >
virtual::itk::LightObject::Pointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TImage , class TImageMask , class TBiasField >
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetDerivative ( const ParametersType ,
DerivativeType  
) const [inline, virtual]

Dummy implementation to confirm to the SingleValuedCostFunction interfaces. It is pure virtual in the superclass

Implements itk::SingleValuedCostFunction.

Definition at line 130 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
double itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetEnergy0 ( double  diff) [inline]

Get an energy value for the intensity difference between a pixel and its corresponding bias.

Definition at line 119 of file itkMRIBiasFieldCorrectionFilter.h.

References itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_InternalEnergyFunction.

template<class TImage , class TImageMask , class TBiasField >
virtual const char* itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedCostFunction.

template<class TImage , class TImageMask , class TBiasField >
unsigned int itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetNumberOfParameters ( void  ) const [virtual]

Return the number of parameters required to compute this cost function. This method MUST be overloaded by derived classes.

Implements itk::CostFunction.

template<class TImage , class TImageMask , class TBiasField >
MeasureType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetValue ( const ParametersType parameters) const [virtual]

Gets the total energy value of an image or a slice using the given parameters.

Implements itk::SingleValuedCostFunction.

template<class TImage , class TImageMask , class TBiasField >
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::InitializeDistributions ( Array< double >  classMeans,
Array< double >  classSigmas 
)

Set Mean and Sigma for the normal distributions

Warning:
This method MUST be called before any attemp to evaluate the Function because it instantiate the internal energy function
template<class TImage , class TImageMask , class TBiasField >
static Pointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TImage , class TImageMask , class TBiasField >
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

Reimplemented from itk::SingleValuedCostFunction.

template<class TImage , class TImageMask , class TBiasField >
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SetBiasField ( BiasFieldType bias) [inline]
template<class TImage , class TImageMask , class TBiasField >
virtual void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SetImage ( ImageType _arg) [virtual]

Specify the input image.

template<class TImage , class TImageMask , class TBiasField >
virtual void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SetMask ( MaskType _arg) [virtual]

Specify the input mask image.

template<class TImage , class TImageMask , class TBiasField >
virtual void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SetRegion ( ImageRegionType  _arg) [virtual]

Set the image region which will be included for energy calculation.

template<class TImage , class TImageMask , class TBiasField >
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SetSamplingFactors ( SamplingFactorType  factor) [inline]

Sets the sampling factors of the energy function in each direction. Default is 1 in each dimension

Definition at line 108 of file itkMRIBiasFieldCorrectionFilter.h.

References itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_SamplingFactor, and itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SpaceDimension.


Member Data Documentation

template<class TImage , class TImageMask , class TBiasField >
BiasFieldType* itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_BiasField [private]
template<class TImage , class TImageMask , class TBiasField >
ImagePointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_Image [private]

Input image smart pointer.

Definition at line 155 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
InternalEnergyFunction* itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_InternalEnergyFunction [private]

Internal energy function object pointer.

Definition at line 164 of file itkMRIBiasFieldCorrectionFilter.h.

Referenced by itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::GetEnergy0().

template<class TImage , class TImageMask , class TBiasField >
MaskPointer itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_Mask [private]

Input mask image smart pointer.

Definition at line 158 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
ImageRegionType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_Region [private]

Region of interest.

Definition at line 161 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TImage , class TImageMask , class TBiasField >
SamplingFactorType itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::m_SamplingFactor [private]
template<class TImage , class TImageMask , class TBiasField >
const unsigned int itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SpaceDimension = 3 [static]

The documentation for this class was generated from the following file: