This is a fork of BVV with some additional features:
- "alpha-bending" volume rendering method (transparency/illumination);
- alpha opacity/transparency slider;
- gamma correction for brightness/opacity;
- Lookup tables (LUTs, custom and coming from ImageJ);
- clipping of displayed sources in shaders (optionally using custom transform).
Currently synced to BVV version 0.3.4 (this commit).
Download latest zip archive with jar files from releases
(it is called bvv-playground-X.X.X_jar_files.zip),
extract and put them to the jar folder of the latest FIJI installation.
The plugin should appear in the Plugins>BigDataViewer>BVV-playground
A new shortcut O (letter) is used to switch between "Maximum intensity projection" and "Volumetric" rendering. By "volumetric" I mean "transparency" or "alpha-blending" ray-casting. These two different rendering methods are illustrated below:
Maximum intensity
Volumetric
The standard "Brightness and Color" dialog (shortcut S) is now different:
*(works also with Cards panel, activated by shortcut P)
It uses range sliders (and one can pull the range by dragging the middle interval).
A standard "brightness" slider is now located next to the color/LUT icon/button, it maps image intensity values to specific colors.
By clicking on the "three trianlges" button it can be expanded to show advanced settings.
There is a new slider marked "γ" that adjusts non-linear color/LUT mapping by introducing gamma correction (a power-law).
In addition to color, one can also independently adjust the mapping of intensity values to the opacity using "α" range slider (with a corresponding "γ α" gamma adjustment slider below).
A new additional checkbox on the left is used to synchronize top pair of sliders (color/LUT + γ) with the bottom pair (α + γ α), but not the other way around. It also synchronizes slider ranges. It is useful to keep it selected in the beginning, to see the volume, and later fine-tune the alpha values independently (unselected) for a better result. It is especially helpful in the volumetric rendering mode.
In a brightness dialog, right clicking on the color icon displayes the list of ImageJ LUTs that can be selected and applied to a specific source.
The left mouse button click still activates a dialog for a monochromatic, "single-color" painting of voxels. LUTs can be specified in Cards dialog, also on the Source and Group tables by using the right mouse button click too.
A list of additional methods (adjusting gamma and opacity, adding LUTs and volume clipping) is illustrated by this example.
There is a possibility to specify "clipping transform", shown here.
The project is currently under development and has a lot of "experimental" code (i.e. not clean and in the state of "well, at least it works"). So comments and optimization suggestions are welcome.
This project lives in scijava.public maven repository. To use it in your own project, add to your pom.xml :
<repositories>
....
<repository>
<id>scijava.public</id>
<url>https://maven.scijava.org/content/groups/public</url>
</repository>
</repositories>
and add the corresponding dependency:
<dependency>
<groupId>nl.uu.science.cellbiology</groupId>
<artifactId>bvv-playground</artifactId>
<version>X.X.X</version>
</dependency>
Developed in Cell Biology group of Utrecht University.
E-mail for any questions or tag @ekatrukha at image.sc forum.