Skip to content

Commit 1fe4861

Browse files
committed
Fix issue if 'labels' part of filename
1 parent f0e4caf commit 1fe4861

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/loci/formats/in/ZarrReader.java

+12-6
Original file line numberDiff line numberDiff line change
@@ -1119,19 +1119,25 @@ private Number getDouble(Map<String, Object> src, String key) {
11191119
public String[] getUsedFiles(boolean noPixels) {
11201120
FormatTools.assertId(currentId, true, 1);
11211121
String zarrRootPath = currentId.substring(0, currentId.indexOf(".zarr") + 5);
1122+
int rootPathLength = zarrRootPath.length();
11221123
ArrayList<String> usedFiles = new ArrayList<String>();
11231124
reloadOptionsFile(zarrRootPath);
11241125

11251126
boolean skipPixels = noPixels || !listPixels() || !systemEnvListPixels();
11261127
boolean includeLabels = includeLabels();
11271128
try (Stream<Path> paths = Files.walk(Paths.get(zarrRootPath), FileVisitOption.FOLLOW_LINKS)) {
11281129
paths.filter(Files::isRegularFile)
1129-
.forEach(path -> {if ((!skipPixels && includeLabels) ||
1130-
(!skipPixels && !includeLabels && !path.toString().toLowerCase().contains("labels")) ||
1131-
(skipPixels && includeLabels && (path.endsWith(".zgroup") || path.endsWith(".zattrs") || path.endsWith(".xml"))) ||
1132-
(skipPixels && !includeLabels && !path.toString().toLowerCase().contains("labels") &&(path.endsWith(".zgroup") || path.endsWith(".zattrs") || path.endsWith(".xml"))))
1133-
usedFiles.add(path.toFile().getAbsolutePath());
1134-
});
1130+
.forEach(path -> {
1131+
if (
1132+
(!skipPixels && includeLabels) ||
1133+
(!skipPixels && !includeLabels && (path.toString().toLowerCase().lastIndexOf("labels")<rootPathLength) ||
1134+
(skipPixels && includeLabels && (path.endsWith(".zgroup") || path.endsWith(".zattrs") || path.endsWith(".xml"))) ||
1135+
(skipPixels && !includeLabels && (path.toString().toLowerCase().lastIndexOf("labels")<rootPathLength) &&(path.endsWith(".zgroup") || path.endsWith(".zattrs") || path.endsWith(".xml")))))
1136+
{
1137+
usedFiles.add(path.toFile().getAbsolutePath());
1138+
}
1139+
}
1140+
);
11351141
} catch (IOException e) {
11361142
e.printStackTrace();
11371143
}

0 commit comments

Comments
 (0)