[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