diff --git a/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java b/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
index f7b839f0e384667fa62859ae40f160e3d3ccde28..5f56ac92dbcb91544be242dd16dad7a74bce3c77 100644
--- a/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
+++ b/src/main/java/bdv/img/catmaid/CatmaidImageLoader.java
@@ -7,6 +7,7 @@ import net.imglib2.RandomAccessibleInterval;
import net.imglib2.img.NativeImg;
import net.imglib2.img.basictypeaccess.volatiles.array.VolatileIntArray;
import net.imglib2.img.cell.CellImg;
+import net.imglib2.realtransform.AffineTransform3D;
import net.imglib2.type.NativeType;
import net.imglib2.type.numeric.ARGBType;
import net.imglib2.type.volatiles.VolatileARGBType;
@@ -45,8 +46,10 @@ public class CatmaidImageLoader extends AbstractViewerImgLoader< ARGBType, Volat
private long[][] imageDimensions;
private int[][] blockDimensions;
+
+ private AffineTransform3D[] mipmapTransforms;
- protected VolatileGlobalCellCache< VolatileIntArray > cache;
+ private VolatileGlobalCellCache< VolatileIntArray > cache;
public CatmaidImageLoader()
{
@@ -77,11 +80,19 @@ public class CatmaidImageLoader extends AbstractViewerImgLoader< ARGBType, Volat
mipmapResolutions = new double[ numScales ][];
imageDimensions = new long[ numScales ][];
blockDimensions = new int[ numScales ][];
+ mipmapTransforms = new AffineTransform3D[ numScales ];
for ( int l = 0; l < numScales; ++l )
{
mipmapResolutions[ l ] = new double[] { 1 << l, 1 << l, 1 };
imageDimensions[ l ] = new long[] { width >> l, height >> l, depth };
blockDimensions[ l ] = new int[] { tileWidth, tileHeight, 1 };
+
+ final AffineTransform3D mipmapTransform = new AffineTransform3D();
+ mipmapTransform.set( mipmapResolutions[ l ][ 0 ], 0, 0 );
+ mipmapTransform.set( mipmapResolutions[ l ][ 1 ], 1, 1 );
+ mipmapTransform.set( 0.5 * ( mipmapResolutions[ l ][ 0 ] - 1 ), 0, 3 );
+ mipmapTransform.set( 0.5 * ( mipmapResolutions[ l ][ 0 ] - 1 ), 1, 3 );
+ mipmapTransforms[ l ] = mipmapTransform;
}
final int[] maxLevels = new int[] { numScales - 1 };
@@ -150,4 +161,10 @@ public class CatmaidImageLoader extends AbstractViewerImgLoader< ARGBType, Volat
{
return cache;
}
+
+ @Override
+ public AffineTransform3D[] getMipmapTransforms( int setup )
+ {
+ return mipmapTransforms;
+ }
}