diff --git a/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java b/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java index e183965a1ea157cfc0bd6af200d2a98ad95aed34..07eee2dc17566734dae5b92d45faad48df57d4fc 100644 --- a/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java +++ b/src/main/java/bdv/img/hdf5/Hdf5VolatileShortArrayLoader.java @@ -45,6 +45,10 @@ public class Hdf5VolatileShortArrayLoader implements CacheArrayLoader< VolatileS public static volatile long sLoad = 0; + private final int[] reorderedDimensions = new int[ 3 ]; + + private final long[] reorderedMin = new long[ 3 ]; + @Override public VolatileShortArray loadArray( final int timepoint, final int setup, final int level, final int[] dimensions, final long[] min ) { @@ -66,7 +70,9 @@ public class Hdf5VolatileShortArrayLoader implements CacheArrayLoader< VolatileS // log.println( sw.toString() ); } final long t0 = System.currentTimeMillis(); - array = hdf5Reader.readShortMDArrayBlockWithOffset( getCellsPath( timepoint, setup, level ), reorder( dimensions ), reorder( min ) ); + reorder( dimensions, reorderedDimensions ); + reorder( min, reorderedMin ); + array = hdf5Reader.readShortMDArrayBlockWithOffset( getCellsPath( timepoint, setup, level ), reorderedDimensions, reorderedMin ); pEnd = System.currentTimeMillis(); final long t = pEnd - t0; final long size = array.size();