>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
