diff --git a/src/main/java/fr/pasteur/ida/zellige/steps/selection/util/Unbinning.java b/src/main/java/fr/pasteur/ida/zellige/steps/selection/util/Unbinning.java index a459cd24caccc9d677e90345d92c0d80cbda98ba..688eb5c016c1f66b109d1fc004d3d4249d563b40 100644 --- a/src/main/java/fr/pasteur/ida/zellige/steps/selection/util/Unbinning.java +++ b/src/main/java/fr/pasteur/ida/zellige/steps/selection/util/Unbinning.java @@ -5,7 +5,6 @@ import net.imagej.ImageJ; import net.imglib2.RandomAccess; import net.imglib2.RandomAccessibleInterval; import net.imglib2.img.Img; -import net.imglib2.img.ImgFactory; import net.imglib2.img.display.imagej.ImageJFunctions; import net.imglib2.type.NativeType; import net.imglib2.type.numeric.RealType; @@ -31,14 +30,17 @@ public class Unbinning< T extends RealType< T > & NativeType< T > > /** * * @param input a binned image - * @param factory the input image factory * @param bin the bin size * @return the input image unbinned * @param <T> input and output image type */ - public static < T extends RealType< T > & NativeType< T> > Img<T> run( RandomAccessibleInterval<T> input, ImgFactory<T> factory, int bin) + public static < T extends RealType< T > & NativeType< T> > Img<T> run( Img <T> input, int bin) { - Img <T> output = factory.create( input.dimension( 0 ) * bin, input.dimension( 1 ) * bin); + if (bin == 1) + { + return input; + } + Img <T> output = input.factory().create( input.dimension( 0 ) * bin, input.dimension( 1 ) * bin); Unbinning<T> unbinning = new Unbinning<>( input, bin, output ); unbinning.run(); return output; @@ -113,7 +115,7 @@ public class Unbinning< T extends RealType< T > & NativeType< T > > ImageJFunctions.show( kernel, "original" ); double time1 = System.currentTimeMillis(); int bin = 4; - Img< UnsignedByteType > output = Binning.binning( kernel, bin); + Img< UnsignedByteType > output = Binning.binning( kernel, bin ); double time2 = System.currentTimeMillis(); LOGGER.debug( "Multithreading time = {}s", ( time2 - time1 ) / 1000 ); assert output != null; @@ -131,7 +133,7 @@ public class Unbinning< T extends RealType< T > & NativeType< T > > } } - Img<UnsignedByteType> output_unbinned = Unbinning.run(i, i.factory(), bin); + Img<UnsignedByteType> output_unbinned = Unbinning.run(i, bin); ImageJFunctions.show( output_unbinned, "unbinned 1" ); }