diff --git a/src/main/java/bdv/server/CellHandler.java b/src/main/java/bdv/server/CellHandler.java index 0a049b7e1a522ca6cdca01dd6580e4dc6c5abdba..4b09666b33e8787ccd54900ec472b4a4b96bf753 100644 --- a/src/main/java/bdv/server/CellHandler.java +++ b/src/main/java/bdv/server/CellHandler.java @@ -158,6 +158,7 @@ public class CellHandler extends ContextHandler { */ private final BigDataServer.ExtendedCompressionOptions compressionParams; + private boolean compressionSupport = false; private ArrayList<ICacheFile> cachedCodebooks = null; private HashMap<Integer, ImageCompressor> compressors = null; private ImageCompressor lowestResCompressor = null; @@ -242,7 +243,8 @@ public class CellHandler extends ContextHandler { return; } } else { - LOG.warn("Didn't find any cached codebooks for " + this.baseFilename); + LOG.warn("Didn't find any cached codebooks for " + this.baseFilename + " and codebook training is not enabled. " + + "Enable with 'tcb' after xml file path."); return; } } @@ -276,16 +278,21 @@ public class CellHandler extends ContextHandler { for (int i = 0; i < initialCompressionCacheSize; i++) { cachedBuffers.push(new MemoryOutputStream(INITIAL_BUFFER_SIZE)); } + compressionSupport = true; + } + + public boolean isCompressionSupported() { + return compressionSupport; } private boolean trainCompressionCodebooks(final BigDataServer.ExtendedCompressionOptions compressionOptions, final Hdf5ImageLoader hdf5ImageLoader) { final ArrayImg<?, ?> arrImg = (ArrayImg<?, ?>) hdf5ImageLoader.getSetupImgLoader(0).getImage(0, 0, ImgLoaderHints.LOAD_COMPLETELY); - assert (arrImg.numDimensions() == 3); - + assert (arrImg.numDimensions() == 3) : "arrImg.numDimensions() != 3"; assert (compressionOptions.getInputDataInfo().getCacheFileName().equals(baseFilename)); + final CallbackInputData cid = new CallbackInputData((x, y, z) -> { return ((UnsignedShortType) arrImg.getAt(x, y, z)).getInteger(); diff --git a/src/main/java/bdv/server/JsonDatasetListHandler.java b/src/main/java/bdv/server/JsonDatasetListHandler.java index d976b5af55bc2c860639180eb5853164f66ec59c..051ec84363caad05809e7e3c43a53d51180de30d 100644 --- a/src/main/java/bdv/server/JsonDatasetListHandler.java +++ b/src/main/java/bdv/server/JsonDatasetListHandler.java @@ -6,6 +6,7 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ContextHandlerCollection; + import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -85,6 +86,8 @@ public class JsonDatasetListHandler extends ContextHandler writer.name( "datasetUrl" ).value( contextHandler.getDataSetURL() ); + writer.name("qcmpSupported").value(contextHandler.isCompressionSupported()); + writer.endObject(); } }