[Insight-users] reading Dicom Volume

Bradley Lowekamp blowekamp at mail.nih.gov
Tue Jan 27 22:39:07 EST 2009


Hello,

	The streaming IO is currently an area of active development.  
Specifically, improving the writing capabilities right now.

	I have an idea on how to get streaming DICOM to possible work with  
some files. I have not tried this, but I think this should work.  
MetaIO support reading rather well. You can also configure an MetaIO  
head file (.mhd) to reference certain kinds of dicom file. If this is  
done streamed reading should work. Its going to be some work to  
extract the header information needed from the dicom though. Look at: http://www.itk.org/Wiki/MetaIO/Documentation 
  for reference on how to write the header.
	And then apply the ExtractImageFilter or RegionOfInterestImageFilter  
to cause ImageFileReader to stream just the requested region.

	Also please let me know it this work :)

Brad

On Jan 27, 2009, at 9:37 AM, Iván Macía wrote:

> Dear shoosh moosh?,
>
> It seems like the GDCM DICOM reader streaming capabilities are not  
> yet supported. Someone correct me if I’m wrong.
>
> If you are really really sure that your DICOM files correspond to  
> the same volume, you can do something that, although a bit  
> complicated, may work. But this will only select a subvolume by not  
> loading some of the slices.
>
> You can use a GDCMImageIO object directly to read the information of  
> the first image to figure out the in-plane dimensions and spacing.  
> The number of slices would be the same as the number of file names.
>
> The z-spacing you need to calculate it from the Image Position  
> Patient and Image Orientation Patient DICOM tags. I think code for  
> this is somewhere in the ImageSeriesReader class. This way you can  
> calculate a Z-distance for each slice and select the range of slices  
> (and thus file names) that are valid for you.
>
> Finally you can use a standard ImageSeriesReader and pass it the  
> subset of file names in order to create the file name. In this case  
> you won’t need the in-plane dimensions or spacing.
>
> To reduce the in-plane dimensions you would need to load the  
> corresponding slices and then use something as  
> RegionOfInterestImageFilter or ExtractImageFilter.
>
> I made something similar to read slice by slice a DICOM series and  
> generate a projection in order to select a volume of interest. Maybe  
> there is a better solution but this worked for me.
>
> Regards
>
> Ivan
>
>
> De: insight-users-bounces at itk.org [mailto:insight-users-bounces at itk.org 
> ] En nombre de shoosh moosh
> Enviado el: martes, 27 de enero de 2009 12:53
> Para: insight-users at itk.org
> Asunto: [Insight-users] reading Dicom Volume
>
> I want to read a Dicom series as a volume, but I don't want to read  
> the entire volume. I want to only read smaller volume defined by say  
> the center point and volume size. Any suggestions how I can add  
> these constraints to my reader->Update() function which reads the  
> entire series set?
> I've sent several emails before and no one has replied on the  
> mailing list. I would appreciate any help.
>
>
>
> Invite your mail contacts to join your friends list with Windows  
> Live Spaces. It's easy! Try it!
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users



========================================================
Bradley Lowekamp
Lockheed Martin Contractor for
Office of High Performance Computing and Communications
National Library of Medicine
blowekamp at mail.nih.gov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090127/4e25edb9/attachment-0001.htm>


More information about the Insight-users mailing list