Thank you! I just tried that code and I got the following histograms (I’m assuming one is hematoxylin and the other is DAB?). However, they have negative values which I was unsure why that occurred?
I then looked back and it seems I got the following errors after the code ran:
ERROR: NegativeArraySizeException at line 14: -207209802
ERROR: java.desktop/java.awt.image.DataBufferInt.(Unknown Source)
java.desktop/java.awt.image.Raster.createPackedRaster(Unknown Source)
java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
java.desktop/java.awt.image.BufferedImage.(Unknown Source)
qupath.lib.images.servers.AbstractTileableImageServer.createDefaultRGBImage(AbstractTileableImageServer.java:211) qupath.lib.images.servers.AbstractTileableImageServer.readBufferedImage(AbstractTileableImageServer.java:250) qupath.lib.images.servers.AbstractTileableImageServer.readBufferedImage(AbstractTileableImageServer.java:56) qupath.lib.images.servers.ColorDeconvolutionImageServer.readBufferedImage(ColorDeconvolutionImageServer.java:164) qupath.lib.images.servers.ColorDeconvolutionImageServer.readBufferedImage(ColorDeconvolutionImageServer.java:57)
qupath.imagej.tools.IJTools.convertToImagePlus(IJTools.java:680)
qupath.imagej.tools.IJTools.convertToImagePlus(IJTools.java:719)
qupath.imagej.tools.IJTools$convertToImagePlus.call(Unknown Source)
Script1.run(Script1.groovy:15)
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:926)
qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:859)
qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:782)
qupath.lib.gui.scripting.DefaultScriptEditor$2.run(DefaultScriptEditor.java:1271)
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.base/java.util.concurrent.FutureTask.run(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base/java.lang.Thread.run(Unknown Source)
Line 14 was the following command: def pathImage = IJTools.convertToImagePlus(server, region)