[Insight-users] 16-Bit TIFF and then some

Richard Beare richard.beare at gmail.com
Tue Jun 19 22:15:50 EDT 2007


Hi,

A couple more notes that might be relevant. ITK's tiff support does
indeed include 8 and 16 bit. Tiff can do a lot more (e.g floating
point) but the itk modules don't support that.

ITK uses tiff directory structure (aka stacks) to represent 3D images.
Other software use this facility in different ways - e.g some
microarray scanners include thumbnail images and different frequencies
this way - so be aware that the 3D interpretation of stacks is package
dependent.

If you have a set of hundreds of 2D tiffs then there are a number of
ways you could go about assembling them into a stack that is readable
by ITK
1) tiffcp from the libtiff distribution will let you copy images into
or out of a stack
2) ITK's image series readers will do the same (as you noticed)

Once you have a 3D tiff stack itk will read it using exactly the same
mechanism as any other 3d format (as the previous poster mentioned).
 If the vtk reader doesn't support the types you are interested in
then you can use the itk one and transfer the data to a vtk format
inside your applications (there are examples about how to do this).

Basically this is all established and reliable. The only problem I've
had was funny combinations of compression and photometric
interpretation leading to inverted images.

On 6/20/07, Greg Soltis <seekingpeace8 at hotmail.com> wrote:
> Greetings,
>
> I work at a mass spectroscopy lab and am interested in:
> - First, reading in and stacking hundreds of images in 16-bit TIFF files
> - Second, creating a 3D structure/volume from these images, and
> - Third, being able to take cross-sections or 3-dimensional sections
> (chunks) out of this volume to analyze the conditions at various regions of
> interest
>
> Since we rely on the quantitative data provided by these images, we cannot
> lose the information originally contained in the data when converting to a
> different file format or in the process of assembling or later dissecting
> this volume.
>
> We are interested in utilizing 16-bit TIFF files that inherently possess
> this quantitative data with a program called 3D Slicer (or if you know of
> another one, we are all ears).
>
> While we have discovered other imaging options/programs and file formats,
> they cannot represent the quantitative information we seek.
>
> I have checked out the past two years worth of archived dialogue on the itk
> users list for what seemed to be pertinent material and have looked through
> the tutorial (The one I find is dated 2005; is there not a newer one?).
>
> But any future effort is moot if we are not able to work with 16-bit TIFF
> files in itk (or vtk). So for starters:
>
> 1) Is ITK (and/or VTK) conducive to 16-bit TIFF files?
>         I have found options such as vtkTIFFReader, itk::TIFFImageIO, and
> itk::TIFFImageIOFactory. But do they read/accommodate 16-bit files as well
> as 8-bit? (I realize this is an itk list but, if you could enlighten me
> regarding the vtk classes/modules, I would appreciate it; likewise for
> question #2....)
>
>
> If the answer to #1 is in the affirmative (that 16-bit TIFF files are
> conducive), then the following issues arise:
>
> 2) To assemble these hundreds of images, what are the pros/cons of using the
> following? How would the end product be different? Are any of these NOT able
> to use 16-bit TIFF files?
> - vtkImageAppend
> - vtkVolume16Reader (This one seems ideal.)
> - itkImageSeriesReader
>
>
> 3) Does this process involve implementing a few steps (i.e., one to read in
> the tiff files and one to generate a volume from them) or is it much more
> complicated? As I have been learning more and more about the processes and
> programs available, this process is only becoming more complicated.
>
>
> 4) While I have programming experience, it is in Fortran and thus nothing
> comparable to the language used here – as I am sure you can tell by now.
> If this discussion can ultimately determine which classes/modules are
> necessary to provide the desired function stipulated at the onset of this
> message, is there a standard code for each class/module that I can enter
> into the system here at the lab? The time necessary for me to learn the
> code, write it, and implement it would take too long; I have to go back to
> school in a few months :) Can I presume that you have access to such a code
> for reference purposes that serves as a tool when addressing the various
> concerns that come your way? With enough research and dialogue, I can get a
> feel for what needs to be done, but actually doing it is a whole other
> ballgame for which I am not personally qualified.
>
> Thank you very much for your time and advice.
>
> Peace,
>
> Greg
>
> _________________________________________________________________
> Make every IM count. Download Messenger and join the i'm Initiative now.
> It's free. http://im.live.com/messenger/im/home/?source=TAGHM_June07
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>


More information about the Insight-users mailing list