Can't render z-stack in SciView

I have a multichannel z-stack from a brain slice that I would like to render in 3D. The raw file is in .nd2 and I have a tiff-stack version as well. When I try to open either stack, I get the following Java error: [ERROR] Module threw exception
java.lang.ArrayIndexOutOfBoundsException: 3
at net.imglib2.img.AbstractImg.dimensions(AbstractImg.java:104)
at net.imagej.ImgPlus.dimensions(ImgPlus.java:215)
at sc.iview.SciView.addVolume(SciView.java:1320)
at sc.iview.SciView.addVolume(SciView.java:1265)
at sc.iview.SciView.addVolume(SciView.java:1242)
at sc.iview.SciView.open(SciView.java:997)
at sc.iview.commands.file.Open.run(Open.java:67)
at org.scijava.command.CommandModule.run(CommandModule.java:199)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
at org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:238)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Is there a specific way I should be opening the file? I’ve looked around for a tutorial on how to use SciView but I’ve yet to find one. Alternatively, is there a plugin that would be more appropriate instead of SciView?

Thanks!

Doug

1 Like

Hi Doug,

Sorry about the lack of tutorials, we’ve been focusing on development and will be rolling out tutorials this coming Fall.

How are you opening the stacks in SciView? Can you try:

  1. Open your stack the usual way in ImageJ
  2. Open SciView (Plugins>SciView)
  3. In SciView, Edit>Add Volume
  4. Enter the x/y/z resolution of your volume and a rendering scale (try renderingscale = 1 first)

Cheers,
Kyle

1 Like

Hi Kyle,

I used the voxel information from the metadata in the file and it worked great. Might I ask to what effect changing the rendering scale dose exactly?

Best,

Doug

1 Like

Rendering scale is an independent attribute of volumes because our default behavior is to have all volumes and meshes work at the same resolution (e.g., if you create a mesh from a volume, then you want the resulting geometry to be in the same coordinate system as the original volume). However, there have been some cases where we wanted volumes to be quantified at one scale (e.g., you acquire microscopy data in microns) but then render them at a larger scale (e.g., centimeters).

Why would you want to do quantifications at one scale but render at a different scale? Scenery, the rendering engine behind SciView, uses physically realistic lighting calculations that are calibrated to a 1-meter unit. There have been some cases where we wanted to have lighting that works more like what we as humans are used to seeing, and we needed to render the volumes at a different rendering scale to get this behavior.

1 Like