Proposals:Adding Streaming Support in ITK Image Writing

From KitwarePublic
Revision as of 13:54, 30 December 2008 by Blowekamp (talk | contribs) (added current implementation)
Jump to navigationJump to search

Background

This page describes the changes that are needed in ITK ImageIO classes and the ImageFileWriter in order to support streaming.

Streaming infrastructure is already available for Reading. However only a couple of ImageIO classes fully implement support for this functionality.

This page host discussions on how streaming could be implemented for writing images. The nuance is that the ImageFileWriter should become the class that selects the image pieces and request them in sequence to the pipeline. This should be done, presumably, in collaboration with the ImageIO class that manage the image file format at hand.

Current Implementation

Challenges

  • Maintaining ROI information with the image (disk ROI != image->region)
  • Inserting into an existing image on disk that has a different pixel type
  • Extending the size of an image file on disk
  • Compression (zseek) - convert to uncompressed and then insert (and then recompress?)
  • itkImageToVTKImageFilter support

Classes

ImageFileWriter

ImageIO

Specific Formats

MetaImage

Nifti

MINC2