]> Creatis software - clitk.git/commitdiff
uncertainty=100% when no dose in voxel (as in Gate)
authorgueth <gueth>
Thu, 3 Mar 2011 15:03:30 +0000 (15:03 +0000)
committerDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Fri, 26 Jul 2013 13:01:32 +0000 (15:01 +0200)
tests_dav/clitkImageUncertainty.cxx

index b01d1f0ff135daf1083bb693c4105a9708172764..6fc003b959710f4afd1214a27f18faa88fd8f2d6 100644 (file)
@@ -3,8 +3,8 @@
   Program:   clitk
   Module:    $RCSfile: clitkImageUncertainty.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/03/09 15:45:20 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2011/03/03 15:03:30 $
+  Version:   $Revision: 1.3 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 // clitk include
 #include "clitkImageUncertainty_ggo.h"
 #include "clitkImageCommon.h"
+#include "clitkCommon.h"
 
 // itk include
 #include "itkImageRegionConstIterator.h"
 #include "itkImageRegionIterator.h"
 
+#include <cmath> // for isfinite
+
 //====================================================================
 int main(int argc, char * argv[]) {
 
@@ -75,8 +78,9 @@ int main(int argc, char * argv[]) {
   while ( !pi.IsAtEnd() ) {  
        double squared = pii.Get();
        double mean = pi.Get();
-       po.Set( sqrt((NumberOfEvents*squared - mean*mean) / 
-                                ((NumberOfEvents-1)*(mean*mean)) ) );
+       double uncert = sqrt((NumberOfEvents*squared - mean*mean) / ((NumberOfEvents-1)*(mean*mean)));
+       if (!std::isnormal(uncert)) uncert = 1.;
+       po.Set(uncert);
        ++pi;
        ++pii;
        ++po;