View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0011993 | ITK | ITK | public | 2011-03-21 13:00 | 2011-03-21 15:44 | ||||||||
Reporter | Simon Rit | ||||||||||||
Assigned To | Bradley Lowekamp | ||||||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||||||
Status | assigned | Resolution | open | ||||||||||
Platform | Windows | OS | Windows | OS Version | 7 | ||||||||
Product Version | ITK-3-20 | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0011993: Streaming and InPlaceImageFilter | ||||||||||||
Description | Problem with InPlaceImageFilter when using streaming. When connecting the input of an InPlaceImageFilter to a filter that has been updated and try to write the output of this filter with SetNumberOfStreamDivisions set e.g. to 2, only the first half of the filter is updated. | ||||||||||||
Steps To Reproduce | Compile the test program: ////////////////////////////////////////////////////////////// #include <itkImageFileReader.h> #include <itkImageFileWriter.h> #include <itkMultiplyByConstantImageFilter.h> int main(int argc, char * argv[]) { typedef double PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > ImageType; typedef itk::ImageFileReader<ImageType> ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(argv[1]); reader->Update(); typedef itk::MultiplyByConstantImageFilter< ImageType, PixelType, ImageType > FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput(reader->GetOutput()); filter->SetConstant(0.); filter->SetInPlace(atoi(argv[2])); typedef itk::ImageFileWriter< ImageType > WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetInput(filter->GetOutput()); writer->SetFileName(argv[3]); writer->SetNumberOfStreamDivisions(2); writer->Update(); return EXIT_SUCCESS; } ////////////////////////////////////////////////////////////// Use a test image input.mha and run successively: $ testPgm input.mha 0 output0.mha $ testPgm input.mha 1 output1.mha output0.mha and output1.mha should be the same but are not: only half of output1.mha is set to 0 instead of the full image. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Resolution Date | |||||||||||||
Sprint | |||||||||||||
Sprint Status | backlog | ||||||||||||
Attached Files | |||||||||||||
Relationships | |
Relationships |
Notes | |
(0025849) Bradley Lowekamp (developer) 2011-03-21 15:44 |
I believe this issue is related to the InPlaceImageFilter not checking that the input buffered region, equals the output buffer. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2011-03-21 13:00 | Simon Rit | New Issue | |
2011-03-21 15:42 | Bradley Lowekamp | Assigned To | => Bradley Lowekamp |
2011-03-21 15:42 | Bradley Lowekamp | Status | new => assigned |
2011-03-21 15:44 | Bradley Lowekamp | Note Added: 0025849 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |