Bioformat is not able to open .dm4 files

Dear community,

I’ve a trouble concerning Gatan Digital Micrograph .dm4 files. I work with the latest version of Fiji & Bioformat, using a Mac OS Mojave 10.14.14 with Java version 8 update 212 (Build 1.8.0_212-b10). When I’m trying to open my files using Fiji the following error message occurs in the console :

Verifying Gatan format
Reading tags
There was a problem with the class loci.common.DataTools which can be found here:
/Applications/ImageJ%202.app/jars/bio-formats/formats-common-5.1.10.jar
/Applications/ImageJ%202.app/jars/bio-formats/ome-common-6.0.3.jar

WARNING: multiple locations found!
java.lang.NoSuchMethodError: loci.common.DataTools.parseDouble(Ljava/lang/String;)Ljava/lang/Double;
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:581)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.initFile(GatanReader.java:212)
	at loci.formats.FormatReader.setId(FormatReader.java:1389)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:499)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:499)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:72)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:516)
	at ij.io.Opener.openImage(Opener.java:370)
	at ij.io.Opener.openImage(Opener.java:242)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.openAndAddToRecent(Opener.java:291)
	at ij.plugin.DragAndDrop.openFile(DragAndDrop.java:192)
	at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
	at java.lang.Thread.run(Thread.java:748)

[ERROR] null
java.lang.NoSuchMethodException: Could not find method loci.common.DataTools.parseDouble(Ljava/lang/String;)Ljava/lang/Double;
There was a problem with the class loci.common.DataTools which can be found here:
/Applications/ImageJ%202.app/jars/bio-formats/formats-common-5.1.10.jar
/Applications/ImageJ%202.app/jars/bio-formats/ome-common-6.0.3.jar

WARNING: multiple locations found!
java.lang.NoSuchMethodError: loci.common.DataTools.parseDouble(Ljava/lang/String;)Ljava/lang/Double;
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:581)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.initFile(GatanReader.java:212)
	at loci.formats.FormatReader.setId(FormatReader.java:1389)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:499)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:499)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:72)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:516)
	at ij.io.Opener.openImage(Opener.java:370)
	at ij.io.Opener.openImage(Opener.java:242)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.openAndAddToRecent(Opener.java:291)
	at ij.plugin.DragAndDrop.openFile(DragAndDrop.java:192)
	at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
	at java.lang.Thread.run(Thread.java:748)

	at loci.formats.in.GatanReader.parseTags(GatanReader.java:581)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.parseTags(GatanReader.java:558)
	at loci.formats.in.GatanReader.initFile(GatanReader.java:212)
	at loci.formats.FormatReader.setId(FormatReader.java:1389)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:499)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:499)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:72)
	at ij.IJ.runUserPlugIn(IJ.java:229)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.IJ.runPlugIn(IJ.java:182)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:516)
	at ij.io.Opener.openImage(Opener.java:370)
	at ij.io.Opener.openImage(Opener.java:242)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.openAndAddToRecent(Opener.java:291)
	at ij.plugin.DragAndDrop.openFile(DragAndDrop.java:192)
	at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
	at java.lang.Thread.run(Thread.java:748)

Do you have suggestion concerning this trouble ?

Hi @syra,

having both formats-common-5.1.10.jar and ome-common-6.0.3.jar is a known issue which causes instabilities. We looked into this problem last year together with @ctrueden - see Fiji and Bioformats - conflicting jars for more information.

Do you have both the Fiji and the Fiji-legacy update site activated at the same time? If so, could you try disabling Fiji-legacy and updating your application. My expectation is that this should uninstall the legacy formats-common JAR and get you back to a working state.

Best,
Sebatien

2 Likes

Thank you for your answer S.besson, I disabled Fiji-legacy and it now works properly ! Does disabling Fiji-legacy have consequences ? Mainly will I still be able to perform my pictures analysis using macros properly ?

Thanks for updating this thread @syra. My understanding of the Fiji-legacy update site is that it only contains unmaintained libraries or old versions of the libraries that work with Java 6 for compatibility - see https://imagej.net/List_of_update_sites.

With regard to reading image data specifically using Bio-Formats, the latest version of the library should be available via the Java-8 update site so I do not expect deactivating Fiji-legacy to cause any issue going forward.

1 Like

Seconding @s.besson: the Fiji-Legacy and Java-8 update sites are mutually exclusive. It is intended that if you want to keep running an old Java-6-compatible version of Fiji, you turn on Fiji-Legacy, and if you want the latest versions of things, you run Fiji with Java 8 and enable the Java-8 update site. New downloads of Fiji from the web site already come with Java 8 and have the Java-8 update site enabled.

There are some old plugins that did not make the jump to Java 8, such as the individual script interpreters. You will need to enable Fiji-Legacy to keep using those. But I would personally recommend you use the Java-8 version of Fiji. If you notice any missing functionality, feel free to start a new topic here, and we’ll get to the bottom of it.

See also the Java 8 migration page for some additional details.

1 Like

Ok thank you both of you, I keep that in mind ! Have a good day !