[Insight-developers] MetaImage Test failing on Mac
Bradley Lowekamp
blowekamp at mail.nih.gov
Tue Jul 7 21:12:09 EDT 2009
Thank you! I checked in the patch to itkMetaImage.cxx as well.
Brad
On Jul 7, 2009, at 3:59 PM, Julien Jomier wrote:
> 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