[Insight-developers] itk 3.18's nrrd io on windows vs 2008 pro

Luis Ibanez luis.ibanez at kitware.com
Thu Apr 22 18:16:59 EDT 2010


Hi Michel,

Thanks for taking a look,
It really seems that the logic was changed in that commit:
http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/NrrdIO/sane.c?root=Insight&r1=1.20&r2=1.21

One interesting question will be:
why is that this problem doesn't show up in the ITK Dashboard ?


<http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/NrrdIO/sane.c?root=Insight&r1=1.20&r2=1.21>
 Thanks

         Luis


--------------------------------
On Thu, Apr 22, 2010 at 6:11 PM, Michel Audette
<michel.audette at kitware.com>wrote:

> Hi Luis,
>
> I'll have a look.
>
> Michel
>
>
> On Thu, Apr 22, 2010 at 11:43 AM, Luis Ibanez <luis.ibanez at kitware.com>wrote:
>
>>
>> Steve,
>>
>> Thanks for passing this along.
>>
>>
>>
>> Gordon, Michel,
>>
>> It looks like there are still some quirks with  NrrdIO.
>>
>> Could you please advise  ?
>>
>>
>>      Thanks
>>
>>
>>             Luis
>>
>>
>>
>> --------------------------------------------------------------------------------
>> On Thu, Apr 22, 2010 at 11:27 AM, Steve Pieper <pieper at bwh.harvard.edu>wrote:
>>
>>> [Luis, I'm cc'ing you since this may be an issue for itk-developers and
>>> I'm not on that list].
>>>
>>> Hi -
>>>
>>> When I try to use the version of nrrdio in ITK 3.18 on windows I get a
>>> problem inside airSanity().  The same file loads fine on linux.
>>>
>>>
>>>> (GUI) 112 % ../../lib/Slicer3/Plugins/Debug/Add.exe
>>>> c:/data/liverdata/LabelMap-Liver.nrrd c:/data/liverdata/LabelMap-Liver.nrrd
>>>> c:/tmp/out.nrrd
>>>> C:\pieper\bwh\slicer3\fresh\Slicer3-build\lib\Slicer3\Plugins\Debug\Add.exe:
>>>> exception caught !
>>>>
>>>> itk::ExceptionObject (00D9DB20)
>>>> Location: "void __thiscall itk::NrrdImageIO::ReadImageInformation(void)"
>>>> File: ..\..\..\Insight\Code\IO\itkNrrdImageIO.cxx
>>>> Line: 264
>>>> Description: itk::ERROR: NrrdImageIO(0A638638): ReadImageInformation:
>>>> Error reading c:/data/liverdata/LabelMap-Liver.nrrd:
>>>> [nrrd] nrrdLoad: trouble reading "c:/data/liverdata/LabelMap-Liver.nrrd"
>>>> [nrrd] nrrdRead: trouble
>>>> [nrrd] _nrrdRead: sanity check FAILED: have to fix and re-compile
>>>> [nrrd] nrrdSanity: airSanity() failed: airFPClass(AIR_QNAN,AIR_SNAN)
>>>> wrong
>>>>
>>>
>>>
>>> Also, my non-ITK teem (1.11) build works fine on this platform and
>>> compiler.
>>>
>>> I believe the issue is this checkin:
>>>
>>>
>>> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/NrrdIO/sane.c?root=Insight&r1=1.20&r2=1.21
>>>
>>>
>>> I don't know the history of this check, but I think the logic should be:
>>>
>>> #if !defined(__APPLE__) || !defined(_MSC_VER) || _MSC_VER < 1400 /* Apple
>>> and VS2005 convert SNAN to QNAN */
>>>         && airFP_SNAN == airFPClass_f(AIR_SNAN)
>>> #endif
>>>
>>> I.e. exclude the check for apple and mscv < 1400 compilers, but include
>>> it for everything else.
>>>
>>> perhaps clearer would be:
>>>
>>> #if defined(__APPLE__) || (defined(_MSC_VER) && _MSC_VER < 1400) /* Apple
>>> and VS2005 convert SNAN to QNAN so don't include check*/
>>>        // do nothing
>>> #else
>>>         && airFP_SNAN == airFPClass_f(AIR_SNAN)
>>> #endif
>>>
>>>
>>> This is critical for us, since we can't use ITK 3.18 until this issue is
>>> fixed.
>>>
>>> -Steve
>>>
>>
>>
>
>
> --
> Michel Audette, Ph.D.
> R & D Engineer,
> Kitware Inc.,
> Chapel Hill, N.C.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100422/b4928344/attachment.htm>


More information about the Insight-developers mailing list