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 99f07e41c91d40f58876e200714f4915269f18bb..8adad8ef99f8f7fc944bc1e98f35a7a30a1b723d 100644
--- a/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java
+++ b/src/main/java/fr/pasteur/ida/zellige/utils/LocalOtsuClassification.java
@@ -101,13 +101,20 @@ public class LocalOtsuClassification
 
             for ( Interval interval : intervals )
             {
-                IntervalView< T > viewSource = Views.offsetInterval( input, interval );
-                IntervalView< T > viewGrid = Views.offsetInterval( grid, interval );
-                T threshold = Otsu.getThreshold( viewSource );
-                viewGrid.forEach( pixel -> pixel.set( threshold ) );
+                computeLocalThreshold( input,  grid , interval );
             }
         }
 
+
+        public static < T extends RealType< T > & NativeType< T > > void
+        computeLocalThreshold( Img< T > input, Img< T > grid , Interval interval )
+        {
+            IntervalView< T > viewSource = Views.offsetInterval( input, interval );
+            IntervalView< T > viewGrid = Views.offsetInterval( grid, interval );
+            T threshold = Otsu.getThreshold( viewSource );
+            viewGrid.forEach( pixel -> pixel.set( threshold ) );
+        }
+
         /**
          *
          * @param input the input {@link Img}