3D Viewer doesn't work with Java8

mac-os
java-8
java3d
3d-viewer
Tags: #<Tag:0x00007fb87d3319a8> #<Tag:0x00007fb87d331868> #<Tag:0x00007fb87d331728> #<Tag:0x00007fb87d331598>

#1

Hello

I run Fiji on Mac OS High Sierra Version 10.13.1 with Java8. Everytime I want to use the 3D-Viewer, a plain black window opens and it seems to stop loading the picture at 1%.
Can anyone help?

Thanks


#2

Hi @Oshawott,

Welcome to the forum.

Issues with the 3d viewer and java 8 are unfortunately known and common:

It’s worth checking out those threads, but @ctrueden’s recommendation above (from May) is:

For immediate results: stick with Java 6 + Java 3D 1.5

:man_shrugging:
John


#3

Thanks @bogovicj for summarizing the situation.

Unfortunately, there is one additional point: for macOS Sierra and High Sierra, there are often fatal problems with Java 6 + Java 3D 1.5 now. It seems that the OS upgrades from earlier versions remove critical pieces of the Java framework, which do not get installed into the same places when you download and install Java 6 manually on Sierra or High Sierra systems. See this thread for details.

So if your goal is to “stick with Java 6 + Java 3D 1.5” then I would also suggest not upgrading to Sierra or High Sierra. The situation is problematic enough now that I may need to pour in more development resources (myself or one of my students) early next year to make Java 8 + Java 3D 1.6 work better on the latest macOS versions.

@Oshawott Have you tried using SciView? It is still alpha quality, but built on newer technology which may work better for you.


#4

Thanks for your help! I want to try SciView, but how do i install this plugin? I´ve tried to copy paste the “SciView-master” folder in the Fiji “plugin” folder, but unfortunately Fiji does not recognize SciView.


#5

I asked @kephale about the best way to install it, but actually, there is no update site yet. We plan to remedy that at the upcoming hackathon in early December. We’ll announce as soon as an update site is available for it.


#6

Thanks for all your good work.

I wonder if your team have been able to find time to deal with this problem.

I have also, rather complacently, upgraded to High Sierra, only to find that the much valued 3D Viewer no longer works.


#7

We just released the preview version of SciView yesterday: http://sc.iview.sc . The update site is in the default list of update sites as well.

Please let us know if you have any issues!


#8

Hi, thank you very for your prompt and helpful reply. I loaded the SciView software from the default update site list. 3d viewer if working fine now. I expected to be able to use SciView directly to view 3d images, but it will not load multiple images or virtual tif stacks. Is that a concern for you?

Thank you again.


#9

Hi kephale,

I tried to run SciView for 3d stacks but obtained the messages followed,

Started application as PID 13316
Loaded Deferred Shading (Deferred Shading, with HDR postprocessing and FXAA)
Physical devices: 
  0: Nvidia GeForce GTX 1080 Ti (DiscreteGPU, driver version 397.124.0, Vulkan API 1.1.70) (selected)
Using JavaFX-based swapchain
No custom key configuration found, using default keybindings.
No custom key configuration found, using default keybindings.
Recreating Swapchain at frame 0
Creating render framebuffer GeometryBuffer for pass Scene
 + attachment NormalsMaterial, RGBA_Float16
 + attachment DiffuseAlbedo, RGBA_UInt8
 + attachment ZBuffer, Depth32
Creating render framebuffer DSSDOTemp1 for pass DSSDO
 + attachment Occlusion, RGBA_UInt8
Creating render framebuffer DSSDOTemp2 for pass DSSDOBlurV
 + attachment Occlusion, RGBA_UInt8
Creating render framebuffer DSSDOBuffer for pass DSSDOBlurH
 + attachment Occlusion, RGBA_UInt8
Creating render framebuffer ForwardBuffer for pass DeferredLighting
 + attachment Color, RGBA_Float32
Creating render framebuffer HDRBuffer for pass ForwardShading
 + attachment Color, RGBA_Float32
 + attachment Depth, Depth32
Creating render framebuffer FXAABuffer for pass HDR
 + attachment Color, RGBA_UInt8
[WARN] Shader path shaders/DSSDO.frag.spv not found within given classes, falling back to default.
Compiling shaders/DSSDO.frag to SPIR-V...
[WARN] Shader path shaders/DeferredLighting.frag.spv not found within given classes, falling back to default.
Compiling shaders/DeferredLighting.frag to SPIR-V...
Scene initialization started.
Compiling shaders/DeferredLighting.frag to SPIR-V...
Scene initialization complete.
[ERROR] Call to endCommandBuffer failed: The logical or physical device has been lost.

Please have a look at them and give me some information.
Thanks!
ching


#10

Please be aware that the preview release of SciView is version 0.1.0, a very early first alpha version. Expect many obstacles. Please feel welcome to report bugs here or on the SciView issue tracker, but it is far from ready for stable use.

I run High Sierra personally, and I have a working 3D Viewer with both Java 6 + Java3D 1.5 as well as Java 8 + Java 3D 1.6. Getting it to work with Java 6 is tricky, though—I went through it again at the recent hackathon and I plan to improve the information on the web site, but no time yet.

When you say it “no longer works”, can you be more specific?


#11

That is very reassuring to know (about High Sierra).

At present, 3D Viewer will not load more than one image. I am not sure what particular upgrade has caused this, but I will run through what I have done. Knowing that it should work is a big help. Thank you.


#12

@chin I have replicated this in Scenery and filed an issue: https://github.com/scenerygraphics/scenery/issues/169

I believe the temporary answer to this is setting the system property scenery.Renderer to OpenGLRenderer but we don’t have an easy way to do that through the interface in the preview release.


#13

Dear @ctrueden, I apologise for taking up more of your time.

I reloaded the Java8 / Java 3D 1.6 software into a new directory. I can open 3D Viewer, but it seems unable to load more than single images. If I have previously loaded an image sequence into Fiji, it recognises that it is there, but will only load the first image. If I try to open files directly with 3D Viewer, it will only open one file.

Is this a recognised problem? Many thanks

Winslow


#14

What do you mean by “more than single images”? Multiple Z positions? Multiple time points? Something else?

If you mean time points: I tested by opening the Mitosis sample image (File :arrow_forward: Open Samples menu) and then running 3D Viewer. The 51 time points are recognized, and you can animate by pressing space bar, but the animation control panel is not painted correctly upon initial load. Furthermore, on my system there is a bug where resizing the window often causes an exception (see fiji/3D_Viewer#15). The following Groovy script will kick all currently open 3D Viewer windows to redraw the animation controls:

viewers = java.awt.Window.getWindows().findAll{w -> w.getTitle().contains("3D Viewer")}
viewers.each{w -> w.setSize(new java.awt.Dimension((int) w.getWidth(), (int) (w.getHeight() - 1)))}

I am sorry I cannot fix this more properly right now.


#15

Dear @ctrueden

Thank you once again for helping.

I repeated your Mitosis example and that worked just as you described.

I am trying to view a skull bone, and so I am trying to load multiple CT slices; so its multiple Z positions that 3D Viewer is not loading.

I appreciate your time and help

Winslow


#16

@Winslow I am able to run File :arrow_forward: Open Samples :arrow_forward: T1 Head and then run Plugins :arrow_forward: 3D Viewer to visualize it as a volume in 3D.

Are you able to open the skull bone including all Z slices, into the normal 2D ImageJ viewer? You get a Z slider? If not, the issue is not with 3D Viewer, but with how the data is being imported into ImageJ.