Opening big TIFF file with big data viewer

Hello !
I was Neubias big data image webinar (@tpietzsch), and I wondered if the BigDataViewer plugin could be used to process big ome.tiff files, instead of croping regions on QuPath.
For the moment, I tried to open the file, BigDataViewer > Current Image, but I get an exception message.

Thanks in advance for your help

Hello @Egl,

Can you post the exception message ? Because this should work if you manage to open it in ImageJ.

So for everything which is compatible with bio-formats, especially if you have a multiresolution file, you can also try the following.

  • enable the bigdataviewer-playground update site (GitHub - bigdataviewer/bigdataviewer-playground). Its url is https://biop.epfl.ch/Fiji-Bdv-Playground/
  • restart fiji, then follow the procedure explained in the neubias seminar (2 minutes from here : https://youtu.be/LHI7vXiUUms?t=4071)
  • you should now be able to open your image with the xml file in Plugins > BigDataViewer > Open XML/HDF5 or within bigdataviewer playground (BigDataViewer > Playground > BDVDataset > Open XML BDV Datasets).

Let us know how it goes, and please post the exception message. If you still have troubles, please try to share the original image file, that could be useful.

1 Like

thank you very much for answering to me !
Sorry, I was not clear enough, I have the exception message below when trying to open the ome.tiff file. I don’t know how to convert such heavy file into XML either.
For the moment I am cropping 1000*1000 µm in QuPath before importing in ImageJ. I thought that BigDataViewer might be a solution.

(Fiji Is Just) ImageJ 2.1.0/1.53c; Java 1.8.0_172 [64-bit]; Linux 5.4.0-62-generic; 210MB of 27044MB (<1%)
 
java.lang.NegativeArraySizeException
	at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:259)
	at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:334)
	at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:334)
	at loci.plugins.util.ImageProcessorReader.openProcessors(ImageProcessorReader.java:186)
	at loci.plugins.in.ImagePlusReader.readProcessors(ImagePlusReader.java:422)
	at loci.plugins.in.ImagePlusReader.readPlanes(ImagePlusReader.java:387)
	at loci.plugins.in.ImagePlusReader.readImage(ImagePlusReader.java:282)
	at loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:243)
	at loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:221)
	at loci.plugins.in.ImagePlusReader.openImagePlus(ImagePlusReader.java:116)
	at loci.plugins.in.Importer.readPixels(Importer.java:149)
	at loci.plugins.in.Importer.run(Importer.java:86)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:235)
	at ij.IJ.runPlugIn(IJ.java:198)
	at ij.IJ.runPlugIn(IJ.java:187)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:503)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:76)
	at ij.IJ.runUserPlugIn(IJ.java:235)
	at ij.IJ.runPlugIn(IJ.java:198)
	at ij.IJ.runPlugIn(IJ.java:187)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:512)
	at ij.io.Opener.openUsingHandleExtraFileTypes(Opener.java:369)
	at ij.io.Opener.openImage(Opener.java:359)
	at ij.io.Opener.openImage(Opener.java:243)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.open(Opener.java:72)
	at ij.plugin.Commands.run(Commands.java:27)
	at ij.IJ.runPlugIn(IJ.java:204)
	at ij.Executer.runCommand(Executer.java:150)
	at ij.Executer.run(Executer.java:68)

2 Likes

Ah, that’s a bioformats issue apparently, I know it’s a big file, but can you find a way to share it (gdrive, dropbox, or wetransfer ?) . I fear it’s the only way to fix this.

1 Like

So, you are actually using QuPath ? So it does work under QuPath ?

I think for processing big 2d files, you won’t have anything better than QuPath, did you check the full video from Neubias academy ? There are really a lot of convenient tools, if you include the classifiers (Quantitative Pathology & BioImage Analysis: QuPath - [NEUBIASAcademy@Home] Webinar - YouTube).

Now your file can be opened with BigDataViewer, but not directly, because it is too big (>2G pixels) - meaning you can’t open it with File > Open ... then with Import Current Image.

But you can open it with BigDataViewer-Playground, and for that, please check Big Data I: Visualisation, File Formats and Processing in FIJI - [NEUBIAS Academy @Home] Webinar - YouTube ( especially the BigDataViewer-Playground part ). That’s the procedure I explained in my first post. And it works to open your file in BigDataViewer playground. Do you manage to open it ? I tried with the file you gave me, and it works.

Now maybe it’s better if you explain what processign you want to achieve, because then you can get advice either in QuPath or in Fiji.

Nicolas

Thank you again for your help. I had to download Playground and bioformat bridges on Index of /Fiji-Bdv-Playground/jars
I can find the plugins as in the video now, but I still cannot open ome.tiff files.

Here is the error message that I get :

METiffReader initializing /home/Documents/data/tissuetoanalyze.ome.tif
Reading IFDs
Populating metadata
Attempts to set opener settings for file format OME-TIFF
[ERROR] Module threw error
java.lang.NoClassDefFoundError: spimdata/util/Displaysettings
	at ch.epfl.biop.bdv.bioformats.command.BasicOpenFilesWithBigdataviewerBioformatsBridgeCommand.run(BasicOpenFilesWithBigdataviewerBioformatsBridgeCommand.java:72)
	at org.scijava.command.CommandModule.run(CommandModule.java:196)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:165)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: spimdata.util.Displaysettings
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 10 more
1 Like

About the processing : I am trying do write a macro for overlays (pseudo fluorescence images). I was told that QuPath was not very performant to align images so this is why I am currently using ImageJ.

1 Like

Ah no, maybe I get it: did you try to install the jars files manually? In that case you will be missing some dependencies.

To enable bdv-playground update site and all its dependencies properly:

  • Go to Help>Update...
  • Click Manage Update sites
  • Click App Update Site
  • in the URL field, type https://biop.epfl.ch/Fiji-Bdv-Playground/
  • apply, close and restart Fiji. Everything should work I hope

It seems to work, thank you very much !
So now I saved the SpimData with SaveBDVDataset as xml
and run BiddataViewer> Open XML/HDF5 but the window is empty…