fiji / SPIM_Registration

Deprecated, instead check out: https://github.com/preibischLab/multiview-reconstruction & https://github.com/PreibischLab/BigStitcher
GNU General Public License v2.0
23 stars 22 forks source link

spim.fiji.plugin.Data_Explorer did not find Java3D #97

Closed RichardMyers closed 8 years ago

RichardMyers commented 8 years ago

We are using a fork of 2.4.5 and consistently getting this error:

image

The solution maybe to sync our fork, but I'm posting this in the hopes there is some faster way to get around this problem. Despite getting this error from the SPIM_Registration plugin, Java3D works in Fiji.

I was able to fix the error by installing Java3D and copying the contents of Java3D/bin and Java3D/lib to my Fiji.app/java/win64/jdk1.8.0_66/jre/bin and lib directories. As per a related case on the Fiji support forum.

ctrueden commented 8 years ago

Please see http://imagej.net/Java_3D for some details.

The gist is: you must choose whether to use the "old Java 3D" (Java 6 + Java 3D 1.5) or the "new Java 3D" (require Java 8 + Java 3D 1.6). Unfortunately, the old Java 3D 1.5 does not work with Java 8 across all platforms.

My advice is to require Java 8 and migrate to Java 3D 1.6, because all of Fiji is currently on the road to doing that. See also 2016-05-10 - ImageJ HOWTO - Java 8, Java 6, Java 3D.

ctrueden commented 8 years ago

The master branch of this repository switched to Java 3D 1.6 already. You could probably cherry pick this commit (or range of surrounding commits perhaps) onto your branch.

StephanPreibisch commented 8 years ago

Thanks @ctrueden

StephanPreibisch commented 8 years ago

Hi @RichardMyers @ctrueden,

I made a new branch https://github.com/fiji/SPIM_Registration/tree/localVecmath to solve this issue for good. I do not need any dependency on the "real" Java3d, i.e. 3d visualisation & GPU stuff. I only need a few classes from vecmath and Transform3D that have no dependencies. I therefore locally duplicated them until the issues are sorted out. Still needs to be tested, but with that SPIM_Registration does not depend on Java3D anymore.

ctrueden commented 8 years ago

@StephanPreibisch OK, fair enough! As long as you don't need to reuse vecmath data objects between this library and others, that should be no problem.

StephanPreibisch commented 8 years ago

I know it is not beautiful at all. Once there is a better way (JDK independent fast vector math) we should use that solution.

StephanPreibisch commented 8 years ago

Or should I maybe rename the classes starting all with Tmp_ or so? What do you think @ctrueden?

ctrueden commented 8 years ago

I would not use a tmp_ prefix. You can mark them as temporary in the javadoc if you want I guess. At some point in the future you will remove these classes in favor of the permanent thing, and then do a major version bump, yeah?

See also fiji/fiji#135.

StephanPreibisch commented 8 years ago

Thanks a lot @ctrueden, exactly that's the plan! I will merge it into master, I just tested it.

StephanPreibisch commented 8 years ago

It is merged @RichardMyers. You should have no problems with the current master anymore, independent of the JRE version you use.

RichardMyers commented 8 years ago

Thanks @ctrueden and @StephanPreibisch for the fast work figuring this out. I'll sync and try it out.