QuPath loading lif-files

Hi @petebankhead

we recently ran into some trouble when loading lif-files with the latest version v0.2.0-m4. With the debug executable we get the following error message:

10:21:08.667 [qupath-shared-2] [INFO ] loci.formats.ImageReader - LIFReader initializing \\bigdata\science\Med\LMF\_Felix\Dylan\01-10_NOT_FUNCTIONAL_Mk_Lo_IC_L_s12_x10.lif
10:21:08.668 [qupath-shared-2] [INFO ] loci.formats.FormatHandler - Reading header
10:21:08.671 [qupath-shared-2] [INFO ] loci.formats.FormatHandler - Finding image offsets
10:21:08.679 [qupath-shared-2] [WARN ] o.x.m.e.h.ImmersionEnumHandler - Unknown Immersion value 'null' will be stored as "Other"
10:21:08.679 [qupath-shared-2] [WARN ] o.x.m.e.h.CorrectionEnumHandler - Unknown Correction value 'null' will be stored as "Other"
10:21:08.680 [qupath-shared-2] [WARN ] q.l.i.s.b.BioFormatsImageServer - Nominal objective magnification missing for 0:0
10:21:08.682 [qupath-shared-2] [WARN ] q.l.i.s.b.BioFormatsImageServer - Nominal objective magnification missing for 0:0
10:21:08.683 [qupath-shared-2] [WARN ] q.l.i.s.b.BioFormatsImageServer - Nominal objective magnification missing for 0:0
10:21:27.048 [qupath-shared-2] [WARN ] q.l.g.c.ProjectImportImagesCommand - Exception adding Image null
java.lang.IllegalStateException: Weights must be non-negative
        at com.google.common.base.Preconditions.checkState(Preconditions.java:508)
        at com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2011)
        at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2832)
        at com.google.common.cache.LocalCache.put(LocalCache.java:4183)
        at qupath.lib.images.servers.AbstractTileableImageServer.getTile(AbstractTileableImageServer.java:164)
        at qupath.lib.images.servers.AbstractTileableImageServer.readBufferedImage(AbstractTileableImageServer.java:208)
        at qupath.lib.images.servers.AbstractTileableImageServer.readBufferedImage(AbstractTileableImageServer.java:32)
        at qupath.lib.images.servers.AbstractImageServer.getDefaultThumbnail(AbstractImageServer.java:313)
        at qupath.lib.gui.commands.ProjectImportImagesCommand.getThumbnailRGB(ProjectImportImagesCommand.java:570)
        at qupath.lib.gui.commands.ProjectImportImagesCommand.initializeEntry(ProjectImportImagesCommand.java:507)
        at qupath.lib.gui.commands.ProjectImportImagesCommand$1.lambda$call$1(ProjectImportImagesCommand.java:279)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source)
        at java.base/java.util.concurrent.CountedCompleter.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doInvoke(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.invoke(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
        at qupath.lib.gui.commands.ProjectImportImagesCommand$1.call(ProjectImportImagesCommand.java:277)
        at qupath.lib.gui.commands.ProjectImportImagesCommand$1.call(ProjectImportImagesCommand.java:237)
        at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)

This files is one among a couple of tile-scans we performed, but most of them can be loaded, while some cause the error above. I was unable so fare to figure out what causes this. Can you help?

Best,

Felix

Hi Felix, you can find out more about the problem at Error in loading ome.tiff images in QuPath

Thanks @petebankhead for the swift reply. I checked out the dev-m5 branch and was able to load the file (Win10, built agains openjdk 11)

1 Like