Matlab does not load bioformats_package.jar?

Hi,
I am trying to use bioformats with matlab to open .czi files.
I am using Matlab2016b and downloaded the latest version of bioformats for matlab on windows.

bioformats_package.jar is found :slight_smile:

which bioformats_package.jar
C:\Codes\extra\bfmatlab\bioformats_package.jar

it is added to java paths:

javaclasspath

C:\Program Files\MATLAB\R2016b\java\jar\zh_CN\webintegration_res.jar
C:\Program Files\MATLAB\R2016b\java\jar\zh_CN\web_connectivity_res.jar

	DYNAMIC JAVA PATH

C:\Codes\extra\bfmatlab\bioformats_package.jar

Yet, when I check it I don’t get anything:

[status,version]=bfCheckJavaPath()

status =

logical

0

version =

0×0 empty char array

I would be really greatful if someone could help me on this.
Thanks, j

Hi @jeromewongng,
interesting, I think you did everything correct and it should work. I am using BioFormats with Matlab and did not have any problems.
I suggest to check for errors in bfCheckJavaPath.m

  1. open bfCheckJavaPath.m
  2. find “function [status, version] = has_working_bioformats()”
    and change the following
catch 
    status = false;

to

catch err
    err
    status = false;

And try the function again; you should get description of the problem.

Ilya

hmmm,

here is what it returns :

[status,version]=bfCheckJavaPath()

err =

MException with properties:

identifier: 'MATLAB:Java:ClassLoad'
   message: 'No class loci.formats.in.FakeReader can be located on the Java class path'
     cause: {0×1 cell}
     stack: [2×1 struct]

I still don’t know how to solve it though…

which version do you have?
is it 6 or 5?
I just tested version 5.1.7 that I locally have and it was working fine, however I am on R2018b.
Could you try to download the recent 5.x.x version and test again?

You can also try to open czi-files with MIB (mib.helsinki.fi). It should work there: you will need to tick the Bio checkbox in the Directory contents panel to enable the BioFormats reader:
http://mib.helsinki.fi/help/main2/ug_panel_dir.html

I tested version 6.0.0 with MIB and R2018b, it works ok, so the problem might be with R2016b.
Let me know If the problem stays, I can try to install R2016b and test it there. But from my experience Bioformats were working fine even with older releases…

I tried a bunch of stuffs, but in the end, mib fetched a version of bioformats_package.jar which works.
its a 5.9.3 version while the one that did not work was the 6.0 version …

Hi,

Bio-Formats 6.0.0 bumps the minimal supported Java version to 8 [1]. For MATLAB users, this means it is no longer possible to use old versions of MATLAB shipping JVM 7 natively with Bio-Formats 6. There are two possibilities:

  • if possible, upgrading to MATLAB R2017b or later is recommended. R2017b is the first version which ships an embedded version of Java 8 [2]

  • if upgrading is not a possibility, it is possible to point MATLAB at a different JVM than the embedded one [3].

We have tested the latter process on CentOS6/MATLAB R2013b to point at local JDK8 and were able to successfully load the Bio-Formats 6 toolbox.

Can you try one of these options and let us know if you encounter more issues?

From our side, we will clarify the impact of the Java bump for the MATLAB community in our technical documentation in an upcoming patch release. Thanks for bringing this problem to our attention.

[1] https://docs.openmicroscopy.org/bio-formats/6.0.0/about/whats-new.html

[2] https://mathworks.com/help/matlab/release-notes.html?rntext=Java&startrelease=R2017b&endrelease=R2017b&category=advanced-software-development&groupby=release&sortby=descending&searchHighlight=Java

[3] https://uk.mathworks.com/matlabcentral/answers/103056-how-do-i-change-the-java-virtual-machine-jvm-that-matlab-is-using-on-macos

4 Likes

Hi David,
thank you very much for clarifications - those were very helpful!
Ilya