[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