MantisBT - ITK | |||||||||||||||
View Issue Details | |||||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||||
0008323 | ITK | public | 2008-12-22 11:56 | 2009-03-11 10:03 | |||||||||||
Reporter | Bradley Lowekamp | ||||||||||||||
Assigned To | Bradley Lowekamp | ||||||||||||||
Priority | normal | Severity | feature | Reproducibility | N/A | ||||||||||
Status | closed | Resolution | fixed | ||||||||||||
Platform | OS | OS Version | |||||||||||||
Product Version | |||||||||||||||
Target Version | Fixed in Version | ITK-3-12 | |||||||||||||
Resolution Date | |||||||||||||||
Sprint | |||||||||||||||
Sprint Status | |||||||||||||||
Summary | 0008323: An Implementation of streaming for ImageFileWriter with collaboration from ImageIOBase | ||||||||||||||
Description | Attached is a patch which include updates to ImageFileWriter, ImageIOBase, and itkMetaImageIO. A virtual method was added to ImageIOBase to generate RegionsSplitters specific for a ImageIO object. MetaImageIO got a implementation of this. The way ImageFileWriter executes the pipeline was modified to drive streaming. Some correction and miss matching tolerance was added to passing buffers to ImageIO. | ||||||||||||||
Steps To Reproduce | |||||||||||||||
Additional Information | Before this patch itkMetaImageStreamingWriterIOTest2 was passing with incorrect/blank output. Luis gave the following description of what needed to be done (and I did it): The design proposal for implementing this feature is to move (copy/paste) part of the code that you find in the itkStreamingImageFilter (in Code/BasicFilters) to the itkImageFileWriter class. In particular, the proposal is to use the itkImageRegionSplitter inside the ImageFileWriter. During the design discussions, one of the issues that came up is that only the specific ImageIO classes are qualified to know what would be the appropriate way to split the data in order to match the type of blocks that the output image file format can manage (e.g. DICOM can only stream slices). Therefore, the suggested design is that the ImageFileWriter will ask the ImageIO class to provide a specific instance of an itkImageRegionSplitter, and then it will use it in a for loop for generating sub-regions of the image, and request them from the preceding image filters. Until this is implemented, then your best options, is to do just what you are doing: using the itkStreamingImageFilter just before the ImageFileWriter. The drawback of course is that you have to whole in memory the full-size output image before being able to write it to disk. | ||||||||||||||
Tags | No tags attached. | ||||||||||||||
Relationships |
| ||||||||||||||
Attached Files | StreamingFileWriter.diff (15,066) 2008-12-22 11:56 https://public.kitware.com/Bug/file/1938/StreamingFileWriter.diff | ||||||||||||||
Issue History | |||||||||||||||
Date Modified | Username | Field | Change | ||||||||||||
2008-12-22 11:56 | Bradley Lowekamp | New Issue | |||||||||||||
2008-12-22 11:56 | Bradley Lowekamp | File Added: StreamingFileWriter.diff | |||||||||||||
2008-12-22 12:02 | Bradley Lowekamp | Note Added: 0014416 | |||||||||||||
2008-12-30 14:56 | Bradley Lowekamp | Note Added: 0014453 | |||||||||||||
2009-01-13 09:53 | Bradley Lowekamp | Note Added: 0014543 | |||||||||||||
2009-01-13 10:23 | Bradley Lowekamp | Note Added: 0014544 | |||||||||||||
2009-01-13 10:38 | Bradley Lowekamp | Relationship added | related to 0008333 | ||||||||||||
2009-01-13 10:56 | Bradley Lowekamp | Relationship added | related to 0008369 | ||||||||||||
2009-01-13 10:57 | Bradley Lowekamp | Status | new => assigned | ||||||||||||
2009-02-05 13:19 | Bradley Lowekamp | Assigned To | => Bradley Lowekamp | ||||||||||||
2009-02-18 12:57 | Bradley Lowekamp | Note Added: 0015147 | |||||||||||||
2009-02-18 12:57 | Bradley Lowekamp | Status | assigned => resolved | ||||||||||||
2009-02-18 12:57 | Bradley Lowekamp | Resolution | open => fixed | ||||||||||||
2009-03-11 10:03 | Bradley Lowekamp | Status | resolved => closed | ||||||||||||
2009-03-11 10:03 | Bradley Lowekamp | Fixed in Version | => ITK-3-12 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|||||
|
|||||
|
|