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

Michel Audette michel.audette at kitware.com
Mon Apr 26 09:03:09 EDT 2010


Glad that it's been sorted out. I'm starting to have nightmares about
NrrdIO. :-P

Cheers,

Michel


On Sun, Apr 25, 2010 at 2:32 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
> Steve, Michel,
>
> Thanks for your help on tracking this problem.
>
> We have now committed patches to both
>
> the ITK CVS head
>
> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/NrrdIO/sane.c?root=Insight&r1=1.21&r2=1.22&sortby=date
>
> and the 3.18 branch.
>
> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/NrrdIO/sane.c?r1=1.21&r2=1.21.2.1&pathrev=ITK-3-18&sortby=date&root=Insight
>
>
> Details are available at:
>
> http://public.kitware.com/Bug/view.php?id=10609
>
>
> This should take care of the problem.
>
>
>
>      Thanks
>
>
>              Luis
>
>
> --------------------------------------------------
> 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.


More information about the Insight-developers mailing list