[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