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

Luis Ibanez luis.ibanez at kitware.com
Thu Apr 22 11:43:03 EDT 2010


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100422/af8402ee/attachment.htm>


More information about the Insight-developers mailing list