diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageSeriesGrid.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageSeriesGrid.java index 3cc0d6a458e34f32b4528edb65ed867e254accde..94e5556fdd891eb029ed5263f1b034aea09cd924 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageSeriesGrid.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageSeriesGrid.java @@ -488,16 +488,17 @@ class LogicalImageSeriesGrid matrix = new ArrayList<List<ImageSeriesPoint>>(); Set<Integer> depthMapSizes = new HashSet<Integer>(); + int depthLevelCount = 0; for (Map<Float, ImageSeriesPoint> depthMap : values) { matrix.add(new ArrayList<ImageSeriesPoint>(depthMap.values())); + depthLevelCount = Math.max(depthLevelCount, depthMap.size()); depthMapSizes.add(depthMap.size()); } - int depthMapSizesSize = depthMapSizes.size(); - numberOfDepthLevels = depthMapSizesSize == 0 ? 0 : depthMapSizes.iterator().next(); + numberOfDepthLevels = depthLevelCount; matrixViewPossible = seriesNumberPresent == false && timepointOrDepthNotPresent == false - && depthMapSizesSize == 1; + && depthMapSizes.size() == 1; } public ImageSeriesPoint get(int timeIndex, int depthIndex)