ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkMRIBiasFieldCorrectionFilter.h>
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 parameters of a Legendre polynomial (bias field estimate) which minimizes the total energy value of each image after bias field is eleminated. The default Legendre polynomial degree is 3.
The correction performes 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.
typedef MultivariateLegendrePolynomial itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::BiasFieldType |
Bias field object type defintion.
Definition at line 277 of file itkMRIBiasFieldCorrectionFilter.h.
typedef SmartPointer< const Self > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 232 of file itkMRIBiasFieldCorrectionFilter.h.
typedef EnergyFunctionType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionPointer |
Definition at line 283 of file itkMRIBiasFieldCorrectionFilter.h.
typedef MRIBiasEnergyFunction< InternalImageType, ImageMaskType, BiasFieldType > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionType |
Energy function type defintion.
Definition at line 282 of file itkMRIBiasFieldCorrectionFilter.h.
typedef ImageMaskType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskPointer |
Definition at line 261 of file itkMRIBiasFieldCorrectionFilter.h.
typedef ImageMaskType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskRegionType |
Definition at line 262 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TMaskImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskType |
Mask image related type definitions.
Definition at line 260 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TInputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageIndexType |
Definition at line 254 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TInputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 255 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TInputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 253 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TInputImage::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageRegionType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 257 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TInputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageSizeType |
Definition at line 256 of file itkMRIBiasFieldCorrectionFilter.h.
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.
typedef InternalImageType::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePixelType |
Internal (temporary) image related type definitions.
Definition at line 266 of file itkMRIBiasFieldCorrectionFilter.h.
typedef InternalImageType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePointer |
Internal (temporary) image related type definitions.
Definition at line 267 of file itkMRIBiasFieldCorrectionFilter.h.
typedef InternalImageType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImageRegionType |
Internal (temporary) image related type definitions.
Definition at line 268 of file itkMRIBiasFieldCorrectionFilter.h.
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.
typedef MRASlabIdentifier< InputImageType > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRASlabIdentifierType |
Regions of the MRI slab identifier return.
Definition at line 272 of file itkMRIBiasFieldCorrectionFilter.h.
typedef Statistics::NormalVariateGenerator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::NormalVariateGeneratorType |
Normal variate Generator Type
Definition at line 286 of file itkMRIBiasFieldCorrectionFilter.h.
typedef OnePlusOneEvolutionaryOptimizer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OptimizerType |
Optimizer type definition.
Definition at line 289 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TOutputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageIndexType |
Definition at line 247 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TOutputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 248 of file itkMRIBiasFieldCorrectionFilter.h.
typedef TOutputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 246 of file itkMRIBiasFieldCorrectionFilter.h.
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.
typedef TOutputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageSizeType |
Definition at line 249 of file itkMRIBiasFieldCorrectionFilter.h.
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.
typedef SmartPointer< Self > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 231 of file itkMRIBiasFieldCorrectionFilter.h.
typedef Array2D< unsigned int > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ScheduleType |
ScheduleType typedef support.
Definition at line 292 of file itkMRIBiasFieldCorrectionFilter.h.
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.
typedef SlabRegionVectorType::iterator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorIteratorType |
Definition at line 274 of file itkMRIBiasFieldCorrectionFilter.h.
typedef MRASlabIdentifierType::SlabRegionVectorType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorType |
Definition at line 273 of file itkMRIBiasFieldCorrectionFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 230 of file itkMRIBiasFieldCorrectionFilter.h.
itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRIBiasFieldCorrectionFilter | ( | ) | [protected] |
virtual itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::~MRIBiasFieldCorrectionFilter | ( | ) | [protected, virtual] |
itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRIBiasFieldCorrectionFilter | ( | const Self & | ) | [private] |
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.
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
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 499 of file itkMRIBiasFieldCorrectionFilter.h.
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.
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.
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.
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.
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.
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.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetBiasFieldDegree | ( | ) | const [virtual] |
Set/Get the degree of the bias field estimate.
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
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.
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
virtual ImageMaskType* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetInputMask | ( | ) | [virtual] |
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetInterSliceCorrectionMaximumIteration | ( | ) | const [virtual] |
Set/Get the maximum iteration termination condition parameter.
virtual const char* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetNumberOfLevels | ( | ) | const [virtual] |
Get the number of multi-resolution levels.
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerGrowthFactor | ( | ) | const [virtual] |
Set/Get the search radius grow factor.
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerInitialRadius | ( | ) | [inline] |
Set/Get the initial search radius.
Definition at line 398 of file itkMRIBiasFieldCorrectionFilter.h.
virtual double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOptimizerShrinkFactor | ( | ) | const [virtual] |
virtual ImageMaskType* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetOutputMask | ( | ) | [virtual] |
Gets the output mask image pointer.
virtual const ScheduleType& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSchedule | ( | ) | [virtual] |
Get the multi-resolution schedule.
virtual const InputImagePixelType& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabBackgroundMinimumThreshold | ( | ) | [virtual] |
virtual const unsigned int& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabNumberOfSamples | ( | ) | [virtual] |
virtual const double& itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetSlabTolerance | ( | ) | [virtual] |
const unsigned int* itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetStartingShrinkFactors | ( | ) | const |
Get the starting shrink factors
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.
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).
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.
virtual int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GetVolumeCorrectionMaximumIteration | ( | ) | const [virtual] |
Set/Get the maximum iteration termination condition parameter.
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.
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.
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.
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.
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.
static Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
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 >.
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 >.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetBiasFieldDegree | ( | int | _arg | ) | [virtual] |
Set/Get the degree of the bias field estimate.
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
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.
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.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetInterSliceCorrectionMaximumIteration | ( | int | _arg | ) | [virtual] |
Set/Get the maximum iteration termination condition parameter.
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.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerGrowthFactor | ( | double | _arg | ) | [virtual] |
Set/Get the search radius grow factor.
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerInitialRadius | ( | double | initRadius | ) | [inline] |
Set/Get the initial search radius.
Definition at line 396 of file itkMRIBiasFieldCorrectionFilter.h.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetOptimizerShrinkFactor | ( | double | _arg | ) | [virtual] |
Set/Get the search radius shrink factor.
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.
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.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabBackgroundMinimumThreshold | ( | InputImagePixelType | _arg | ) | [virtual] |
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabNumberOfSamples | ( | unsigned int | _arg | ) | [virtual] |
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetSlabTolerance | ( | double | _arg | ) | [virtual] |
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
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.
void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetStartingShrinkFactors | ( | unsigned int * | factors | ) |
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
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.
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).
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.
virtual void itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SetVolumeCorrectionMaximumIteration | ( | int | _arg | ) | [virtual] |
Set/Get the maximum iteration termination condition parameter.
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.
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.
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_BiasFieldDegree [private] |
The degree of the bias field estimate.
Definition at line 573 of file itkMRIBiasFieldCorrectionFilter.h.
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.
EnergyFunctionPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_EnergyFunction [private] |
Energy function object pointer.
Definition at line 540 of file itkMRIBiasFieldCorrectionFilter.h.
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.
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_GeneratingOutput [private] |
Definition at line 567 of file itkMRIBiasFieldCorrectionFilter.h.
ImageMaskPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_InputMask [private] |
Input mask image smart pointer.
Definition at line 546 of file itkMRIBiasFieldCorrectionFilter.h.
InternalImagePointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_InternalInput [private] |
Internal image smart pointer.
Definition at line 552 of file itkMRIBiasFieldCorrectionFilter.h.
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.
NormalVariateGeneratorType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_NormalVariateGenerator [private] |
Normal variate generator smart pointer
Definition at line 543 of file itkMRIBiasFieldCorrectionFilter.h.
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.
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.
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.
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.
ImageMaskPointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_OutputMask [private] |
Output mask image smart pointer.
Definition at line 549 of file itkMRIBiasFieldCorrectionFilter.h.
ScheduleType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_Schedule [private] |
The multires schedule
Definition at line 579 of file itkMRIBiasFieldCorrectionFilter.h.
InputImagePixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabBackgroundMinimumThreshold [private] |
Definition at line 570 of file itkMRIBiasFieldCorrectionFilter.h.
unsigned int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabNumberOfSamples [private] |
Definition at line 569 of file itkMRIBiasFieldCorrectionFilter.h.
SlabRegionVectorType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_Slabs [private] |
Storage for the MRI slab identifier return.
Definition at line 555 of file itkMRIBiasFieldCorrectionFilter.h.
double itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlabTolerance [private] |
Definition at line 571 of file itkMRIBiasFieldCorrectionFilter.h.
int itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_SlicingDirection [private] |
[0 - x, 1 - y, 2 - z].
Definition at line 558 of file itkMRIBiasFieldCorrectionFilter.h.
Array< double > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_TissueClassMeans [private] |
Storage for tissue classes' mean values.
Definition at line 605 of file itkMRIBiasFieldCorrectionFilter.h.
Array< double > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_TissueClassSigmas [private] |
Storage for tissue classes' variance values.
Definition at line 608 of file itkMRIBiasFieldCorrectionFilter.h.
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingBiasFieldCorrection [private] |
Definition at line 566 of file itkMRIBiasFieldCorrectionFilter.h.
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingInterSliceIntensityCorrection [private] |
operation selection flags.
Definition at line 564 of file itkMRIBiasFieldCorrectionFilter.h.
bool itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::m_UsingSlabIdentification [private] |
Definition at line 565 of file itkMRIBiasFieldCorrectionFilter.h.
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.