#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.
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.
|
Bias field object type defintion. Definition at line 251 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 206 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 256 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Energy function type defintion. Definition at line 255 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 234 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 235 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Mask image related type definitions. Definition at line 233 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 227 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 228 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 226 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 230 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 229 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 220 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Internal (temporary) image related type definitions. Definition at line 239 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Internal (temporary) image related type definitions. Definition at line 240 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Internal (temporary) image related type definitions. Definition at line 241 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Internal (temporary) image related type definitions. Definition at line 238 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Regions of the MRI slab identifier return. Definition at line 245 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Normal variate Generator Type Definition at line 259 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Optimizer type definition. Definition at line 262 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 222 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 223 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 221 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Superclass typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 225 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 224 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Input and output image related type definitions. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 219 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 205 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Standard class typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 203 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 248 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Definition at line 247 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 204 of file itkMRIBiasFieldCorrectionFilter.h. |
|
|
|
|
|
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. |
|
Checks if the mask image's dimensionality and size matches with those of the input image |
|
Converts pixel type, and copies image data from source to target. Definition at line 428 of file itkMRIBiasFieldCorrectionFilter.h. |
|
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. |
|
Internally calls EstimateBiasField() and CorrectImage() member functions for each slice to correct inter-slice intensity inhomogeneities. |
|
Optimizes the bias field only using the image data that are in the specified region. |
|
Converts image data from source to target applying exp(pixel) - 1 to all pixels. |
|
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 >.
|
|
Set/Get the degree of the bias field estimate. |
|
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 |
|
Run-time type information (and related methods) Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
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. |
|
Set/Gets the flag, If the flag is true, the output image (corrected image) will be created when this filter is updated. default - true |
|
Set/Get the input mask image pointer Without this mask, this filter calculates the energy value using all pixels in the input image. |
|
Set/Get the maximum iteration termination condition parameter. |
|
Set/Get the search radius grow factor. |
|
Set/Get the initial search radius. Definition at line 366 of file itkMRIBiasFieldCorrectionFilter.h. |
|
|
|
Gets the output mask image pointer. |
|
|
|
|
|
|
|
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. |
|
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). |
|
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. |
|
Set/Get the maximum iteration termination condition parameter. |
|
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. |
|
If the bias field is multiplicative, it returns true. Definition at line 285 of file itkMRIBiasFieldCorrectionFilter.h. |
|
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. |
|
The dimension of the image. |
|
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. |
|
Method for creation through the object factory. Reimplemented from itk::Object.
|
|
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 >.
|
|
Set/Get the degree of the bias field estimate. |
|
Set/Gets the flag, If the flag is true, the output image (corrected image) will be created when this filter is updated. default - true |
|
Sets the initial 3D bias field estimate coefficients that will be used for correcting each slab. Definition at line 340 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Set/Get the input mask image pointer Without this mask, this filter calculates the energy value using all pixels in the input image. |
|
Set/Get the maximum iteration termination condition parameter. |
|
Set/Get the search radius grow factor. |
|
Set/Get the initial search radius. Definition at line 364 of file itkMRIBiasFieldCorrectionFilter.h. |
|
Set/Get the search radius shrink factor. |
|
Sets the out mask image pointer. Without this mask, this filter corrects every pixel in the input image. |
|
|
|
|
|
|
|
Sets the direction of slicing. 0 - x axis, 1 - y axis, 2 - z axis |
|
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 |
|
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. |
|
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). |
|
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. |
|
Set/Get the maximum iteration termination condition parameter. |