From e7fd26ece6985ba41975ec1e9974a969ccd2183b Mon Sep 17 00:00:00 2001 From: Melissa Linkert Date: Fri, 16 Jun 2023 11:32:03 -0500 Subject: [PATCH 1/2] Fix progress bars for multiple planes --- .../glencoesoftware/pyramid/PyramidFromDirectoryWriter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java b/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java index 51d4a2b..64bb927 100755 --- a/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java +++ b/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java @@ -1184,8 +1184,9 @@ private void convertPyramid(PyramidSeries s) LOG.info("Converting resolution #{}", resolution); ResolutionDescriptor descriptor = s.resolutions.get(resolution); int tileCount = descriptor.numberOfTilesY * descriptor.numberOfTilesX; + int totalTileCount = tileCount * s.planeCount; - getProgressListener().notifyResolutionStart(resolution, tileCount); + getProgressListener().notifyResolutionStart(resolution, totalTileCount); int plane = 0; for (int t=0; t Date: Mon, 3 Jul 2023 14:32:22 -0500 Subject: [PATCH 2/2] Use one executor per resolution, instead of per series This means each resolution is written before proceeding to the next resolution. --- .../pyramid/PyramidFromDirectoryWriter.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java b/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java index 64bb927..9665304 100755 --- a/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java +++ b/src/main/java/com/glencoesoftware/pyramid/PyramidFromDirectoryWriter.java @@ -1151,8 +1151,6 @@ public void convertToPyramid() InterruptedException, DependencyException { for (PyramidSeries s : series) { - executor = new ThreadPoolExecutor( - maxWorkers, maxWorkers, 0L, TimeUnit.MILLISECONDS, tileQueue); convertPyramid(s); } StopWatch t0 = new Slf4JStopWatch("writeIFDs"); @@ -1179,8 +1177,11 @@ private void convertPyramid(PyramidSeries s) int rgbChannels = s.rgb ? 3 : 1; int bytesPerPixel = FormatTools.getBytesPerPixel(s.pixelType); - try { - for (int resolution=0; resolution