diff --git a/src/main/java/io/bioimage/modelrunner/tensor/Tensor.java b/src/main/java/io/bioimage/modelrunner/tensor/Tensor.java index 698da261..415cdc29 100644 --- a/src/main/java/io/bioimage/modelrunner/tensor/Tensor.java +++ b/src/main/java/io/bioimage/modelrunner/tensor/Tensor.java @@ -335,7 +335,11 @@ public static < T extends RealType< T > & NativeType< T >, R extends RealType< R { final ImgFactory< R > factory = Util.getArrayOrCellImgFactory( input, type ); final Img< R > output = factory.create( input ); - RealTypeConverters.copyFromTo( input, output ); + RealType< ? > s = Util.getTypeFromInterval( input ); + RealType< ? > d = Util.getTypeFromInterval( output ); + Converter< RealType< ? >, RealType< ? > > copy = RealTypeConverters.getConverter( s, d ); + boolean useMultiThreading = Intervals.numElements(output) >= 20_000; + LoopBuilder.setImages( input, output ).multiThreaded( useMultiThreading ).forEachPixel( copy::convert ); return output; }