comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » contouring the CT slice
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: contouring the CT slice [message #35003 is a reply to message #34921] Tue, 06 May 2003 01:57 Go to previous messageGo to previous message
Wolf Schweitzer is currently offline  Wolf Schweitzer
Messages: 21
Registered: October 2001
Junior Member
Murat Maga wrote:
> Hi All,
> I have serial cross sections of some long bones, which I would like to
> calculate centroids and mass moments of inertia for each slice.
> The steps I have managed to do so far:
> 1.) Read the stack as a three dimensional volume:
> 2.) Calculate a threshold for segmenting the data
> 3.) Get the internal and external contours with contours function.
>
> The problem, when I look at the values of PATH_XY with PATH_DATA_COORDS
> option, those are combined points of two contours. So sorting them out
> becomes quite tricky.
> The reason I need those points, I have somebody else's fortran routine
> to calculate moments based on individual points and it needs two
> separate inputs...
>
> So the first question what else I can use other than contour procedure
> to get the coordinates of external and internal contours? And what may
> be a better way to approach this problem?
> Thanks for your time,
> Murat

When anatomical information becomes important, I find that manual
landmarking is the fastest and easiest way to get the job done. You'd
probably have to locate the center of the bone marrow on each slide
manually anyway; so you may store these center points in an array.

Then have your IDL code crawl the CT data - first from the marked bone
marrow center to each point along the image border, on each line until
it hits your bone threshold level then store those coordinates as part
of your inner contour data; then from the outside, crawl from each point
along the image border back to the marked bone marrow center landmark
until you hit bone threshold level, and record those coordinates as well
as part of the outer contours.

This probably does not take as long as it sounds; worked fine for me
when I tried to measure the skin thickness on a CT head scan and
evaluate tissue swelling due to an injury, correcting it for any local
anatomical 'normal value' by subtracting the contralateral measurement.

Don't forget that you can always alter your data to suit your needs.
There is no reason to leave your 3d-array untouched as long as you have
the original data stored somewhere to return back to it. So if you want
your result to not just contain the vortex list, but also the polygons,
you could use the 'center bone marrow to perimeter of image crawl'
approach in order to fill the bone marrow with a very high data value,
say, twice your bone threshold of, say, 1300 Hounsfield units. Then
you'd be able to generate surface meshes for your outside surface (bone
threshold), and then your inside surface (the higher threshold value you
stuffed your bone marrow with), using something like SHADE_VOLUME.

Wolf Schweitzer
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: egg timer
Next Topic: sec : U Re: checking for Demo mode

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 08:41:24 PDT 2025

Total time taken to generate the page: 1.03926 seconds