ITK  4.2.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::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage > Class Template Reference

#include <itkMRIBiasFieldCorrectionFilter.h>

+ Inheritance diagram for itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >:
+ Collaboration diagram for itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >:

List of all members.

Public Types

typedef
MultivariateLegendrePolynomial 
BiasFieldType
typedef SmartPointer< const SelfConstPointer
typedef EnergyFunctionType::Pointer EnergyFunctionPointer
typedef MRIBiasEnergyFunction
< InternalImageType,
ImageMaskType, BiasFieldType
EnergyFunctionType
typedef ImageMaskType::Pointer ImageMaskPointer
typedef ImageMaskType::RegionType ImageMaskRegionType
typedef TMaskImage ImageMaskType
typedef TInputImage::IndexType InputImageIndexType
typedef TInputImage::PixelType InputImagePixelType
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage::RegionType InputImageRegionType
typedef TInputImage::SizeType InputImageSizeType
typedef TInputImage InputImageType
typedef MRASlabIdentifier
< InputImageType
MRASlabIdentifierType
typedef
Statistics::NormalVariateGenerator 
NormalVariateGeneratorType
typedef
OnePlusOneEvolutionaryOptimizer 
OptimizerType
typedef TOutputImage::IndexType OutputImageIndexType
typedef TOutputImage::PixelType OutputImagePixelType
typedef TOutputImage::Pointer OutputImagePointer
typedef TOutputImage::RegionType OutputImageRegionType
typedef TOutputImage::SizeType OutputImageSizeType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef Array2D< unsigned int > ScheduleType
typedef
MRIBiasFieldCorrectionFilter 
Self
typedef
SlabRegionVectorType::iterator 
SlabRegionVectorIteratorType
typedef
MRASlabIdentifierType::SlabRegionVectorType 
SlabRegionVectorType
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
typedef Image< float,
itkGetStaticConstMacro(ImageDimension) > 
InternalImageType
typedef
InternalImageType::PixelType 
InternalImagePixelType
typedef InternalImageType::Pointer InternalImagePointer
typedef
InternalImageType::RegionType 
InternalImageRegionType
- Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef
InputImageType::ConstPointer 
InputImageConstPointer
- Public Types inherited from itk::ImageSource< TOutputImage >
typedef
Superclass::DataObjectIdentifierType 
DataObjectIdentifierType
typedef DataObject::Pointer DataObjectPointer
typedef
Superclass::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
- Public Types inherited from itk::ProcessObject
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
typedef std::vector
< DataObjectIdentifierType
NameArray
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

void CorrectImage (BiasFieldType &bias, InputImageRegionType region)
void CorrectInterSliceIntensityInhomogeneity (InputImageRegionType region)
virtual ::itk::LightObject::Pointer CreateAnother (void) const
BiasFieldType EstimateBiasField (InputImageRegionType region, unsigned int degree, int maximumIteration)
BiasFieldType::CoefficientArrayType GetEstimatedBiasFieldCoefficients ()
virtual ImageMaskTypeGetInputMask ()
virtual const char * GetNameOfClass () const
virtual unsigned int GetNumberOfLevels () const
virtual double GetOptimizerShrinkFactor () const
virtual ImageMaskTypeGetOutputMask ()
virtual const ScheduleTypeGetSchedule ()
virtual const InputImagePixelTypeGetSlabBackgroundMinimumThreshold ()
virtual const unsigned int & GetSlabNumberOfSamples ()
virtual const double & GetSlabTolerance ()
const unsigned int * GetStartingShrinkFactors () const
void Initialize () throw ( ExceptionObject )
void IsBiasFieldMultiplicative (bool flag)
bool IsBiasFieldMultiplicative ()
void SetInitialBiasFieldCoefficients (const BiasFieldType::CoefficientArrayType &coefficients)
void SetInputMask (ImageMaskType *inputMask)
void SetNumberOfLevels (unsigned int num)
virtual void SetOptimizerShrinkFactor (double _arg)
void SetOutputMask (ImageMaskType *outputMask)
void SetSchedule (const ScheduleType &schedule)
virtual void SetSlabBackgroundMinimumThreshold (InputImagePixelType _arg)
virtual void SetSlabNumberOfSamples (unsigned int _arg)
virtual void SetSlabTolerance (double _arg)
virtual void SetSlicingDirection (int _arg)
void SetStartingShrinkFactors (unsigned int factor)
void SetStartingShrinkFactors (unsigned int *factors)
void SetTissueClassStatistics (const Array< double > &means, const Array< double > &sigmas) throw ( ExceptionObject )
virtual void SetUsingInterSliceIntensityCorrection (bool _arg)
virtual const bool & GetUsingInterSliceIntensityCorrection ()
virtual void SetUsingSlabIdentification (bool _arg)
virtual const bool & GetUsingSlabIdentification ()
virtual void SetUsingBiasFieldCorrection (bool _arg)
virtual const bool & GetUsingBiasFieldCorrection ()
virtual void SetGeneratingOutput (bool _arg)
virtual const bool & GetGeneratingOutput ()
virtual void SetBiasFieldDegree (int _arg)
virtual int GetBiasFieldDegree () const
virtual void SetVolumeCorrectionMaximumIteration (int _arg)
virtual int GetVolumeCorrectionMaximumIteration () const
virtual void SetInterSliceCorrectionMaximumIteration (int _arg)
virtual int GetInterSliceCorrectionMaximumIteration () const
void SetOptimizerInitialRadius (double initRadius)
double GetOptimizerInitialRadius ()
virtual void SetOptimizerGrowthFactor (double _arg)
virtual double GetOptimizerGrowthFactor () const
- Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
const InputImageTypeGetInput (void) const
const InputImageTypeGetInput (unsigned int idx) const
virtual void PopBackInput ()
virtual void PopFrontInput ()
virtual void PushBackInput (const InputImageType *image)
virtual void PushFrontInput (const InputImageType *image)
virtual void SetInput (const InputImageType *image)
virtual void SetInput (unsigned int, const TInputImage *image)
- Public Member Functions inherited from itk::ImageSource< TOutputImage >
OutputImageTypeGetOutput (unsigned int idx)
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
virtual void GraftOutput (DataObject *output)
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *output)
OutputImageTypeGetOutput (void)
const OutputImageTypeGetOutput (void) const
virtual
ProcessObject::DataObjectPointer 
MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx)
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
virtual void AbortGenerateDataOn ()
virtual void EnlargeOutputRequestedRegion (DataObject *)
virtual const bool & GetAbortGenerateData ()
NameArray GetInputNames () const
MultiThreader * GetMultiThreader () const
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
DataObjectPointerArraySizeType GetNumberOfInputs () const
DataObjectPointerArraySizeType GetNumberOfOutputs () const
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
NameArray GetOutputNames () const
virtual const float & GetProgress ()
NameArray GetRequiredInputNames () const
bool HasInput (const DataObjectIdentifierType &key) const
bool HasOutput (const DataObjectIdentifierType &key) const
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
virtual void PrepareOutputs ()
virtual void PropagateRequestedRegion (DataObject *output)
virtual void ResetPipeline ()
virtual void SetAbortGenerateData (bool _arg)
virtual void SetProgress (float _arg)
virtual void Update ()
virtual void UpdateLargestPossibleRegion ()
virtual void UpdateOutputData (DataObject *output)
virtual void UpdateOutputInformation ()
void UpdateProgress (float amount)
DataObjectPointerArray GetInputs ()
DataObjectPointerArray GetOutputs ()
DataObjectPointerArray GetIndexedInputs ()
DataObjectPointerArray GetIndexedOutputs ()
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
virtual void SetReleaseDataFlag (bool flag)
virtual bool GetReleaseDataFlag () const
void ReleaseDataFlagOn ()
void ReleaseDataFlagOff ()
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
virtual const bool & GetReleaseDataBeforeUpdateFlag ()
virtual void ReleaseDataBeforeUpdateFlagOn ()
virtual void ReleaseDataBeforeUpdateFlagOff ()
virtual void SetNumberOfThreads (ThreadIdType _arg)
virtual const ThreadIdTypeGetNumberOfThreads ()
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const
virtual void DebugOff () const
virtual void DebugOn () const
CommandGetCommand (unsigned long tag)
bool GetDebug () const
MetaDataDictionaryGetMetaDataDictionary (void)
const MetaDataDictionaryGetMetaDataDictionary (void) const
virtual unsigned long GetMTime () const
virtual const TimeStampGetTimeStamp () const
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
virtual void Modified () const
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
void SetDebug (bool debugFlag) const
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetReferenceCount (int)
virtual void UnRegister () const
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
virtual int GetReferenceCount () const
 itkCloneMacro (Self)
void Print (std::ostream &os, Indent indent=0) const

Static Public Member Functions

static bool IsScheduleDownwardDivisible (const ScheduleType &schedule)
static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TOutputImage::ImageDimension
- Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
static const unsigned int InputImageDimension = TInputImage::ImageDimension
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
- Static Public Attributes inherited from itk::ImageSource< TOutputImage >

Protected Member Functions

void AdjustSlabRegions (SlabRegionVectorType &slabs, OutputImageRegionType requestedRegion)
bool CheckMaskImage (ImageMaskType *mask)
template<class TSource , class TTarget >
void CopyAndConvertImage (const TSource *source, TTarget *target, typename TTarget::RegionType requestedRegion)
void ExpImage (InternalImageType *source, InternalImageType *target)
void GenerateData ()
void GetBiasFieldSize (InputImageRegionType region, BiasFieldType::DomainSizeType &domainSize)
void Log1PImage (InternalImageType *source, InternalImageType *target)
 MRIBiasFieldCorrectionFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~MRIBiasFieldCorrectionFilter ()
- Protected Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
virtual void GenerateInputRequestedRegion ()
 ImageToImageFilter ()
virtual void VerifyInputInformation ()
 ~ImageToImageFilter ()
void PushBackInput (const DataObject *input)
void PushFrontInput (const DataObject *input)
- Protected Member Functions inherited from itk::ImageSource< TOutputImage >
virtual void AfterThreadedGenerateData ()
virtual void AllocateOutputs ()
virtual void BeforeThreadedGenerateData ()
 ImageSource ()
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion)
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
virtual ~ImageSource ()
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
virtual void AddOutput (DataObject *output)
bool AddRequiredInputName (const DataObjectIdentifierType &)
virtual void CacheInputReleaseDataFlags ()
virtual void GenerateOutputInformation ()
virtual void GenerateOutputRequestedRegion (DataObject *output)
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs ()
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs ()
bool IsIndexedName (const DataObjectIdentifierType &) const
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
DataObjectPointerArraySizeType MakeIndexFromName (const DataObjectIdentifierType &) const
DataObjectIdentifierType MakeNameFromIndex (DataObjectPointerArraySizeType) const
 ProcessObject ()
virtual void PropagateResetPipeline ()
virtual void ReleaseInputs ()
virtual void RemoveInput (const DataObjectIdentifierType &key)
virtual void RemoveInput (DataObjectPointerArraySizeType)
virtual void RemoveOutput (const DataObjectIdentifierType &key)
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
virtual void RestoreInputReleaseDataFlags ()
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
virtual void SetPrimaryInput (DataObject *input)
virtual void SetPrimaryOutput (DataObject *output)
void SetRequiredInputNames (const NameArray &)
virtual void VerifyPreconditions ()
 ~ProcessObject ()
DataObjectGetInput (const DataObjectIdentifierType &key)
const DataObjectGetInput (const DataObjectIdentifierType &key) const
DataObjectGetInput (DataObjectPointerArraySizeType)
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
DataObjectGetPrimaryInput ()
const DataObjectGetPrimaryInput () const
DataObjectGetOutput (const DataObjectIdentifierType &key)
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
DataObjectGetPrimaryOutput ()
const DataObjectGetPrimaryOutput () const
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Private Member Functions

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

Private Attributes

BiasFieldType::CoefficientArrayType m_BiasFieldCoefficients
int m_BiasFieldDegree
bool m_BiasMultiplicative
EnergyFunctionPointer m_EnergyFunction
BiasFieldType::CoefficientArrayType m_EstimatedBiasFieldCoefficients
bool m_GeneratingOutput
ImageMaskPointer m_InputMask
InternalImagePointer m_InternalInput
int m_InterSliceCorrectionMaximumIteration
NormalVariateGeneratorType::Pointer m_NormalVariateGenerator
unsigned int m_NumberOfLevels
double m_OptimizerGrowthFactor
double m_OptimizerInitialRadius
double m_OptimizerShrinkFactor
ImageMaskPointer m_OutputMask
ScheduleType m_Schedule
InputImagePixelType m_SlabBackgroundMinimumThreshold
unsigned int m_SlabNumberOfSamples
SlabRegionVectorType m_Slabs
double m_SlabTolerance
int m_SlicingDirection
Array< double > m_TissueClassMeans
Array< double > m_TissueClassSigmas
bool m_UsingBiasFieldCorrection
bool m_UsingInterSliceIntensityCorrection
bool m_UsingSlabIdentification
int m_VolumeCorrectionMaximumIteration

Additional Inherited Members

- Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension) > 
InputToOutputRegionCopierType
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension) > 
OutputToInputRegionCopierType

Detailed Description

template<class TInputImage, class TOutputImage, class TMaskImage>
class itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >

corrects 3D MRI bias field

This class is templated over the type of the input image (TInputImage) and the type of the output image (TOutputImage).

In MRI images, intensity inhomogenieties which are caused by magnetic settings, patients' position, and other factors are not unusual. The main purpose of this filter is to reduce such bias field. To estimate the bias field, we use Legendre polynomials. The 1+1 evolutionary optimizer searches for the best parameters of a Legendre polynomial (bias field estimate) which minimizes the total energy value of each image after bias field is eliminated. The default Legendre polynomial degree is 3.

The correction performs by default a multiplicative bias field correction by first log-transforming the input image. This log transform only works on images with grayscale values bigger than 0. The log-transform can be disabled and the filter computes an additive bias field.

There are three major processes in the whole bias correction scheme: slab identification, inter-slice intensity correction, and actual bias correction process. Users can turn on and off each process within the whole bias correction scheme using SetUsingSlabIdentification(bool, false by default), SetUsingInterSliceIntensityCorrection(bool, true by default), and SetUsingBiasFieldCorrection(bool, true by default) member function.

Only the last process (the actual bias field correction) is implemented in a multiresolution framework (without smoothing). Default is a standard level 2 multiresolution schedule (2 2 2 1 1 1)

The bias field correction method was initially developed and implemented by Martin Styner, Univ. of North Carolina at Chapel Hill, and his colleagues.

The multiresolution pyramid implementation is based on itkMultiTesolutionPyramidImageFilter (without Gaussian smoothing)

For more details. refer to the following articles. "Parametric estimate of intensity inhomogeneities applied to MRI" Martin Styner, Guido Gerig, Christian Brechbuehler, Gabor Szekely, IEEE TRANSACTIONS ON MEDICAL IMAGING; 19(3), pp. 153-165, 2000, (http://www.cs.unc.edu/~styner/docs/tmi00.pdf)

"Evaluation of 2D/3D bias correction with 1+1ES-optimization" Martin Styner, Prof. Dr. G. Gerig (IKT, BIWI, ETH Zuerich), TR-197 (http://www.cs.unc.edu/~styner/docs/StynerTR97.pdf)

Definition at line 224 of file itkMRIBiasFieldCorrectionFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef MultivariateLegendrePolynomial itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::BiasFieldType

Bias field object type definition.

Definition at line 277 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef SmartPointer< const Self > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ConstPointer
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef EnergyFunctionType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionPointer

Definition at line 283 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef MRIBiasEnergyFunction< InternalImageType, ImageMaskType, BiasFieldType > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionType

Energy function type definition.

Definition at line 282 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef ImageMaskType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskPointer

Definition at line 261 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef ImageMaskType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskRegionType

Definition at line 262 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TMaskImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskType

Mask image related type definitions.

Definition at line 260 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageIndexType

Definition at line 254 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePixelType
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePointer
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageRegionType
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageSizeType

Definition at line 256 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TInputImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageType

Some convenient typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 252 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef InternalImageType::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePixelType

Internal (temporary) image related type definitions.

Definition at line 266 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef InternalImageType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePointer

Internal (temporary) image related type definitions.

Definition at line 267 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef InternalImageType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImageRegionType

Internal (temporary) image related type definitions.

Definition at line 268 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef Image< float, itkGetStaticConstMacro(ImageDimension) > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImageType

Internal (temporary) image related type definitions.

Definition at line 265 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef MRASlabIdentifier< InputImageType > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRASlabIdentifierType

Regions of the MRI slab identifier return.

Definition at line 272 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef Statistics::NormalVariateGenerator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::NormalVariateGeneratorType

Normal variate Generator Type

Definition at line 286 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef OnePlusOneEvolutionaryOptimizer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OptimizerType

Optimizer type definition.

Definition at line 289 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageIndexType

Definition at line 247 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePixelType
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 246 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageRegionType

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 250 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageSizeType

Definition at line 249 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef TOutputImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageType

Input and output image related type definitions.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 245 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef SmartPointer< Self > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Pointer
template<class TInputImage , class TOutputImage , class TMaskImage >
typedef Array2D< unsigned int > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ScheduleType

ScheduleType typedef support.

Definition at line 292 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef MRIBiasFieldCorrectionFilter itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 229 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef SlabRegionVectorType::iterator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorIteratorType

Definition at line 274 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef MRASlabIdentifierType::SlabRegionVectorType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorType

Definition at line 273 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TMaskImage >
itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRIBiasFieldCorrectionFilter ( )
protected
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::~MRIBiasFieldCorrectionFilter ( )
protectedvirtual
template<class TInputImage , class TOutputImage , class TMaskImage >
itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRIBiasFieldCorrectionFilter ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::AdjustSlabRegions ( SlabRegionVectorType slabs,
OutputImageRegionType  requestedRegion 
)
protected

Find overlapping regions between the slab regions and the output image's requested region. And then replace the original slab regions with the resulting overlapping regions.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::CheckMaskImage ( ImageMaskType mask)
protected

Checks if the mask image's dimensionality and size matches with those of the input image

template<class TInputImage , class TOutputImage , class TMaskImage >
template<class TSource , class TTarget >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::CopyAndConvertImage ( const TSource *  source,
TTarget *  target,
typename TTarget::RegionType  requestedRegion 
)
inlineprotected

Converts pixel type, and copies image data from source to target.

Definition at line 499 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::CorrectImage ( BiasFieldType bias,
InputImageRegionType  region 
)

Correct the internal image using the bias field estimate created by EstimateBiasField() member function and the internal image data that are in the specified region.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::CorrectInterSliceIntensityInhomogeneity ( InputImageRegionType  region)

Internally calls EstimateBiasField() and CorrectImage() member functions for each slice to correct inter-slice intensity inhomogeneities.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual::itk::LightObject::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::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 TInputImage , class TOutputImage , class TMaskImage >
BiasFieldType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EstimateBiasField ( InputImageRegionType  region,
unsigned int  degree,
int  maximumIteration 
)

Optimizes the bias field only using the image data that are in the specified region.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ExpImage ( InternalImageType source,
InternalImageType target 
)
protected

Converts image data from source to target applying vcl_exp(pixel) - 1 to all pixels.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GenerateData ( )
protectedvirtual

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetBiasFieldDegree ( ) const
virtual

Set/Get the degree of the bias field estimate.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetBiasFieldSize ( InputImageRegionType  region,
BiasFieldType::DomainSizeType domainSize 
)
protected

Converts ImageRegion type (region) to DomainSize type (std::vector) NOTE: if the size of the last dimension of the image region is one, then the dimension of the resulting domain size will be one less than that of he image region

template<class TInputImage , class TOutputImage , class TMaskImage >
BiasFieldType::CoefficientArrayType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetEstimatedBiasFieldCoefficients ( )
inline

Get the result bias field coefficients after the bias field estimation (does not apply to the inter-slice intensity correction)

Definition at line 378 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const bool& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetGeneratingOutput ( )
virtual

Set/Gets the flag, If the flag is true, the output image (corrected image) will be created when this filter is updated. default - true

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual ImageMaskType* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetInputMask ( )
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetInterSliceCorrectionMaximumIteration ( ) const
virtual

Set/Get the maximum iteration termination condition parameter.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const char* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetNumberOfLevels ( ) const
virtual

Get the number of multi-resolution levels.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerGrowthFactor ( ) const
virtual

Set/Get the search radius grow factor.

template<class TInputImage , class TOutputImage , class TMaskImage >
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerInitialRadius ( )
inline

Set/Get the initial search radius.

Definition at line 398 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerShrinkFactor ( ) const
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual ImageMaskType* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOutputMask ( )
virtual

Gets the output mask image pointer.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const ScheduleType& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSchedule ( )
virtual

Get the multi-resolution schedule.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const InputImagePixelType& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabBackgroundMinimumThreshold ( )
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const unsigned int& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabNumberOfSamples ( )
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const double& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabTolerance ( )
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
const unsigned int* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetStartingShrinkFactors ( ) const

Get the starting shrink factors

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const bool& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingBiasFieldCorrection ( )
virtual

Set/Gets the bias correction flag. If the flag is true, bias field correction runs. This flag sounds odd. But if users want to use only the inter-slice intensity correction without actual bias correction, disabling bias field correction would be an useful option. default - true.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const bool& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingInterSliceIntensityCorrection ( )
virtual

Set/Gets the intensity correction flag. if the flag is true, inter-slice intensity correction will be applied before bias field correction. default - true (3D input image), false (2D input image).

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual const bool& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingSlabIdentification ( )
virtual

Set/Gets the slab correction flag. If the flag is true, inter-slice intensity correction and bias field correction will be performed slab by slab which is identified by the slab identifier. default - false NOTE: if users want to slab identification, all the input image data should be buffered.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetVolumeCorrectionMaximumIteration ( ) const
virtual

Set/Get the maximum iteration termination condition parameter.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Initialize ( ) throw ( ExceptionObject )

Initializes the energy function object and optimizer objects and creates the internal image object copying the input image data to it. Also, if the bias field is multiplicative, applies logarithm to pixel intensity values, tissue classes' statistics values and the optimizer's initial radius NOTE: If the tissue class statistics values (mean and sigma values) then it will throw exception.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::IsBiasFieldMultiplicative ( bool  flag)
inline

If you set this true, this filter assumes the bias field is multiplicative and internally uses log intensity values for every calculation.

Definition at line 311 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::IsBiasFieldMultiplicative ( )
inline

If the bias field is multiplicative, it returns true.

Definition at line 315 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
static bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::IsScheduleDownwardDivisible ( const ScheduleType schedule)
static

Test if the schedule is downward divisible. This method returns true if at every level, the shrink factors are divisble by the shrink factors at the next level.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Log1PImage ( InternalImageType source,
InternalImageType target 
)
protected

Converts image data from source to target applying vcl_log(pixel + 1) to all pixels. If the source pixel has negative value, it sets the value of the corresponding pixel in the targe image as zero.

template<class TInputImage , class TOutputImage , class TMaskImage >
static Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::operator= ( const Self )
private

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetBiasFieldDegree ( int  _arg)
virtual

Set/Get the degree of the bias field estimate.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetGeneratingOutput ( bool  _arg)
virtual

Set/Gets the flag, If the flag is true, the output image (corrected image) will be created when this filter is updated. default - true

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetInitialBiasFieldCoefficients ( const BiasFieldType::CoefficientArrayType coefficients)
inline

Sets the initial 3D bias field estimate coefficients that will be used for correcting each slab.

Definition at line 370 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetInputMask ( ImageMaskType inputMask)

Set/Get the input mask image pointer Without this mask, this filter calculates the energy value using all pixels in the input image.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetInterSliceCorrectionMaximumIteration ( int  _arg)
virtual

Set/Get the maximum iteration termination condition parameter.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetNumberOfLevels ( unsigned int  num)

Set the number of multi-resolution levels. The matrix containing the schedule will be resized accordingly. The schedule is populated with default values. At the coarset (0) level, the shrink factors are set 2^(nlevel - 1) for all dimension. These shrink factors are halved for subsequent levels. The number of levels is clamped to a minimum value of 1. All shrink factors are also clamped to a minimum value of 1.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerGrowthFactor ( double  _arg)
virtual

Set/Get the search radius grow factor.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerInitialRadius ( double  initRadius)
inline

Set/Get the initial search radius.

Definition at line 396 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerShrinkFactor ( double  _arg)
virtual

Set/Get the search radius shrink factor.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOutputMask ( ImageMaskType outputMask)

Sets the out mask image pointer. Without this mask, this filter corrects every pixel in the input image.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSchedule ( const ScheduleType schedule)

Set a multi-resolution schedule. The input schedule must have only ImageDimension number of columns and NumberOfLevels number of rows. For each dimension, the shrink factor must be non-increasing with respect to subsequent levels. This function will clamp shrink factors to satisify this condition. All shrink factors less than one will also be clamped to the value of 1.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabBackgroundMinimumThreshold ( InputImagePixelType  _arg)
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabNumberOfSamples ( unsigned int  _arg)
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabTolerance ( double  _arg)
virtual
template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlicingDirection ( int  _arg)
virtual

Sets the direction of slicing. 0 - x axis, 1 - y axis, 2 - z axis

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetStartingShrinkFactors ( unsigned int  factor)

Set the starting shrink factor for the coarset (0) resolution level. The schedule is then populated with defaults values obtained by halving the factors at the previous level. All shrink factors are clamped to a minimum value of 1.

template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetStartingShrinkFactors ( unsigned int *  factors)
template<class TInputImage , class TOutputImage , class TMaskImage >
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetTissueClassStatistics ( const Array< double > &  means,
const Array< double > &  sigmas 
) throw ( ExceptionObject )

Set the tissue class statistics for energy function initialization If the numbers of elements in the means and the sigmas are not equal it will throw exception

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetUsingBiasFieldCorrection ( bool  _arg)
virtual

Set/Gets the bias correction flag. If the flag is true, bias field correction runs. This flag sounds odd. But if users want to use only the inter-slice intensity correction without actual bias correction, disabling bias field correction would be an useful option. default - true.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetUsingInterSliceIntensityCorrection ( bool  _arg)
virtual

Set/Gets the intensity correction flag. if the flag is true, inter-slice intensity correction will be applied before bias field correction. default - true (3D input image), false (2D input image).

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetUsingSlabIdentification ( bool  _arg)
virtual

Set/Gets the slab correction flag. If the flag is true, inter-slice intensity correction and bias field correction will be performed slab by slab which is identified by the slab identifier. default - false NOTE: if users want to slab identification, all the input image data should be buffered.

template<class TInputImage , class TOutputImage , class TMaskImage >
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetVolumeCorrectionMaximumIteration ( int  _arg)
virtual

Set/Get the maximum iteration termination condition parameter.


Member Data Documentation

template<class TInputImage , class TOutputImage , class TMaskImage >
const unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageDimension = TOutputImage::ImageDimension
static

The dimension of the image.

Definition at line 242 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
BiasFieldType::CoefficientArrayType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_BiasFieldCoefficients
private

Storage for the initial 3D bias field estimate coefficients that will be used for correcting each slab.

Definition at line 583 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_BiasFieldDegree
private

The degree of the bias field estimate.

Definition at line 573 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_BiasMultiplicative
private

Bias Field character if true, multiplicative. if false, additive.

Definition at line 561 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
EnergyFunctionPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_EnergyFunction
private

Energy function object pointer.

Definition at line 540 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
BiasFieldType::CoefficientArrayType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_EstimatedBiasFieldCoefficients
private

Storage for the resulting 3D bias field estimate coefficients after optimization.

Definition at line 587 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_GeneratingOutput
private

Definition at line 567 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
ImageMaskPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_InputMask
private

Input mask image smart pointer.

Definition at line 546 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
InternalImagePointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_InternalInput
private

Internal image smart pointer.

Definition at line 552 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_InterSliceCorrectionMaximumIteration
private

Storage for the optimizer's maximum iteration number.

Definition at line 593 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
NormalVariateGeneratorType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_NormalVariateGenerator
private

Normal variate generator smart pointer

Definition at line 543 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_NumberOfLevels
private

The number of levels for the multires schedule

Definition at line 576 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_OptimizerGrowthFactor
private

Storage for the optimizer's search radius grow factor.

Definition at line 599 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_OptimizerInitialRadius
private

Storage for the optimizer's initial search radius.

Definition at line 596 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_OptimizerShrinkFactor
private

Storage for the optimizer's search radius shrink factor.

Definition at line 602 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
ImageMaskPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_OutputMask
private

Output mask image smart pointer.

Definition at line 549 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
ScheduleType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_Schedule
private

The multires schedule

Definition at line 579 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
InputImagePixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabBackgroundMinimumThreshold
private

Definition at line 570 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabNumberOfSamples
private

Definition at line 569 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
SlabRegionVectorType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_Slabs
private

Storage for the MRI slab identifier return.

Definition at line 555 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabTolerance
private

Definition at line 571 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlicingDirection
private

[0 - x, 1 - y, 2 - z].

Definition at line 558 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
Array< double > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_TissueClassMeans
private

Storage for tissue classes' mean values.

Definition at line 605 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
Array< double > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_TissueClassSigmas
private

Storage for tissue classes' variance values.

Definition at line 608 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingBiasFieldCorrection
private

Definition at line 566 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingInterSliceIntensityCorrection
private

operation selection flags.

Definition at line 564 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingSlabIdentification
private

Definition at line 565 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage , class TOutputImage , class TMaskImage >
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_VolumeCorrectionMaximumIteration
private

Storage for the optimizer's maximum iteration number.

Definition at line 590 of file itkMRIBiasFieldCorrectionFilter.h.


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