Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2007-10-03 18:42:11
Size: 2544
Editor: DennisJen
Comment: very rough draft, still needs to be formatted and filled in examples
Revision 4 as of 2007-10-04 13:53:23
Size: 5315
Editor: DennisJen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
1. Introduction: blah blah blah = Poistats Overview =
Line 5: Line 5:
1. Creating seed regions. The goal of the POIStats (Path-of-Interest Statistics) algorithm is to calculate the highest probability path between two user-defined seed regions from magnetic resonance diffusion tensor data. The best path is determined by minimizing the energy of the entire path through randomization of the position of the control points of a spline curve drawn through the data and of the position of the endpoints. The energy of each point in the path is given by the negative natural logarithm of the scaled orientation density function at that point. The magnitude of the perturbation is time-step dependent – the magnitude is decreased exponentially with time step number. A set of replicates are used to explore the path parameter space and minimization of the path energy is achieved using a Metropolis algorithm with a constant percentage reduction of the temperature. The Metropolis algorithm accepts a path if its energy is less than that of the current lowest energy path; otherwise it accepts the path with a probability based on the difference in energy between the current path and the current best path normalized by the current temperature. Replicates can be exchanged between temperature baths and the exchange is determined also using a Metropolis algorithm.
Line 7: Line 7:
  * dmri_poistat is constrained to the start and end points -- be careful
  * poistats needs these two sees at least
  * use intermediate regions which will be used to initialize the path. Poistats will not be constrained to be in these intermediate regions though
Line 11: Line 8:
  1. using Tkmedit to create seed regions == Creating seed regions ==
Line 13: Line 10:
  1. start tkmedit loading the fa as the initial volume. For example: Poistat is constrained to the start and end point, so you'll need to be careful in placing them. You'll need at least two seed regions, a start and an end region. Intermediate seed regions can be used to give poistats hints when initializing the path, which could result in more probably optimal paths and in faster run times. However, unlike the start and end points, the path will not be constrained to these intermediate points. Follow these instructions for creating seed regions:
Line 15: Line 12:
  1. start tkmedit loading the fa as the initial volume. For example:

  {{{
Line 16: Line 16:
  }}}
Line 17: Line 18:
  1. load dti with "File->DTI->Load DTI Volumes..."   1. Load DTI volumes with '''File->DTI->Load DTI Volumes...'''
Line 19: Line 20:
  1. In the "Load DTI Volume" window, you'll browse for the two volume with the "Browse..." button. In "Load DTI Vector Volume," load the eigenvec1 volume and in the "Load DTI FA Volume" browse for the fa volume. Click "OK" when you've found the volumes. The DTI volumes will be loaded and this could take a moment.   1. In the '''Load DTI Volume''' window, browse for the two volume with the '''Browse...''' button. In '''Load DTI Vector Volume''', load the eigenvec1 volume and in '''Load DTI FA Volume''' browse for the fa volume. Click '''OK''' when you've found the volumes. The DTI volumes will be loaded and this could take a moment.
Line 21: Line 22:
  1. Create a new segmentation "File->New Segmentation"   1. Create a new segmentation '''File->New Segmentation'''.
Line 23: Line 24:
  1. You can either use the default "FreeSurferColorLUT.txt" file, use another one, or create your own. Click "Browse..." to locate the file and "OK" to creat the new segmentation. The benefit of creating your own or using the other one is that we've used distinct colors and it's easier to determine a region from another.   1. You can either use the default "FreeSurferColorLUT.txt" file or create your own. Click '''Browse...''' to locate the file and '''OK''' to create the new segmentation. The benefit of creating your ownis that you can use distinct colors, so it's easier to determine a region from another, for example you could create a file with the following:
Line 25: Line 26:
  1. Navigate Tkmedit to where the starting region is.   {{{
#No. Label Name: R G B A
Line 27: Line 29:
  1. Label the first region going to "Tools->Configure Segmentation Brush..." This opens the "Segmentation Brush Info" window. 0 Unknown 0 0 0 0
1 ROI-1 0 0 205 0
2 ROI-2 124 252 0 0
3 ROI-3 255 255 0 0
4 ROI-4 255 0 0 0
5 ROI-5 138 43 226 0
6 ROI-6 255 127 0 0
7 ROI-7 176 48 96 0
8 ROI-8 160 82 45 0
9 ROI-9 85 107 47 0
10 ROI-10 0 206 209 0
  }}}
Line 29: Line 42:
  1. In the "Segmentation Brush Info" window under "Color," select the first label. If you'd like, keep this window open, since you'll be changing the segmentation brush again to label other regions.   1. Navigate tkmedit to where the starting region is.
Line 31: Line 44:
  1. Change to the segmentation brush by clicking on the "Edit Segmentation Tool" button.   1. Label the first region going to '''Tools->Configure Segmentation Brush...''' This opens the '''Segmentation Brush Info''' window.
Line 33: Line 46:
  1. Annotate the seed region by moving the mouse cursor over the pixel that should be included in the region and clicking with the middle button. You may want to move through various slices and validate your selectiong by turning the DTI overlay on and off with Ctrl D or "View->DTI Overlay."   1. In the '''Segmentation Brush Info''' window under "Color," select the first label. If you'd like, keep this window open, since you'll be changing the segmentation brush again to label other regions.
Line 35: Line 48:
  1. Annotate another region by selecting another label from the "Segmentation Brush Info" window and repeating the previous step for as many regions as you'd like.   1. Change to the segmentation brush by clicking on the '''Edit Segmentation Tool''' button.
Line 37: Line 50:
  1. Save the seed regions by going to "File->Save Segmentation As." Enter a name for the volume and click "OK."   1. Annotate the seed region by moving the mouse cursor over the pixel that should be included in the region and clicking with the middle button. You may want to move through various slices and validate your selectiong by turning the DTI overlay on and off with Ctrl D or '''View->DTI Overlay'''.
Line 39: Line 52:
1. Run poistats with dmri_poistats. Run without any parameters for help documentation
on the inputs and outputs.
  1. Annotate another region by selecting another label from the '''Segmentation Brush Info''' window and repeating the previous step for as many regions as you'd like.
Line 42: Line 54:
1. Visualize results with tkmedit or scuba2 (see scuba2 directions)   1. Save the seed regions by going to '''File->Save Segmentation As.''' Enter a name for the volume and click '''OK'''.

== Additional Information ==

  * Run poistats with dmri_poistats.

  * Run dmri_poistats without any parameters for help documentation on the inputs and outputs.

  * Visualize results with tkmedit or [wiki:Scuba2Guide/ScubaWorkingWithData/Scuba2POI scuba2]

== Hints ==

  * The number of control points can have a drastic affect on your path. You should use the number of control points that match with the number of curves that you expect the path to have. This is typically between 2 and 4.

  * Unless the path is fairly straight, you may need to set intermediate points to get consistent results.

  * Use a smaller sigma (around 5) if you've set intermediate points.

Poistats Overview

The goal of the POIStats (Path-of-Interest Statistics) algorithm is to calculate the highest probability path between two user-defined seed regions from magnetic resonance diffusion tensor data. The best path is determined by minimizing the energy of the entire path through randomization of the position of the control points of a spline curve drawn through the data and of the position of the endpoints. The energy of each point in the path is given by the negative natural logarithm of the scaled orientation density function at that point. The magnitude of the perturbation is time-step dependent – the magnitude is decreased exponentially with time step number. A set of replicates are used to explore the path parameter space and minimization of the path energy is achieved using a Metropolis algorithm with a constant percentage reduction of the temperature. The Metropolis algorithm accepts a path if its energy is less than that of the current lowest energy path; otherwise it accepts the path with a probability based on the difference in energy between the current path and the current best path normalized by the current temperature. Replicates can be exchanged between temperature baths and the exchange is determined also using a Metropolis algorithm.

Creating seed regions

Poistat is constrained to the start and end point, so you'll need to be careful in placing them. You'll need at least two seed regions, a start and an end region. Intermediate seed regions can be used to give poistats hints when initializing the path, which could result in more probably optimal paths and in faster run times. However, unlike the start and end points, the path will not be constrained to these intermediate points. Follow these instructions for creating seed regions:

  1. start tkmedit loading the fa as the initial volume. For example:
    tkmedit -f fa.nii
  2. Load DTI volumes with File->DTI->Load DTI Volumes...

  3. In the Load DTI Volume window, browse for the two volume with the Browse... button. In Load DTI Vector Volume, load the eigenvec1 volume and in Load DTI FA Volume browse for the fa volume. Click OK when you've found the volumes. The DTI volumes will be loaded and this could take a moment.

  4. Create a new segmentation File->New Segmentation.

  5. You can either use the default "FreeSurferColorLUT.txt" file or create your own. Click Browse... to locate the file and OK to create the new segmentation. The benefit of creating your ownis that you can use distinct colors, so it's easier to determine a region from another, for example you could create a file with the following:

    #No. Label Name:                            R   G   B   A
    
    0   Unknown                                 0   0   0   0
    1   ROI-1                                   0   0   205 0
    2   ROI-2                                   124 252 0   0
    3   ROI-3                                   255 255 0   0
    4   ROI-4                                   255 0   0   0
    5   ROI-5                                   138 43  226 0
    6   ROI-6                                   255 127 0   0
    7   ROI-7                                   176 48  96  0
    8   ROI-8                                   160 82  45  0
    9   ROI-9                                   85  107 47  0
    10  ROI-10                                  0   206 209 0
  6. Navigate tkmedit to where the starting region is.
  7. Label the first region going to Tools->Configure Segmentation Brush... This opens the Segmentation Brush Info window.

  8. In the Segmentation Brush Info window under "Color," select the first label. If you'd like, keep this window open, since you'll be changing the segmentation brush again to label other regions.

  9. Change to the segmentation brush by clicking on the Edit Segmentation Tool button.

  10. Annotate the seed region by moving the mouse cursor over the pixel that should be included in the region and clicking with the middle button. You may want to move through various slices and validate your selectiong by turning the DTI overlay on and off with Ctrl D or View->DTI Overlay.

  11. Annotate another region by selecting another label from the Segmentation Brush Info window and repeating the previous step for as many regions as you'd like.

  12. Save the seed regions by going to File->Save Segmentation As. Enter a name for the volume and click OK.

Additional Information

  • Run poistats with dmri_poistats.
  • Run dmri_poistats without any parameters for help documentation on the inputs and outputs.
  • Visualize results with tkmedit or [wiki:Scuba2Guide/ScubaWorkingWithData/Scuba2POI scuba2]

Hints

  • The number of control points can have a drastic affect on your path. You should use the number of control points that match with the number of curves that you expect the path to have. This is typically between 2 and 4.
  • Unless the path is fairly straight, you may need to set intermediate points to get consistent results.
  • Use a smaller sigma (around 5) if you've set intermediate points.

PoistatsOverview (last edited 2008-04-29 11:45:47 by localhost)