[Insight-developers] MetaImage Test failing on Mac

Julien Jomier julien.jomier at kitware.com
Tue Jul 7 15:59:01 EDT 2009


Brad,

I submitted the patch for you. It should take some time to propagate to 
the repositories.

Julien

Bradley Lowekamp wrote:
> Hello,
> 
> Can some one apply this path to the metaio library?
> 
> I build an experimental build with the attached patch for the metaio 
> library:
> http://www.cdash.org/CDash/buildSummary.php?buildid=372755
> 
> After the patch is applied to the utility library, I can then file 
> itkMetaImageIO with:
> m_MetaImage.ElementByteOrderFix( m_IORegion.GetNumberOfPixels() );
> 
> Then the dash board will look better again :)
> 
> Brad
> 
> 
> ------------------------------------------------------------------------
> 
> 
> 
> On Jul 6, 2009, at 11:56 AM, Stephen Aylward wrote:
> 
>> I'd rather see it fixed in metaIO - going outside of metaIO to call a 
>> function just to avoid a bug in metaIO seems like a bad idea :)
>>
>> Seems like backward compatibility can be preserved.  Add an arg to 
>> ElementByteOrderFix that is the buffer size, but have it default to 0 
>> which implies use the full buffer (I know, I hate such hidden 
>> "features" but I'd rather preserve backward compatibility and metaIO 
>> performs such badness elsewhere so it is almost a design pattern :) ).  
>>
>> Thanks for catching this!!!
>>
>> Stephen
>>
>> On Mon, Jul 6, 2009 at 11:50 AM, Bradley Lowekamp 
>> <blowekamp at mail.nih.gov <mailto:blowekamp at mail.nih.gov>> wrote:
>>
>>     Hello,
>>     I remember this test now, it did not work right when I first
>>     encountered it. 
>>
>>     1) The itkMetaImageStreamingWriterIOTest2:
>>
>>     # This test is failing to produce correct output
>>     ADD_TEST(itkMetaImageStreamingWriterIOTest2 ${IO_TESTS} 
>>     #  --compare ${ITK_DATA_ROOT}/Input/mri3D.mhd
>>     #            ${ITK_TEST_OUTPUT_DIR}/mri3DWriteStreamed.mha
>>       itkMetaImageStreamingWriterIOTest
>>                 ${ITK_DATA_ROOT}/Input/mri3D.mhd
>>                 ${ITK_TEST_OUTPUT_DIR}/mri3DWriteStreamed.mha)
>>
>>     The input mha file references a dcm file. And meta IO does not
>>     support streaming from that format well. Before I made any changes
>>     to the streaming IO, this test was passing, but not producing the
>>     correct output file on all systems.
>>
>>     2) The cause of the segfault is that
>>     MetaImage::ElementByteOrderSwap assumes the size of the buffer is
>>     the size of the  image, but in the case of streaming this is not
>>     true. This problem could have been encountered before I made the
>>     recent changes to ImageFileReader. I see two possible solutions,
>>     A) add a MetaImage function to take the buffer size as a
>>     parameter, or B) have itkMetaImageIO not call
>>     MetaImage::ElementByteOrderFix, but instead call an
>>     itk::ByteSwapper. I think option B would be easiest. 
>>
>>     Brad
>>
>>
>>
>> -- 
>> Stephen R. Aylward, Ph.D.
>> Director of Medical Imaging
>> Kitware, Inc. - North Carolina Office
>> http://www.kitware.com
>> (518) 371-3971 x300 (NY Line)
>> (919) 969-6990 x300 (NC Line)
>> stephen.aylward (Skype)
> 
> ========================================================
> 
> Bradley Lowekamp  
> 
> Lockheed Martin Contractor for
> 
> Office of High Performance Computing and Communications
> 
> National Library of Medicine 
> 
> blowekamp at mail.nih.gov <mailto:blowekamp at mail.nih.gov>
> 
> 
> 


More information about the Insight-developers mailing list