Using ImageProcessorReader/ImageReader from the bioformat jars inside Fiji


I am working on an application wherein I need to support Fiji+bioformats for opening medical file formats. I tried 2 methods.

  1. Using ImageProcessorReader from the package (" import loci.plugins.util.ImageProcessorReader") of bioformats.jar in my java code. The plan was to be able to pick this package up from the fiji bioformats folder, but I cannot find the jar file inside. The loci_plugins jar is missing.

  2. Then I was trying to use ImageReader to get the slice of the plane and Java code threw an exception of “java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory”. This jar is also missing in Fiji bioformats.

My question is how is Fiji using Bioformats to read the files. I cannot get it to work with:

  1. File Reading using bioformats loci plugin.
  2. File Reading using bioformats from fiji only.
    Both of these have unresolved dependencies.

Thanks for the help.

Ok, so I carefully looked at the bio-formats jar folder and found some (but not all) of the dependencies mentioned here: Bioformats Jar Dependencies and it is still giving me an libturbo class not found exception.

How is Fiji using Bio-formats without these dependency issues ?

@remaldeep Very sorry this post slipped below my radar until now!

Fiji uses Maven to manage dependencies. It ships the Bio-Formats JARs separately, rather than using the Bio-Formats uber-JAR.

If you never succeeded in getting it to work until now, please feel welcome to provide a link to code with recipe to reproduce your failure, and I’d be happy to look into it. And if needed, we can also loop in the OME team.