[Insight-developers] backward compatibility issue with new streaming support

Bradley Lowekamp blowekamp at mail.nih.gov
Fri Dec 11 10:19:17 EST 2009


What version were you upgrading from and to?

Is it all readers that broke for you or just MetaImageIO?

I am sorry that these changes broke your code, I tried very hard to ensure that the interface was backwards compatible.

Brad

On Dec 11, 2009, at 10:00 AM, M.Staring at lumc.nl wrote:

> Dear developers,
> 
> In our institute (LKEB) we sometimes use the ITK image IO classes
> without using the itk::ImageFileReader. (This way we can e.g. directly
> read in the data buffer into our own image type: lkebImage.)
> 
> We recently updated the underlying ITK to a more recent version, and
> found out that it did not work anymore. The reason it does not work are
> the changes that were made to support streaming. A new member m_IORegion
> was added to the class ImageIOBase; it's constructor initializes that
> member to a 2D region of size [0 0]. The framework now expects that this
> m_IORegion is set externally, which in the ITK is done in the
> ImageFileReader (line 389 of the txx). However, we do not use the
> ImageFileReader and therefore our code breaks.
> 
> To fix this issue I would expect that the m_IORegion is by default set
> to the largest possible region (or the requested region) and not to size
> 0. I'm not sure if it is the best place to fix this, but this could be
> fixed by adapting the Read() or ReadImageInformation()-functions of all
> ImageIO's that support streaming. For example MetaImageIO::Read() could
> check if m_IORegion was manually set, and if not set it to the requested
> region. Something like:
> 
> if ( !m_IORegionManuallySet ) // or: if ( m_IORegion.GetSize() == 0 )
> {
> m_IORegion = m_RequestedRegion; // or: m_IORegion =
> m_LargestPossibleRegion;
> }
> 
> and then proceed ...
> 
> What do you think ?
> 
> Regards,
> 
> Marius
> 
> 
> Marius Staring, PhD
> Division of Image Processing (LKEB)
> Department of Radiology
> Leiden University Medical Center
> PO Box 9600, 2300 RC Leiden, The Netherlands
> phone: +31 (0)71 526 1106, fax: +31 (0)71 526 6801
> m.staring at lumc.nl
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list