View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0005710 | ITK | public | 2007-09-14 09:03 | 2008-01-23 14:56 | |||||
Reporter | Luis Ibanez | ||||||||
Assigned To | |||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0005710: ImageIOBase doesn't support large files | ||||||||
Description | ImageIOBase uses the type "unsigned int" in methods that manage file length. | ||||||||
Additional Information | http://www.itk.org/mailman/private/insight-developers/2007-September/009575.html [^] http://www.itk.org/mailman/private/insight-developers/2007-September/009576.html [^] | ||||||||
Tags | No tags attached. | ||||||||
Resolution Date | |||||||||
Sprint | |||||||||
Sprint Status | |||||||||
Attached Files | |||||||||
Relationships | |
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()); |
Notes |
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 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |