]> Creatis software - clitk.git/commitdiff
add normalisation wrt the total image intensity sum
authorDavid Sarrut <dsarrut@goomba.clb.loc>
Wed, 6 Jun 2018 08:41:37 +0000 (10:41 +0200)
committerDavid Sarrut <dsarrut@goomba.clb.loc>
Wed, 6 Jun 2018 08:41:37 +0000 (10:41 +0200)
tools/clitkNormalizeImageFilter.ggo
tools/clitkNormalizeImageFilterGenericFilter.txx

index b67e3b85329ef48e519884ef230d96fa00b761a8..c474c64d86dfd7f9c7163009cbaa589fac188814 100644 (file)
@@ -11,3 +11,4 @@ option "imagetypes"   -       "Display allowed image types"     flag          off
 option "input"         i       "Input image filename"            string        required
 option "output"        o       "Output image filename"           string        required
 option "mask"          m       "Mask input image filename"       string        optional
+option "total_normalisation"           n       "Normalise such as the total is = 1.0"       flag off
\ No newline at end of file
index e6911afde54adce2a07e5a3656d18520ca235b43..ea8773334d2307d99953eab8c0a133690c215bc8 100644 (file)
@@ -144,13 +144,28 @@ namespace clitk
         ito.GoToBegin();
         itm.GoToBegin();
 
+        double total = 0.0;
         while (!ito.IsAtEnd()) {
+          if(itm.Get() == 1) {
+            ito.Set(((float) it.Get() - minImg)/(maxImg-minImg));
+            total += ito.Get();
+          }
+          ++it;
+          ++ito;
+          ++itm;
+        }
+
+        // Normalisation wrt total ?
+        if (mArgsInfo.total_normalisation_flag) {
+          ito.GoToBegin();
+          itm.GoToBegin();
+          while (!ito.IsAtEnd()) {
             if(itm.Get() == 1) {
-                ito.Set(((float) it.Get() - minImg)/(maxImg-minImg));
+              ito.Set(ito.Get()/total);
             }
-            ++it;
             ++ito;
             ++itm;
+          }
         }
         //
         //