RobustStatisticsSegmentation

From NAMIC Wiki
Jump to: navigation, search
Home < RobustStatisticsSegmentation

Robust Statistics Based Segmentation

Description

Given a few initial seeds, we use the robust statistics to construct a feature image out of the original image, and the image segmentation is carried out in the feature image. To do so, we first compute the certain robust statistics, such as the median absolute deviation(MAD) and the interquartile range (IQ), from the seed points. Further, a multi-dimentional probability distribution function is computed from the feature seeds. At each point in the image, the active contour is driven by the probabilities of this pixel belonging to each category indicated by the seeds.

How to get the module

  1. start nightly built Slicer 3.5 (Most recently tested is Slicer3-3.5-alpha-2010-01-11-linux-x86_64)
  2. open View->Extension Manager
  3. check "Find & Install", click "Next"
  4. in the list, select "RobustStatisticsSegmentor", then "Download & Install", and "Next"
  5. Slicer will ask to restart, confirm.
  6. after restarts, the module is in Module category: "Segmentation-->Robust Statistics Segmentation"

Usage

Module parameters ---> Adv Module parameters ---> Adv Module parameters

General guideline

  • First run:
  1. Give a rough estimate of the object volume and put fiducial points (preferred to be 2 or more) in the object.
  2. Run the module using the default parameters.
  • Note:
  1. The Approximate volume is just a rough upper limit for the volume. It should be at least the size of the object. This is because when the volume reaches that, the program must stop. However, other criteria may stop the algorithm before the volume reaches this value.
  2. The fiducial points can be thrown into the object. What I do is I just add two fiducial points and move them into the object within one slice.
  • Troubleshooting
    • Surface is too rough. Try:
      • Increase "Boundary smoothness"
    • Leakage into thin/narrow regions. Try:
      • Increase "Boundary smoothness"
    • leakage into similar (but still different) intensity regions (which is not necessarily thin), Try:
      • Increase "Intensity homogeneity"
    • Some regions are missed: Try (either one):
      • Increase "Max volume"
      • Decrease"Intensity homogeneity"
      • Decrease "Boundary smoothness"
    • Some regions are missed, at the same time leakages to some other regions. Try (either one)
      • Increase "Intensity homogeneity"
      • Add another fiducial point


Multiple-value label map handeling

The parameter "Output Label Value"(OLV) is for user to assign the output label value. Moreover, it is also used in cases where the user provided label map contains more than one label value. In general, the module handles three cases:

  1. user provided label map contains only one label value, L. In this case, the output label value will be set to OLV, not matter what value L takes.
  2. user provided label map contains multiple label values, one of which matches OLV. Then only that label will be effective and all the others are discarded. The output will have label value OLV too.
  3. user provided label map contains multiple label values, but none matches OLV. Then all the non-zero labels will be considered as a single label value and then come back to the case 1 above.

Testing

Several tests are conducted and shown here along with the parameters used to get the results.

Testing case: left kidney

Segmentation of left kidney


Testing case: right kidney

In the figure below we show the position of the two seeds. They are both in the cortex region. And it can be seen in the segmentation result, the renal cortex got segmented and the pelvis is not.

Segmentation of right kidney


Testing case: spleen

In the figure below we show the position of the two seeds.

Segmentation of spleen


Testing case: liver

In the figure below we show the position of the three seeds.

Segmentation of spleen

Testing case: kidneys, spleen, liver

User can chose output label value. If different labels are used for different organs, then user can use the "Modules->Filtering->Image Label Combine" to combine the different label maps into one. This is shown in the following figure.

Segmentation of kidneys, spleen, and liver

Testing case: tumor

Segmentation of brain tumor


Testing case: tumor

Segmentation of brain tumor

Testing case: tumor

This is a difficult case. All the other methods tested either captures only the middle dark spot, or leaks out of the tumor. But the method here nicely capture both the dark core and the bright shell, without leaking out to regions with intensities in the middle.

Segmentation of brain tumor


Testing case: vervet brain

Previous tests all run with two fiducial points, and running time are all less than 10 seconds. This case has 6 points and runs for 15min to get the result shown.

Segmentation of vervet brain

Key Investigators

Georgia Tech: Yi Gao and Allen Tannenbaum

BWH: Katie Hayes, Andriy Fedorov, and Ron Kikinis

Publications

The method is based on:

Rons

File:RobustSeg.zip