diff --git a/src/main/java/fr/pasteur/ida/zellige/main/Main.java b/src/main/java/fr/pasteur/ida/zellige/main/Main.java
index 0061e6ebb7fab96c083fd0737ce85b8b3c59c3dc..4fd9c0e17538bfe8246475c41cb992ba132804ee 100644
--- a/src/main/java/fr/pasteur/ida/zellige/main/Main.java
+++ b/src/main/java/fr/pasteur/ida/zellige/main/Main.java
@@ -63,9 +63,9 @@ public class Main
 
         // Input of the image.
         final String imagePath =
-        "doc/STK_060.tif";
+//        "doc/STK_060.tif";
 //        "C:\\Users\\ctrebeau\\Desktop\\MoucheAile\\STK\\STK_Mouche_c01_f0001_p005.tif";
-//        "C:\\Users\\ctrebeau\\Downloads\\phantom3_combined.tif";
+        "C:\\Users\\ctrebeau\\Downloads\\phantom3_combined.tif";
 //                "C:\\Users\\ctrebeau\\Desktop\\HighRes\\STK_170706_Vangl2-Lp-wt_E14.5_Phall_cochlea_01bHighRes_c01_f0001_p005.tif";
         System.out.println(imagePath);
         // Creation of the image : version with unsigned type. */
diff --git a/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java b/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java
index 65243e2ef15eaa654c5b2542a93c3b721847d115..99f07e41c91d40f58876e200714f4915269f18bb 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java
@@ -129,8 +129,8 @@ public class LocalOtsuClassification
             {
                 sourceCursor.fwd();
                 outputCursor.fwd();
-                final float s = sourceCursor.get().getRealFloat();
-                final float o = outputCursor.get().getRealFloat();
+                final double s = sourceCursor.get().getRealDouble();
+                final double o = outputCursor.get().getRealDouble();
                 {
                 if (s >= Math.max( o, threshold))// background subtraction
                     {
diff --git a/src/main/java/fr/pasteur/ida/zellige/utils/MaximumAmplitudeClassification.java b/src/main/java/fr/pasteur/ida/zellige/utils/MaximumAmplitudeClassification.java
index 3cf8992d79ccdd458d12023ccef04a18ee17d0c2..74e9bc4941cf457a3435b4043d4b202b3686e0da 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/MaximumAmplitudeClassification.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/MaximumAmplitudeClassification.java
@@ -91,7 +91,7 @@ public class MaximumAmplitudeClassification
 
                     {
                         maxAccess.setPosition( z, 2 );
-                        float maxValue = maxAccess.get().getRealFloat();
+                        double maxValue = maxAccess.get().getRealDouble();
                         if ( maxValue != 0 )
                         {
                             minAccess.setPosition( maxAccess );
@@ -112,7 +112,7 @@ public class MaximumAmplitudeClassification
          * @param <T> the type of the {@link RandomAccess}
          * @return the chosen amplitude value of the local maximum positioned at minAccess location
          */
-        private static < T extends RealType< T > & NativeType< T > > double getAmplitude( float maxValue, RandomAccess< T > minAccess , int depth)
+        private static < T extends RealType< T > & NativeType< T > > double getAmplitude( double maxValue, RandomAccess< T > minAccess , int depth)
         {
             double up = findValueUp( minAccess, maxValue );
             double down = findValueDown( minAccess, maxValue , depth);
@@ -133,7 +133,7 @@ public class MaximumAmplitudeClassification
          * @return the amplitude value above the local maximum location in the Z dimension
          */
         private static < T extends RealType< T > & NativeType< T > > double findValueUp(
-                RandomAccess< T > minAccess, float maxValue )
+                RandomAccess< T > minAccess, double maxValue )
         {
             int start = minAccess.getIntPosition( 2 );
             for ( int z = start - 1; z >= 0; z-- )
@@ -156,7 +156,7 @@ public class MaximumAmplitudeClassification
          * @return the amplitude value below the local maximum location in the Z dimension
          */
         private static < T extends RealType< T > & NativeType< T > > double findValueDown(
-                RandomAccess< T > minAccess, float maxValue, int depth )
+                RandomAccess< T > minAccess, double maxValue, int depth )
         {
             int start = minAccess.getIntPosition( 2 );
             for ( int z = start + 1; z <= depth - 1; z++ )
diff --git a/src/main/java/fr/pasteur/ida/zellige/utils/StackProjection.java b/src/main/java/fr/pasteur/ida/zellige/utils/StackProjection.java
index ed9343d324f7aedf68e2be71653a230d889711e6..373a2bd749143bb4da63ceb476a0b888f35acf8e 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/StackProjection.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/StackProjection.java
@@ -342,7 +342,7 @@ public class StackProjection
             for ( int y = 0; y <= input.dimension( 1 ) - 1; y++ )
             {
                 inputAccess.setPosition( y, 1 );
-                float[] column = new float[ ( int ) input.dimension( 2 ) ];
+                double[] column = new double[ ( int ) input.dimension( 2 ) ];
                 for ( int z = 0; z <= input.dimension( 2 ) - 1; z++ )
                 {
                     inputAccess.setPosition( z, 2 );
@@ -357,9 +357,9 @@ public class StackProjection
 
 
 
-    static float median( float[] a )
+    static double median( double[] a )
     {
-        float[] sorted = a.clone();
+        double[] sorted = a.clone();
         Arrays.sort( sorted );
         int middle = a.length / 2;
 
diff --git a/src/main/java/fr/pasteur/ida/zellige/utils/SurfacePixelSelection.java b/src/main/java/fr/pasteur/ida/zellige/utils/SurfacePixelSelection.java
index f06bc1c863bcd4611c996216f271fa64ea6b7507..02ab175c03657975001d6eecac671c7e5c7197e5 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/SurfacePixelSelection.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/SurfacePixelSelection.java
@@ -104,7 +104,7 @@ public class SurfacePixelSelection
             {
                 for ( int z = 0; z <= stack.dimension( 2 ) - 1; z++ )
                 {
-                    float value = Utils.setPositionAndGet( access, x, y, z ).getRealFloat();
+                    double value = Utils.setPositionAndGet( access, x, y, z ).getRealDouble();
                     if ( value > 0 )
                     {
                         if ( pixels[ y ][ x ] == null )