#include <itkMRIBiasFieldCorrectionFilter.h>
Inheritance diagram for itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >:


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. 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 231 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef MultivariateLegendrePolynomial itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::BiasFieldType |
Bias field object type defintion.
Definition at line 285 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef SmartPointer<const Self> itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 239 of file itkMRIBiasFieldCorrectionFilter.h.
typedef DataObject::Pointer itk::ImageSource< TOutputImage >::DataObjectPointer [inherited] |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::StatisticsImageFilter< TInputImage >, and itk::StreamingImageFilter< TInputImage, TOutputImage >.
Definition at line 62 of file itkImageSource.h.
typedef std::vector<DataObjectPointer> itk::ProcessObject::DataObjectPointerArray [inherited] |
STL Array of SmartPointers to DataObjects
Definition at line 103 of file itkProcessObject.h.
typedef DataObjectPointerArray::size_type itk::ProcessObject::DataObjectPointerArraySizeType [inherited] |
Size type of an std::vector
Definition at line 112 of file itkProcessObject.h.
| typedef EnergyFunctionType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionPointer |
Definition at line 291 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef MRIBiasEnergyFunction<InternalImageType, ImageMaskType, BiasFieldType> itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::EnergyFunctionType |
Energy function type defintion.
Definition at line 290 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef ImageMaskType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskPointer |
Definition at line 267 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef ImageMaskType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskRegionType |
Definition at line 268 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TMaskImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ImageMaskType |
Mask image related type definitions.
Definition at line 266 of file itkMRIBiasFieldCorrectionFilter.h.
typedef InputImageType::ConstPointer itk::ImageToImageFilter< TInputImage, TOutputImage >::InputImageConstPointer [inherited] |
Reimplemented in itk::HistogramMatchingImageFilter< TInputImage, TOutputImage, THistogramMeasurement >, itk::ImagePCAShapeModelEstimator< TInputImage, TOutputImage >, itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >, itk::KLMRegionGrowImageFilter< TInputImage, TOutputImage >, itk::MRFImageFilter< TInputImage, TClassifiedImage >, itk::MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::RecursiveMultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::RegionGrowImageFilter< TInputImage, TOutputImage >, itk::RGBGibbsPriorFilter< TInputImage, TClassifiedImage >, itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage, TBinaryPriorImage >, itk::BinomialBlurImageFilter< TInputImage, TOutputImage >, itk::BlackTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::BloxBoundaryPointToCoreAtomImageFilter< dim >, itk::BloxBoundaryProfileImageToBloxCoreAtomImageFilter< TInputImage, TOutputImage, TSourceImage >, itk::BSplineDecompositionImageFilter< TInputImage, TOutputImage >, itk::CheckerBoardImageFilter< TImage >, itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >, itk::FlipImageFilter< TImage >, itk::GradientImageToBloxBoundaryPointImageFilter< TInputImage >, itk::GrayscaleConnectedClosingImageFilter< TInputImage, TOutputImage >, itk::GrayscaleConnectedOpeningImageFilter< TInputImage, TOutputImage >, itk::GrayscaleFillholeImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGrindPeakImageFilter< TInputImage, TOutputImage >, itk::HConcaveImageFilter< TInputImage, TOutputImage >, itk::HConvexImageFilter< TInputImage, TOutputImage >, itk::HMaximaImageFilter< TInputImage, TOutputImage >, itk::HMinimaImageFilter< TInputImage, TOutputImage >, itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >, itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::IsolatedConnectedImageFilter< TInputImage, TOutputImage >, itk::IterativeInverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::NonThreadedShrinkImageFilter< TInputImage, TOutputImage >, itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::OrientImageFilter< TInputImage, TOutputImage >, itk::PolylineMask2DImageFilter< TInputImage, TPolyline, TOutputImage >, itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ShrinkImageFilter< TInputImage, TOutputImage >, itk::TobogganImageFilter< TInputImage >, itk::TwoOutputExampleImageFilter< TImage >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::WarpImageFilter< TInputImage, TOutputImage, TDeformationField >, itk::WarpVectorImageFilter< TInputImage, TOutputImage, TDeformationField >, itk::WhiteTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::WrapPadImageFilter< TInputImage, TOutputImage >, itk::InPlaceImageFilter< TInputImage, TOutputImage >, itk::SimpleFuzzyConnectednessImageFilterBase< TInputImage, TOutputImage >, itk::MorphologicalWatershedFromMarkersImageFilter< TInputImage, TLabelImage >, itk::MorphologicalWatershedImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::RegionalMaximaImageFilter< TInputImage, TOutputImage >, itk::RegionalMinimaImageFilter< TInputImage, TOutputImage >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, TFunction1, TFunction2 >, itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >, itk::InPlaceImageFilter< TDeformationField, TDeformationField >, itk::InPlaceImageFilter< TLabelImage, TOutputImage >, itk::InPlaceImageFilter< TInputImage >, itk::InPlaceImageFilter< TInputImage, TSparseOutputImage >, itk::InPlaceImageFilter< TFeatureImageType, Superclass::ImageType >, itk::InPlaceImageFilter< TInputImage1, TOutputImage >, itk::InPlaceImageFilter< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >, itk::InPlaceImageFilter< TInputImage1, itk::Functor::MakeJoin< TInputImage1, TInputImage2 >::ImageType >, itk::InPlaceImageFilter< TInputImageType, TSparseOutputImageType >, itk::InPlaceImageFilter< TImage, TImage >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::greater< TInputImage::PixelType >, std::greater< TOutputImage::PixelType > >, and itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::less< TInputImage::PixelType >, std::less< TOutputImage::PixelType > >.
Definition at line 84 of file itkImageToImageFilter.h.
| typedef TInputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageIndexType |
Definition at line 260 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TInputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 261 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TInputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 259 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TInputImage::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageRegionType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 263 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TInputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageSizeType |
Definition at line 262 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TInputImage itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 253 of file itkMRIBiasFieldCorrectionFilter.h.
typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension)> itk::ImageToImageFilter< TInputImage, TOutputImage >::InputToOutputRegionCopierType [protected, inherited] |
Typedef for the region copier function object that converts an input region to an output region.
Definition at line 164 of file itkImageToImageFilter.h.
| typedef InternalImageType::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePixelType |
Definition at line 273 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef InternalImageType::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImagePointer |
Definition at line 274 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef InternalImageType::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImageRegionType |
Definition at line 275 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef Image< float, itkGetStaticConstMacro(ImageDimension) > itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::InternalImageType |
Internal (temporary) image related type definitions.
Definition at line 272 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef MRASlabIdentifier<InputImageType> itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::MRASlabIdentifierType |
Regions of the MRI slab identifier return.
Definition at line 279 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef Statistics::NormalVariateGenerator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::NormalVariateGeneratorType |
Normal variate Generator Type
Definition at line 294 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef OnePlusOneEvolutionaryOptimizer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OptimizerType |
Optimizer type definition.
Definition at line 297 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TOutputImage::IndexType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageIndexType |
Definition at line 255 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TOutputImage::PixelType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 256 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TOutputImage::Pointer itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 254 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TOutputImage::RegionType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageRegionType |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 258 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef TOutputImage::SizeType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::OutputImageSizeType |
Definition at line 257 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 252 of file itkMRIBiasFieldCorrectionFilter.h.
typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension)> itk::ImageToImageFilter< TInputImage, TOutputImage >::OutputToInputRegionCopierType [protected, inherited] |
Typedef for the region copier function object that converts an output region to an input region.
Definition at line 169 of file itkImageToImageFilter.h.
| typedef SmartPointer<Self> itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 238 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef Array2D<unsigned int> itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::ScheduleType |
ScheduleType typedef support.
Definition at line 300 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef MRIBiasFieldCorrectionFilter itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 236 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef SlabRegionVectorType::iterator itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorIteratorType |
Definition at line 282 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef MRASlabIdentifierType::SlabRegionVectorType itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::SlabRegionVectorType |
Definition at line 281 of file itkMRIBiasFieldCorrectionFilter.h.
| typedef ImageToImageFilter< TInputImage, TOutputImage > |