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

Gordon L. Kindlmann glk at uchicago.edu
Thu Apr 22 19:44:27 EDT 2010


Hello,

Yes, thanks Michel for your continued patience with this.  It is odd  
that it didn't show up in an ITK dashboard.

As before, please go ahead and commit whatever changes to Teem are  
necessary so that the regenerated ITK/NrrdIO solves the problem  
detected here.

I'm happy to answer any further questions that come up with this, but  
I do feel like we resolved most of the hard problems associated with  
this through our previous calls and emails; hopefully this isn't  
anything that different.

Gordon

On Apr 22, 2010, at 5:16 PM, Luis Ibanez wrote:

> 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 ?
>
>
>     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.
>
>



More information about the Insight-developers mailing list