Index: /branches/eam_branches/ipp-20130711/Ohana/src/tools/src/medianfilter.c
===================================================================
--- /branches/eam_branches/ipp-20130711/Ohana/src/tools/src/medianfilter.c	(revision 36012)
+++ /branches/eam_branches/ipp-20130711/Ohana/src/tools/src/medianfilter.c	(revision 36013)
@@ -96,14 +96,26 @@
     for (j = 0; j < Npixrd; j++, O++) {
       Nvalid = 0;
+      int debug = FALSE && (n == 5) && (j >= 1776779) && (j <= 1776789);
       for (k = 0; k < Nfiles; k++) {
 	v = (float *)tmpmatr[k].buffer;
+	if (debug) {
+	    fprintf (stderr, "%8.2f ", v[j]);
+	}
 	if (v[j] < MinValid) continue;
-	if (isnan(v[j])) continue;
-	if (isinf(v[j])) continue;
-	list[k] = v[j];
+	if (isnan(v[j])) {
+	    continue;
+	}
+	if (isinf(v[j])) {
+	    continue;
+	}
+	list[Nvalid] = v[j];
 	Nvalid ++;
       }
+      if (debug) fprintf (stderr, "\n");
       if (Nvalid == 0) {
 	*O = 0.0;
+	if (debug) {
+	    fprintf (stderr, "Nvalid is 0\n");
+	}
 	continue;
       }
@@ -111,9 +123,17 @@
       sum = 0;
       Nval = 0;
+      if (debug) fprintf (stderr, "list : ");
       for (k = fmin*Nvalid; k < fmax*Nvalid; k++) {
+	if (debug) {
+	    fprintf (stderr, "%8.2f ", list[k]);
+	}
 	sum += list[k];
 	Nval ++;
       }
       *O = (sum / Nval);
+      if (debug) {
+	  fprintf (stderr, " = %f / %f = %f\n", sum, Nval, *O);
+	  fprintf (stderr, "\n");
+      }
     }
 
