diff --git a/src/main/java/fr/pasteur/ida/zellige/utils/Filter2D.java b/src/main/java/fr/pasteur/ida/zellige/utils/Filter2D.java
index 732a1eab7d814ec5782637f142482703338f2fde..0974e99fbca6d94d95edf84a0c8da4c640a12b01 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/Filter2D.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/Filter2D.java
@@ -8,6 +8,7 @@ import net.imglib2.RandomAccessibleInterval;
 import net.imglib2.algorithm.neighborhood.Neighborhood;
 import net.imglib2.algorithm.neighborhood.RectangleShape;
 import net.imglib2.img.Img;
+import net.imglib2.img.display.imagej.ImageJFunctions;
 import net.imglib2.type.NativeType;
 import net.imglib2.type.numeric.RealType;
 import net.imglib2.view.IntervalView;
@@ -39,6 +40,7 @@ public class Filter2D<T extends RealType<T> & NativeType<T>> {
     public static <T extends RealType<T> & NativeType<T>> Img<T> mean(final Img<T> source, final int radius) {
         Process<T> p = new Process<>(source, radius, "mean");
         p.run();
+
         return p.output;
     }
 
@@ -64,8 +66,9 @@ public class Filter2D<T extends RealType<T> & NativeType<T>> {
                 final IntervalView<T> outputSlice = Views.hyperSlice(output, 2, z);
                 ProcessSlice<T> p = new ProcessSlice<>(slice, outputSlice, radius);
                 p.run(method);
-            }
+            }ImageJFunctions.show( output.copy(), method );
         }
+
     }
 
     public static class ProcessSlice<T extends RealType<T> & NativeType<T>> {
@@ -112,9 +115,12 @@ public class Filter2D<T extends RealType<T> & NativeType<T>> {
         double sum = 0;
         for (final T pixel : nra.get()) {
             double value = pixel.getRealDouble();
-            values[index] = value;
-            sum = sum + value;
-            index++;
+            if(value != 0)
+            {
+                values[ index ] = value;
+                sum = sum + value;
+                index++;
+            }
         }
         return sum / (index);