I know about a software company that should be able to help you with reading of the
dicom images. Their address is www.kehlco.com. You can write to the owner, Mr.
Bob Kehl at [EMAIL PROTECTED]
Good luck.
Shameem Siddiqui
-----Original Message-----
From: Chris Pelkie [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, 17 November, 1999 8:39 AM
To: [email protected]
Subject: Re: [opendx-general] 3D brain modelling
>Hello,
>
>I'm a new OpenDX user, and I am trying to put together some MR brain scans
>and make a 3D modell of the brain. But I'm having two problems:
>
>- the MR scans are in DICOM image format, and i think there is no native
>driver to this format to Opendx, so I'm converting the images to another
>bitmap format (TIFF)
>
>- I have no idea how I pick several scans (2D bitmap images) and put then
>together to form a 3D image. The example that comes with the tutorial has a
>file that is a matrix with 16 scans, but it's a closed file, and I don't
>know how am I supposed to create such a file.
>
>If anyone could help me, I'd appreciate very much.
>
>Thank you,
>
>Julio Dal Poz
>
>--
First, you are correct, there is no built-in DICOM converter. There was at
one time a commercially available package from Dave Reddy (I've forgotten
his company's name) that did most or all of the radiology formats into DX.
Don't know where that stands these days.
The next problem however is that while DX can parse TIFFs through
ReadImage, TIFFs have a lot of extra stuff (tags) that aren't the data you
want. I would recommend you convert the images to something like RGB (raw
bytes) using something like imageMagick, imconv, ppmtools, xv, etc. (all
Unix utilities, though imageMagick is on NT as well). Or Debabelizer on a
Mac or PC. Then Prompter can just deal with the data itself. Of course, all
slices have to have the same dimensions in x and y.
You need to create a "series" object in one of several ways.
For a small number of slices, you could use several Imports, then
CollectSeries module to make the series. This is tedious for any number
over about 4-5 though.
Better to take a look at the Users Guide Appendix B on the native DX file
format. If you can write a shell script or a simple C program, you can
easily generate a native file which is essentially a simple header file
that points to the data files, collects them into a series object suitable
for Import (1 Import only is needed). You could always throw together your
first effort by typing and copying and pasting similar stanzas. Then you'd
have a template to encode in shell script or C or whatever your favorite
language is for future data sets.
The Data Prompter (to the best of my knowledge) cannot describe a series
that spans several files, though it can describe a series all in one file.
Once you have a series file header that points to the individual data
files, you Import and Stack (in dimension "2" or "z"). This makes the 3D
volume you're after. If you are careful to provide a meaningful "series
position" for each slice, you can at that point designate the actual z
value (in mm or whatever) that you want the slice to appear at. Then, after
Stack you can Isosurface, or use a MapToPlane (where the plane is not
necessarily along one of the major axes) to visualize.
One more note: buy lots of memory! Every pixel in each image will be seen
as a quad in 2D and you will have (x-1)*(y-1)*(z-1) cubes after Stacking.
You will probably find that you either have to Reduce (which lowers the
image density along grid axes by reinterpolating to a less fine grid)
and/or Slab (which cuts a section out of the 3D volume you will create).
But this can be done: I've done it (and others have) many times with
similar data.
I will send this, then look for a sample header file (which I may or may
not be able to locate).
Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]
(607) 257-8335 or (607) 254-8794
