Re: MRI, ROI and displaying as a meshed object [message #33551] |
Wed, 08 January 2003 21:21 |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Sheryn Gillin (sheryn.gillin@cmr.uq.edu.au) writes:
> I have been trying unsuccessfully for about 6 months now to produce a
> meshed display of a muscle, and would appreciate any assistance you
> could provide.
>
> I load a number of [MRI] slices in from a DICOM file - 3D array, and
> use XROI to 'select' a muscle of interest in a given slice only. I
> can extract and manipulate [either the vertices with DATA, or all
> points with ContainsPoints] the ROI using the Object functions
> provided by RSI, and currently plot the result using PLOT with a
> length equivalent to the slice thickness - so basically it looks
> awful.
>
> Previously it was suggested to me to use the SHADE_VOLUME function,
> however, I can't see how this will produce a meshed visualisation of
> the muscle.
How about this. I just ran across this yesterday, as a
matter of fact.
Create an IDLgrROIGroup object and add your ROIs to it.
Your ROIs should be closed polygon types, with no holes
in them.
group = Obj_New("IDLgrROIGroup")
FOR j=0, numROIs-1 DO group->Add, myROIs[j]
Call the ComputeMesh method for the ROIGroup:
numtriangles = group->ComputeMesh(vertices, connectivity)
To view this, you could create a polygon object:
poly = Obj_New('IDLgrPolygon', vertices, POLYGON=connectivity, $
Color=[128, 128,, 128], Shading=1)
model = Obj_New('IDLgrModel')
model -> Rotate, etc, etc, into something like surface view
model -> Add, poly
XObjView, model
Let us know. :-)
Cheers,
David
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|