Skip to content

Commit b108efb

Browse files
committed
fix: do not write empty shards
1 parent 84dea5b commit b108efb

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

src/main/java/org/janelia/saalfeldlab/n5/shard/DefaultDatasetAccess.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,10 @@ private ReadData writeRegionRecursive(
382382
shard.setElementData(modifiedElementData, elementPos);
383383
}
384384

385+
// do not write empty shards
386+
if (shard.isEmpty())
387+
return null;
388+
385389
return codec.encode(new RawShardDataBlock(gridPos, shard));
386390
}
387391
}

src/main/java/org/janelia/saalfeldlab/n5/shard/RawShard.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ public NDArray<Segment> index() {
7373
return index;
7474
}
7575

76+
public boolean isEmpty() {
77+
return index().allElementsNull();
78+
}
79+
7680
public ReadData getElementData(final long[] pos) {
7781
final Segment segment = index.get(pos);
7882
return segment == null ? null : segment.source().slice(segment);

0 commit comments

Comments
 (0)