[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automatic Brain Detection from MRI scans



There is a lot of literature on how to segment brains in MRI scans
ranging from fairly simple techniques which could easily be written in
idl to very complex methods that would take months of work to implement.
The best method to use will depend on the type of MRI scan you are
working on and how accurate you want the segmentation to be. For large 3d
volumes with > 50 slices then a method to set upper and lower threshold
levels combined with 3d morphology operators to break the connections
between the brain and the surrounding structures is the simplest
approach.
For scans with just a few slices a manual approach which allows
thresholds to be set interactively and also allows the user to restrict
the region from growing out into unwanted regions would work.

This bit of code works for a single 128x128 T1 weighted slice (summed
image)- values of r and thresh have been optimised for our images and can
be adjusted. We use it to segment the brain from single slice dynamic
sequences.

mask = bytarr(s[1],s[2])
 r=7
disc = SHIFT(DIST(2*r+1), r, r) LE r
thresh=0.25*max(summed_image)
mask=summed_image gt thresh
mask=morph_open(mask,disc)
; now fill holes
roi = search2d(mask,0,0,0,0)  ;fill holes
mask(*)=1
mask(roi)=0

Anne Martel,
Dept Medical Physics,
QMC, Nottingham
anne.martel@nottingham.ac.ukqqq

Michael Cugley wrote:

> I've just been given an assignment involving MRI scans of the brain;
> one of the "wish list" features is being able to automatically detect
> the brain within each scan.  Failing that, some way of making the
> process easier, such as a single click on "brain", and the program
> then selecting the rest of the "brain" from there (similar to "magic
> wand" selection tools in paint programs).
>
> Has anyone any experience in this area?  References to look up?  I'd
> rather not have to re-invent the wheel on this one...
>
> --
> Michael Cugley (mjcugley@medphys.dundee.ac.uk)