Skip to content

Commit d86d334

Browse files
fix bug in multi resolution ome-zarr export
1 parent 5e672e5 commit d86d334

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/main/java/net/preibisch/mvrecon/process/export/ExportN5Api.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ else if ( storageType == StorageFormat.ZARR ) // OME-Zarr export
395395
currentTPIndex = -1;
396396
}
397397

398-
// for OME-ZARR, dimensions are 5D
398+
// we need to run explicitly in 3D because for OME-ZARR, dimensions are 5D
399399
final List<long[][]> grid = N5ApiTools.assembleJobs(
400400
null, // no need to go across ViewIds (for now)
401401
new long[] { mrInfo[ 0 ].dimensions[ 0 ], mrInfo[ 0 ].dimensions[ 1 ], mrInfo[ 0 ].dimensions[ 2 ] },
@@ -496,13 +496,25 @@ else if ( storageType == StorageFormat.ZARR ) // OME-Zarr export
496496
for ( int level = 1; level < mrInfo.length; ++level )
497497
{
498498
final int s = level;
499-
final List<long[][]> allBlocks =
499+
500+
// we need to run explicitly in 3D because for OME-ZARR, dimensions are 5D
501+
final List<long[][]> allBlocks =
500502
N5ApiTools.assembleJobs(
503+
null, // no need to go across ViewIds (for now)
504+
new long[] { mrInfo[ level ].dimensions[ 0 ], mrInfo[ level ].dimensions[ 1 ], mrInfo[ level ].dimensions[ 2 ] },
505+
blocksize(),
506+
new int[] {
507+
blocksize()[0] * computeBlocksizeFactor()[ 0 ],
508+
blocksize()[1] * computeBlocksizeFactor()[ 1 ],
509+
blocksize()[2] * computeBlocksizeFactor()[ 2 ] }
510+
);
511+
512+
/*N5ApiTools.assembleJobs(
501513
mrInfo[ level ],
502514
new int[] {
503515
blocksize()[0] * computeBlocksizeFactor()[ 0 ],
504516
blocksize()[1] * computeBlocksizeFactor()[ 1 ],
505-
blocksize()[2] * computeBlocksizeFactor()[ 2 ] });
517+
blocksize()[2] * computeBlocksizeFactor()[ 2 ] });*/
506518

507519
IOFunctions.println( new Date( System.currentTimeMillis() ) + ": Downsampling: " + Util.printCoordinates( mrInfo[ level ].absoluteDownsampling ) + " with relative downsampling of " + Util.printCoordinates( mrInfo[ level ].relativeDownsampling ));
508520
IOFunctions.println( new Date( System.currentTimeMillis() ) + ": s" + level + " num blocks=" + allBlocks.size() );

0 commit comments

Comments
 (0)