Modules:MRIBiasFieldCorrection-Documentation-3.6

From Slicer Wiki
Jump to: navigation, search
Home < Modules:MRIBiasFieldCorrection-Documentation-3.6

Return to Slicer 3.6 Documentation

Gallery of New Features


Module Name

MRIBiasFieldCorrection

User Interface

General Information

Module Type & Category

Type: CLI

Category: Filtering

Authors, Collaborators & Contact

  • Sylvain Jaume: MIT CSAIL
  • Nicolas Rannou: ISEN IRISA
  • Ron Kikinis: Harvard Medical School SPL
  • Contact: sylvain at csail.mit.edu
This work was presented at the MIT NAMIC Week in 2009.

Module Description

MRIBiasFieldCorrection corrects for the intensity inhomogeneity due to MRI gain field distortion. It first estimates the bias field and then 'subtract' it from the image. This module implements the so called methods 'N3' and 'N4' (see references at the bottom of this page).

Usage

  • Step 1/24. To open the input image, click on 'File' and then 'Add Volume':
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 1/24. Add the input volumes
  • Step 2/24. Select the input image and click Apply:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 2/24. Select the input image
  • Step 3/24. The input image appears in the axial-sagittal-coronal views:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 3/24. Image displayed in the orthogonal views
  • Step 4/24. Select the mask image. Check the box 'Label Map' and click Apply:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 4/24. Select the mask image as a label map
  • Step 5/24. The label map is overlaid on the axial-sagittal-coronal views:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 5/24. Label map overlaid on the input image
  • Step 6/24. Click on Modules and scroll-down the menu:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 6/24. List of Slicer 3.6 modules
  • Step 7/24. Select 'Filtering' and then 'MRIBiasFieldCorrection':
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 7/24. Select MRIBiasFieldCorrection in Filtering
  • Step 8/24. The User Interface of MRIBiasFieldCorrection appears:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 8/24. User interface of MRIBiasFieldCorrection
  • Step 9/24. Select the input image in the list of loaded volumes:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 9/24. Select input among loaded volumes
  • Step 10/24. Select the mask image in the list of loaded volumes:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 10/24. Select mask among the loaded label maps
  • Step 11/24. Create a new node for the output in Slicer MRML tree:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 11/24. Create node in MRML tree for output
  • Step 12/24. Click 'Apply' to run the N3 algorithm (default):
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 12/24. Run the N3 algorithm
  • Step 13/24. 'Status Running' means the algorithm is running. Note 'Running...' in lower bar:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 13/24. Status info when algorithm is running
  • Step 14/24. 'Status Completed' means the algorithm is done. Note 'Completed' in lower bar:
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 14/24. Status info when algorithm is done
  • Step 15/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 15
  • Step 16/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 16
  • Step 17/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 17
  • Step 18/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 18
  • Step 19/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 19
  • Step 20/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 20
  • Step 21/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 21
  • Step 22/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 22
  • Step 23/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 23
  • Step 24/24. :
    • Input Image: input image
    • Mask Image: label map providing an approximative segmentation of the ROI
    • Output Volume: corrected image
Step 24
Screenshot of the MRIBiasFieldCorrection module in Slicer3 during development. The screenshot illustrates the application of the MRI Bias Field Correction on the SPL Atlas. Note that the interface was simplified for the production version. The top left window shows the mask used to defined the ROI where the correction will be applied. The top right window shows the rendering of the 3D model created using the mask. The bottom left window shows one slice in the input image. Note the intensity inhomogeneity from the bottom left corner (dark) to the top right corner (bright). The bottom right window shows the output image after the application of the MRI Bias Field Correction module. The parameters used for the correction are shown on the left panel of the Slicer3 interface.

Cheat Sheet

  • Load the input dataset (Main menu: Add Volume)
  • Create a Mask Volume using the Editor (Modules > Editor) (the Threshold tool should give a good result)
  • Select the MRIBiasFieldCorrection module (Modules > Filtering > MRIBiasFieldCorrection)
  • In the left panel, select the Input Volume
  • Select the Mask Volume
  • In the Preview Volume menu , select 'Create New Volume'
  • Do the same for the Output Volume menu
  • Modify the parameter values if desired (default values gave good results during our experiments)
  • Click on Apply.
Close-up of the above screenshot showing the image before and after correction. Note that the intensity inhomogeneity visible in the input image (left) has been corrected in the output image (right).

It took 32 min to process a 512x512x30 MRI volume on a MacBook laptop. To visualize the result:

  • Deselect the Overlay volume,
  • Select the input as Background volume and the output as Foreground volume.
  • Go to Modules > Volumes
  • Select the input volume, and write down the values for Window and Level
  • Select the output volume, and apply the same values
  • Move the lower left cursor in 'Manipulate Slice Views' between B (background) and F (foreground)

Tests

On the Dashboard, these tests verify that the module is working on various platforms:

Known bugs

Links to known bugs in the Slicer3 bug tracker


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Links to the module's source code:

Source code:

Doxygen documentation:

More Information

Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149 (PI: Ron Kikinis).

References for algorithms implemented in this module

References for related algorithms

  • Parametric Estimate of Intensity Inhomogeneities Applied to MRI, M. Styner, C. Brechbhuler, G. Szekely, and G. Gerig, IEEE Transactions on Medical Imaging, 19(3):153–165, Mar 2000.