Skip to content

Commit b475d6f

Browse files
bogovicjcmhulbert
authored andcommitted
fix: do not write empty shards
1 parent 2d811e6 commit b475d6f

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
@@ -364,6 +364,10 @@ private ReadData writeRegionRecursive(
364364
shard.setElementData(modifiedElementData, elementPos);
365365
}
366366

367+
// do not write empty shards
368+
if (shard.isEmpty())
369+
return null;
370+
367371
return codec.encode(new RawShardDataBlock(gridPos, shard));
368372
}
369373
}

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)