Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage > Class Template Reference

corrects 3D MRI bias field More...

#include <itkMRIBiasFieldCorrectionFilter.h>

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

Inheritance graph
[legend]
Collaboration diagram for itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MRIBiasFieldCorrectionFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TOutputImage OutputImageType
typedef TInputImage InputImageType
typedef TOutputImage::Pointer OutputImagePointer
typedef TOutputImage::IndexType OutputImageIndexType
typedef TOutputImage::PixelType OutputImagePixelType
typedef TOutputImage::SizeType OutputImageSizeType
typedef TOutputImage::RegionType OutputImageRegionType
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage::IndexType InputImageIndexType
typedef TInputImage::PixelType InputImagePixelType
typedef TInputImage::SizeType InputImageSizeType
typedef TInputImage::RegionType InputImageRegionType
typedef TMaskImage ImageMaskType
typedef ImageMaskType::Pointer ImageMaskPointer
typedef ImageMaskType::RegionType ImageMaskRegionType
typedef MRASlabIdentifier<
InputImageType
MRASlabIdentifierType
typedef MRASlabIdentifierType::SlabRegionVectorType SlabRegionVectorType
typedef SlabRegionVectorType::iterator SlabRegionVectorIteratorType
typedef MultivariateLegendrePolynomial BiasFieldType
typedef MRIBiasEnergyFunction<
InternalImageType, ImageMaskType,
BiasFieldType
EnergyFunctionType
typedef EnergyFunctionType::Pointer EnergyFunctionPointer
typedef Statistics::NormalVariateGenerator NormalVariateGeneratorType
typedef OnePlusOneEvolutionaryOptimizer OptimizerType
typedef Image< float, itkGetStaticConstMacro(ImageDimension) InternalImageType )
typedef InternalImageType::PixelType InternalImagePixelType
typedef InternalImageType::Pointer InternalImagePointer
typedef InternalImageType::RegionType InternalImageRegionType

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, TOutputImage::ImageDimension)
void SetOutputMask (ImageMaskType *outputMask)
virtual ImageMaskTypeGetOutputMask ()
void IsBiasFieldMultiplicative (bool flag)
bool IsBiasFieldMultiplicative ()
virtual void SetSlabBackgroundMinimumThreshold (InputImagePixelType _arg)
virtual InputImagePixelType GetSlabBackgroundMinimumThreshold () const
virtual void SetSlabNumberOfSamples (unsigned int _arg)
virtual unsigned int GetSlabNumberOfSamples () const
virtual void SetSlabTolerance (double _arg)
virtual double GetSlabTolerance () const
virtual void SetSlicingDirection (int _arg)
void SetInitialBiasFieldCoefficients (const BiasFieldType::CoefficientArrayType &coefficients)
BiasFieldType::CoefficientArrayType GetEstimatedBiasFieldCoefficients ()
void SetTissueClassStatistics (const Array< double > &means, const Array< double > &sigmas) throw (ExceptionObject)
virtual void SetOptimizerShrinkFactor (double _arg)
virtual double GetOptimizerShrinkFactor ()
void Initialize () throw (ExceptionObject)
BiasFieldType EstimateBiasField (InputImageRegionType region, unsigned int degree, int maximumIteration)
void CorrectImage (BiasFieldType &bias, InputImageRegionType region)
void CorrectInterSliceIntensityInhomogeneity (InputImageRegionType region)
void SetInputMask (ImageMaskType *inputMask)
virtual ImageMaskTypeGetInputMask ()
virtual void SetUsingInterSliceIntensityCorrection (bool _arg)
virtual bool GetUsingInterSliceIntensityCorrection () const
virtual void SetUsingSlabIdentification (bool _arg)
virtual bool GetUsingSlabIdentification () const
virtual void SetUsingBiasFieldCorrection (bool _arg)
virtual bool GetUsingBiasFieldCorrection () const
virtual void SetGeneratingOutput (bool _arg)
virtual bool GetGeneratingOutput () const
virtual void SetBiasFieldDegree (int _arg)
virtual int GetBiasFieldDegree ()
virtual void SetVolumeCorrectionMaximumIteration (int _arg)
virtual int GetVolumeCorrectionMaximumIteration ()
virtual void SetInterSliceCorrectionMaximumIteration (int _arg)
virtual int GetInterSliceCorrectionMaximumIteration ()
void SetOptimizerInitialRadius (double initRadius)
double GetOptimizerInitialRadius ()
virtual void SetOptimizerGrowthFactor (double _arg)
virtual double GetOptimizerGrowthFactor ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 MRIBiasFieldCorrectionFilter ()
virtual ~MRIBiasFieldCorrectionFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
bool CheckMaskImage (ImageMaskType *mask)
void Log1PImage (InternalImageType *source, InternalImageType *target)
void ExpImage (InternalImageType *source, InternalImageType *target)
template<class TSource, class TTarget> void CopyAndConvertImage (const TSource *source, TTarget *target, typename TTarget::RegionType requestedRegion)
void GetBiasFieldSize (InputImageRegionType region, BiasFieldType::DomainSizeType &domainSize)
void AdjustSlabRegions (SlabRegionVectorType &slabs, OutputImageRegionType requestedRegion)
void GenerateData ()

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' postion, 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 paramters of a Legendre polynomial (bias field estimate) which minimizes the total energy value of each image after bias field is eleminated.

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), SetUsingInterSliceIntensityCorrection(bool), and SetUsingBiasFieldCorrection(bool) member function.

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

For more details. refer to the following articles. "Parametric estimate of intensity inhomogeneities applied to MRI" Martin Styner, G. 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 198 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 defintion. Definition at line 251 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 206 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage, class TOutputImage, class TMaskImage>
typedef EnergyFunctionType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionPointer
 

Definition at line 256 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 defintion. Definition at line 255 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 234 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 235 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 233 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 227 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 228 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 226 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 230 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 229 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 220 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 239 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 240 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 241 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 238 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 245 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 259 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 262 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 222 of file itkMRIBiasFieldCorrectionFilter.h.

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

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 223 of file itkMRIBiasFieldCorrectionFilter.h.

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

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 221 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 225 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 224 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 219 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 205 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 203 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 248 of file itkMRIBiasFieldCorrectionFilter.h.

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

Definition at line 247 of file itkMRIBiasFieldCorrectionFilter.h.

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

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

Definition at line 204 of file itkMRIBiasFieldCorrectionFilter.h.


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  )  [protected, virtual]
 


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
[inline, protected]
 

Converts pixel type, and copies image data from source to target. Definition at line 428 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>
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 exp(pixel) - 1 to all pixels.

template<class TInputImage, class TOutputImage, class TMaskImage>
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GenerateData  )  [protected, virtual]
 

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  )  [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>
virtual const char* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods)

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

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 346 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetGeneratingOutput  )  const [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]
 

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 int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetInterSliceCorrectionMaximumIteration  )  [virtual]
 

Set/Get the maximum iteration termination condition parameter.

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerGrowthFactor  )  [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 366 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerShrinkFactor  )  [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 InputImagePixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabBackgroundMinimumThreshold  )  const [virtual]
 

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabNumberOfSamples  )  const [virtual]
 

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabTolerance  )  const [virtual]
 

template<class TInputImage, class TOutputImage, class TMaskImage>
virtual bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingBiasFieldCorrection  )  const [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 bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingInterSliceIntensityCorrection  )  const [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 bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetUsingSlabIdentification  )  const [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  )  [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>
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::IsBiasFieldMultiplicative  )  [inline]
 

If the bias field is multiplicative, it returns true. Definition at line 285 of file itkMRIBiasFieldCorrectionFilter.h.

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 281 of file itkMRIBiasFieldCorrectionFilter.h.

template<class TInputImage, class TOutputImage, class TMaskImage>
itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension 
 

The dimension of the image.

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 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>
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 >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

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 340 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>
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 364 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>
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 >::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.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:51:09 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000