View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005710ITKpublic2007-09-14 09:032008-01-23 14:56
ReporterLuis Ibanez 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0005710: ImageIOBase doesn't support large files
DescriptionImageIOBase uses the type "unsigned int" in methods that manage file length.
Additional Informationhttp://www.itk.org/mailman/private/insight-developers/2007-September/009575.html [^]
http://www.itk.org/mailman/private/insight-developers/2007-September/009576.html [^]
TagsNo tags attached.
Resolution Date
Sprint
Sprint Status
Attached Files

 Relationships

  Notes
(0008993)
Luis Ibanez (manager)
2007-09-15 18:46

A fix attempt has been committed to the CVS repository:

http://www.itk.org/cgi-bin/viewcvs.cgi/Code/IO/itkImageIOBase.h?root=Insight&sortby=date&r2=1.47&r1=1.46 [^]
http://www.itk.org/cgi-bin/viewcvs.cgi/Code/IO/itkImageIOBase.cxx?root=Insight&sortby=date&r2=1.70&r1=1.69 [^]
(0010244)
Luis Ibanez (manager)
2008-01-23 14:56

The issue of type was solved.

However, this didn't solved the original need of the user, since they
were actually needing to access a subregion of the image, not the entire
image:


email from Thomas Feuvrier: (9/19/07)

In fact, to do the streaming reading in the otb::ImageFileReader, we
must calcule the size in Byte of a specific region, not for all
dimension image.
So we can't use directly the ImageIOBase::GetImageSizeInBytes() method
because it call ImageIOBase::GetImageSizeInComponents() wich call
this->GetImageSizeInPixels().
And the ImageIOBase::GetComponentSize() method is protected, not public.
So we can't write the line :
   std::streamoff nbBytes;
   nbBytes = static_cast<std::streamoff>(region.GetNumberOfPixels())
* this->m_ImageIO->GetNumberOfComponents() * this->GetComponentSize()

To solve me problem, I find this solution :
   nbBytes = this->m_ImageIO->GetImageSizeInBytes() /
this->m_ImageIO->GetImageSizeInPixels() *
static_cast<std::streamoff>(region.GetNumberOfPixels());

 Issue History
Date Modified Username Field Change
2007-09-14 09:03 Luis Ibanez New Issue
2007-09-15 18:46 Luis Ibanez Note Added: 0008993
2008-01-23 14:56 Luis Ibanez Status new => closed
2008-01-23 14:56 Luis Ibanez Note Added: 0010244
2008-01-23 14:56 Luis Ibanez Resolution open => fixed


Copyright © 2000 - 2018 MantisBT Team