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}