[Insight-developers] Re: [Insight-users] load a CT scan (DICO M)

Miller, James V (Research) millerjv@crd.ge.com
Mon, 16 Sep 2002 12:24:21 -0400


Can the MetaImage format handle the "intensity offset" that can be
encoded in DICOM images?

For instance, signed data with a known range that is stored as unsigned data 
(so you need to apply additive offset).




> -----Original Message-----
> From: Luis Ibanez [mailto:luis.ibanez@kitware.com]
> Sent: Friday, September 13, 2002 5:09 PM
> To: Miller, James V (Research)
> Cc: Stephen R. Aylward; Insight-developers (E-mail)
> Subject: Re: [Insight-developers] Re: [Insight-users] load a CT scan
> (DICOM)
> 
> 
> 
> Hi Jim,
> 
> The MetaImage format just requires to create a header text file that
> points to the original DICOM data. For example, I'm using the 
> following
> MetaImage header file to read directly a set of Dicom files. No data
> is duplicated in this approach.
> 
>    NDims = 3
>    DimSize = 512 512 41
>    Position = 0 0 0
>    ElementSpacing = 0.63281 0.63281 7.0
>    ElementByteOrderMSB = False
>    ElementType = MET_USHORT
>    HeaderSize = -1
>    ElementDataFile = image%04d.dcm 1 41 1
> 
> 
> ---(this header file is also attached to this message)----
> 
> This reads the following files into a 3D image:
> 
>    image0001.dcm
>    image0002.dcm
>    image0003.dcm
>    image0004.dcm
>    ...etc
>    image0041.dcm
> 
> The header file was created with the MetaImageImporter but it could
> have been created by hand once you know the fields that are required.
> 
> 
>    Luis
> 
> ===============================
> 
> Stephen R. Aylward wrote:
> > Cool part about the MetaImage approach is that you don't 
> have to create 
> > another copy of the data.   You just write a text file that 
> points to it.
> > 
> > We'll see how the program goes and then we can easily 
> convert it to a IO 
> > module in the future if it goes well.
> > 
> > Thanks,
> > Stephen
> > 
> > Miller, James V (Research) wrote:
> > 
> >> If the data is not DICOM conforming, then I wouldn't worry 
> about it 
> >> immediately (unless you have a particular device in house 
> that doesn't
> >> conform). I would think that we should be able to handle 
> 80%-90% of 
> >> the cases without jumping through too many hoops.
> >>
> >> (Admittedly, there is probably no way to handle the vendor specific
> >> tags appropriately (other than skipping them)).
> >>
> >> I still don't understand why a separate program is needed. 
>  Ultimately,
> >> I want to point my app at a directory of DICOM images, browse the 
> >> patient, study, and series UIDs and select a dataset to operate on.
> >>
> >> I would like to avoid having two copies of my data (one 
> DICOM version 
> >> and one ITK version). 
> >> I just think that if you are putting together a program 
> that will parse
> >> the DICOM headers to assemble a volume, then that 
> processing could be 
> >> in the IO object. You can still provide a stand alone 
> program (that used
> >> the IO object) for those cases where people want to 
> translate their 
> >> DICOM data into something else.
> >>
> >> An argument for writing the volume into a separate datafile is that
> >> that processing would only have to be done once for the dataset.  
> >> However,
> >> in practise, people are not going to running algorithms again and 
> >> again and again on the same data.  Ultimately, people will visit a 
> >> dataset once and run their processing on that data and 
> then move onto 
> >> the next dataset.
> >>
> >>
>