ITK
6.0.0
Insight Toolkit
|
#include <itkMRIBiasFieldCorrectionFilter.h>
Represents a cost function for MRI bias field correction 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 51 of file itkMRIBiasFieldCorrectionFilter.h.
Public Types | |
using | BiasFieldType = TBiasField |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Superclass::DerivativeType |
using | ImageElementType = typename ImageType::PixelType |
using | ImageIndexType = typename ImageType::IndexType |
using | ImagePointer = typename ImageType::Pointer |
using | ImageRegionType = typename ImageType::RegionType |
using | ImageType = TImage |
using | InternalEnergyFunction = CompositeValleyFunction |
using | MaskElementType = typename MaskType::PixelType |
using | MaskPointer = typename MaskType::Pointer |
using | MaskType = TImageMask |
using | MeasureType = Superclass::MeasureType |
using | Pointer = SmartPointer< Self > |
using | SamplingFactorType = unsigned int[SpaceDimension] |
using | Self = MRIBiasEnergyFunction |
using | Superclass = SingleValuedCostFunction |
Public Types inherited from itk::SingleValuedCostFunction | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | MeasureType = double |
using | ParametersType = Superclass::ParametersType |
using | ParametersValueType = Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = SingleValuedCostFunction |
using | Superclass = CostFunction |
Public Types inherited from itk::CostFunctionTemplate< double > | |
using | ConstPointer = SmartPointer< const Self > |
using | ParametersType = OptimizerParameters< double > |
using | ParametersValueType = double |
using | Pointer = SmartPointer< Self > |
using | Self = CostFunctionTemplate |
using | Superclass = Object |
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 | GetDerivative (const ParametersType &, DerivativeType &) const override |
double | GetEnergy0 (double diff) |
const char * | GetNameOfClass () const override |
unsigned int | GetNumberOfParameters () const override |
MeasureType | GetValue (const ParametersType ¶meters) const override |
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 (const SamplingFactorType factor) |
Public Member Functions inherited from itk::SingleValuedCostFunction | |
virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
const char * | GetNameOfClass () const override |
virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
Public Member Functions inherited from itk::CostFunctionTemplate< double > | |
const char * | GetNameOfClass () const override |
virtual unsigned int | GetNumberOfParameters () const=0 |
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 | SpaceDimension = 3 |
Protected Member Functions | |
MRIBiasEnergyFunction () | |
~MRIBiasEnergyFunction () override=default | |
Protected Member Functions inherited from itk::SingleValuedCostFunction | |
SingleValuedCostFunction ()=default | |
~SingleValuedCostFunction () override | |
Protected Member Functions inherited from itk::CostFunctionTemplate< double > | |
CostFunctionTemplate ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~CostFunctionTemplate () override=default | |
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 | |
BiasFieldType * | m_BiasField {} |
ImagePointer | m_Image {} |
std::unique_ptr< InternalEnergyFunction > | m_InternalEnergyFunction |
MaskPointer | m_Mask {} |
ImageRegionType | m_Region {} |
SamplingFactorType | m_SamplingFactor {} |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::BiasFieldType = TBiasField |
Bias field type definition.
Definition at line 79 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ConstPointer = SmartPointer<const Self> |
Definition at line 60 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::DerivativeType = Superclass::DerivativeType |
Not used, but expected by SingleValuedNonLinearOptimizer class.
Definition at line 86 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageElementType = typename ImageType::PixelType |
Definition at line 71 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageIndexType = typename ImageType::IndexType |
Definition at line 72 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImagePointer = typename ImageType::Pointer |
Definition at line 70 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageRegionType = typename ImageType::RegionType |
Definition at line 73 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::ImageType = TImage |
Image related type definitions.
Definition at line 69 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::InternalEnergyFunction = CompositeValleyFunction |
The type of the internal energy function.
Definition at line 94 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskElementType = typename MaskType::PixelType |
Definition at line 76 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskPointer = typename MaskType::Pointer |
Definition at line 75 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MaskType = TImageMask |
Definition at line 74 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::MeasureType = Superclass::MeasureType |
The cost value type.
Definition at line 89 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Pointer = SmartPointer<Self> |
Definition at line 59 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::SamplingFactorType = unsigned int[SpaceDimension] |
The type of the sampling factors.
Definition at line 97 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Self = MRIBiasEnergyFunction |
Standard class type aliases.
Definition at line 57 of file itkMRIBiasFieldCorrectionFilter.h.
using itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::Superclass = SingleValuedCostFunction |
Definition at line 58 of file itkMRIBiasFieldCorrectionFilter.h.
|
protected |
Constructor.
|
overrideprotecteddefault |
Destructor.
|
inlineoverridevirtual |
Dummy implementation to confirm to the SingleValuedCostFunction interfaces. It is pure virtual in the superclass.
Implements itk::SingleValuedCostFunction.
Definition at line 143 of file itkMRIBiasFieldCorrectionFilter.h.
|
inline |
Get an energy value for the intensity difference between a pixel and its corresponding bias.
Definition at line 130 of file itkMRIBiasFieldCorrectionFilter.h.
|
overridevirtual |
Reimplemented from itk::SingleValuedCostFunction.
|
overridevirtual |
Return the number of parameters required to compute this cost function. This method MUST be overloaded by derived classes.
Implements itk::CostFunctionTemplate< double >.
|
overridevirtual |
Gets the total energy value of an image or a slice using the given parameters.
Implements itk::SingleValuedCostFunction.
void itk::MRIBiasEnergyFunction< TImage, TImageMask, TBiasField >::InitializeDistributions | ( | Array< double > | classMeans, |
Array< double > | classSigmas | ||
) |
Set Mean and Sigma for the normal distributions
|
static |
Method for creation through the object factory.
|
inline |
Sets the BiasField object.
Definition at line 110 of file itkMRIBiasFieldCorrectionFilter.h.
|
virtual |
Specify the input image.
|
virtual |
Specify the input mask image.
|
virtual |
Set the image region which will be included for energy calculation.
|
inline |
Sets the sampling factors of the energy function in each direction. Default is 1 in each dimension
Definition at line 118 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Bias field object pointer.
Definition at line 165 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Input image smart pointer.
Definition at line 168 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Internal energy function object pointer.
Definition at line 177 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Input mask image smart pointer.
Definition at line 171 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Region of interest.
Definition at line 174 of file itkMRIBiasFieldCorrectionFilter.h.
|
private |
Sampling factors
Definition at line 180 of file itkMRIBiasFieldCorrectionFilter.h.
|
staticconstexpr |
Definition at line 91 of file itkMRIBiasFieldCorrectionFilter.h.