Differences between revisions 1 and 22 (spanning 21 versions)
Revision 1 as of 2004-08-03 20:51:31
Size: 854
Editor: EvelinaBusa
Comment:
Revision 22 as of 2010-12-29 23:41:37
Size: 4243
Editor: KhoaNguyen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= mri_watershed = ## Note: This page was created with the CommandTemplate
##
## If you're modifying this page please take a look at the
## latest version of CommandTemplate to ensure that you're
## using the latest version of the CommandTemplate
##
## See HelpOnCommandTemplate for description of formatting
<<Navigation(children)>> '''Index''' <<TableOfContents>>
Line 3: Line 10:
This command is used to automatically strip the skull and other non-brain tissue voxels from an individual's normalized T1 volume to create a brain volume. = Name =
mri_watershed - strip skull and other outer non-brain tissue
Line 5: Line 13:
= Synopsis =
 command argA argB -flag1 <arg1> -flag2 <arg2> -flag3 <arg3>
= Arguments =
== Positional Arguments ==
||invol ||input volume ||
||outvol ||output volume ||
Line 8: Line 18:
= Positional Arguments =
 argA
Line 11: Line 19:
 Description == Optional Flagged Arguments ==
||-atlas ||use the atlas information to correct the segmentation. ||When the segmented brain is not correct, this option might help you. ||
||-surf [surfname] ||save the BEM surfaces. ||In order to get the surfaces consistent with tkmedit, you have to use the option -useSRAS. ||
||-useSRAS ||use the surface RAS coordinates (not the scanner RAS) for surfaces. || ||
||-noT1 ||don't do T1 analysis. (Useful when running out of memory) || ||
||-less ||shrink the surface || ||
||-more ||expand the surface || ||
||-wat ||use only the watershed algorithm || ||
||-T1 ||specify T1 input volume (T1 grey value = 110) || ||
||-wat+temp ||watershed algo and first template smoothing || ||
||-first_temp ||use only the first template smoothing + local matching || ||
||-surf_debug ||visualize the surfaces onto the output volume || ||
||-brainsurf [surfname] ||save the brain surface || ||
||-shk_br_surf [int_h surfname] ||to save the brain surface shrank inward of int_h mm || ||
||-s [int_i int_j int_k] ||add a seed point || ||
||-c [int_i int_j int_k] ||specify the center of the brain (in voxel unit) || ||
||-r int_r ||specify the radius of the brain (in voxel unit) || ||
||-t int_threshold ||change the threshold in the watershed analyze process || ||
||-h int_hpf ||precize the preflooding height (in percent) || ||
||-n ||not use the watershed analyze process || ||
||-LABEL ||labelize the output volume into scalp, skull, csf, gray and white || ||
||-man [int_csf int_trn int_gray] ||to change the different parameters csf_max, transition_intensity and GM_intensity || ||
||-mask ||mask a volume with the brain mask || ||
||--help ||show usage message || ||
||--version ||show the current version || ||
Line 13: Line 45:
 argB

 Description

= Required Flagged Arguments =
 -flag1 <arg1>

 Description

 - flag2 <arg2>

 Description

= Optional Flagged Arguments =

 -flag3 <arg3>

 Description.
Line 33: Line 47:
 file1 ||brainvol ||skull stripped brain volume ||
||BEMsurfaces ||when you specify the option -brainsurf surfname ||
Line 35: Line 50:
 Description
Line 37: Line 51:
 file2 Produce the brain volume from T1 volume or the scanned volume.
Line 39: Line 53:
 Description = Examples =
== Example 1 ==
mri-watershed -atlas T1 brain
Line 41: Line 57:
= Example 1 =
 command argA argB -flag1 foo -flag2 goo
where T1 is the T1 volume and brain is the output brain volume. When the cerebellum is cut-off from the brain or getting the left/right asymmetric brain, you should first try this -atlas option.
Line 44: Line 59:
 Description == Example 2 ==
mri-watershed T1 brain
Line 46: Line 62:
= Example 2 =
 command argA argB -flag1 foo -flag2 goo -flag3 hoo
The same as the first example, but no correction is applied to the intermediate result.
Line 49: Line 64:
 Description = Bugs =
None
Line 51: Line 67:
= Version =
 $ CVS ID $

= Author =
 JaneSmith
= See Also =
[[mri_normalize]]
Line 58: Line 71:
 CommandGuide FreeSurfer, FsFast
Line 60: Line 73:
= Methods Description =
{{{
The "watershed" segmentation algorithm was used to dertermine the intensity values for white matter, grey matter, and CSF.
A force field was then used to fit a spherical surface to the brain. The shape of the surface fit was then evaluated against a previously derived template.

The finely grained sphere was fit to the brain.

(Segonne 2004)
}}}
{{{
First, the code is constructing a discretized distribution of the whole intensity image (300 points) -> this is what PDcurve is doing. In doing so, I remove noisy voxels by removing the one thousandth brightest voxels.

Then, in analyze_curve, I try to determine a meaningfull threshold (that would be SKULL_PD) of this distribution of voxels. To do so, the distribution should be peaking somewhere in the 300 points and then decreasing. In this decreasing region (that I find between 3max/4 and max/5), I do a linear least square approximation to fit the best line to this decreasing region: aX+b and then simply set SKULL_PD = -b/a, i.e. the region where the fit becomes 0.

Needless to say that there is plenty of code regions that is not really robust and might fail.
}}}
Line 61: Line 90:
 Report bugs to <> Report bugs to < freesurfer@nmr.mgh.harvard.edu > YasunariTosa

Index

Name

mri_watershed - strip skull and other outer non-brain tissue

Arguments

Positional Arguments

invol

input volume

outvol

output volume

Optional Flagged Arguments

-atlas

use the atlas information to correct the segmentation.

When the segmented brain is not correct, this option might help you.

-surf [surfname]

save the BEM surfaces.

In order to get the surfaces consistent with tkmedit, you have to use the option -useSRAS.

-useSRAS

use the surface RAS coordinates (not the scanner RAS) for surfaces.

-noT1

don't do T1 analysis. (Useful when running out of memory)

-less

shrink the surface

-more

expand the surface

-wat

use only the watershed algorithm

-T1

specify T1 input volume (T1 grey value = 110)

-wat+temp

watershed algo and first template smoothing

-first_temp

use only the first template smoothing + local matching

-surf_debug

visualize the surfaces onto the output volume

-brainsurf [surfname]

save the brain surface

-shk_br_surf [int_h surfname]

to save the brain surface shrank inward of int_h mm

-s [int_i int_j int_k]

add a seed point

-c [int_i int_j int_k]

specify the center of the brain (in voxel unit)

-r int_r

specify the radius of the brain (in voxel unit)

-t int_threshold

change the threshold in the watershed analyze process

-h int_hpf

precize the preflooding height (in percent)

-n

not use the watershed analyze process

-LABEL

labelize the output volume into scalp, skull, csf, gray and white

-man [int_csf int_trn int_gray]

to change the different parameters csf_max, transition_intensity and GM_intensity

-mask

mask a volume with the brain mask

--help

show usage message

--version

show the current version

Outputs

brainvol

skull stripped brain volume

BEMsurfaces

when you specify the option -brainsurf surfname

Produce the brain volume from T1 volume or the scanned volume.

Examples

Example 1

mri-watershed -atlas T1 brain

where T1 is the T1 volume and brain is the output brain volume. When the cerebellum is cut-off from the brain or getting the left/right asymmetric brain, you should first try this -atlas option.

Example 2

mri-watershed T1 brain

The same as the first example, but no correction is applied to the intermediate result.

Bugs

None

See Also

mri_normalize

Links

FreeSurfer, FsFast

Methods Description

The "watershed" segmentation algorithm was used to dertermine the intensity values for white matter, grey matter, and CSF.
A force field was then used to fit a spherical surface to the brain. The shape of the surface fit was then evaluated against a previously derived template.

The finely grained sphere was fit to the brain.

(Segonne 2004)

First, the code is constructing a discretized distribution of the whole intensity image (300 points) -> this is what PDcurve is doing. In doing so, I remove noisy voxels by removing the one thousandth brightest voxels.

Then, in analyze_curve, I try to determine a meaningfull threshold (that would be SKULL_PD) of this distribution of voxels. To do so, the distribution should be peaking somewhere in the 300 points and then decreasing. In this decreasing region (that I find between 3max/4 and max/5), I do a linear least square approximation to fit the best line to this decreasing region: aX+b and then simply set SKULL_PD = -b/a, i.e. the region where the fit becomes 0.

Needless to say that there is plenty of code regions that is not really robust and might fail.

Reporting Bugs

Report bugs to < freesurfer@nmr.mgh.harvard.edu > YasunariTosa

mri_watershed (last edited 2018-01-04 10:17:45 by MorganFogarty)