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

Michel Audette michel.audette at kitware.com
Thu Apr 22 18:11:02 EDT 2010


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/aa5b28eb/attachment.htm>


More information about the Insight-developers mailing list