Helpers to use BigDataViewer as a quick visualization tool in other projects.
This is intented to replace/augment
ImageJFunction.show() from imglib2-ij.
Please note, that this is still in early stages of development. Documentation is sparse. API will break frequently in the foreseeable future.
Random random = new Random(); Img<ARGBType> img = ArrayImgs.argbs(100, 100, 100); img.forEach(t -> t.set(random.nextInt())); Bdv bdv = BdvFunctions.show(img, "img");
creates a random 3D ARGB img and shows it in a BDV window.
BdvFunctions methods will return some instance of
Bdv which can be used to close the BDV window:
or add more stuff to the same window:
BdvFunctions.show(img2, "img2", Bdv.options().addTo(bdv));
bdv.getBdvHandle() you can get access to the BDV
SetupAssignments allowing more fine-grained
manipulations of BDV state.
Bdv instance returned from
BdvFunctions.show(img, "img") in the above example is
has additional methods, e.g.,
removeFromBdv() which removes
img from the BDV window.
To display a 2D image, display a 3D image as a stack of 2D slices over time etc:
BdvFunctions.show(img2, "img2", Bdv.options().is2D());
is2D() option is per Viewer window, not per stack. If it is set, the BDV navigation mouse and keybindings are set up for 2D, etc...
More fine-grained control can be achieved with
BdvFunctions.show(img2, "img2", Bdv.options().is2D().axisOrder(XYT))
AxisOrder specifies how the stack dimensions are interpreted.
For BDV with 3D navigation, the follwoing are useful:
XYZ, XYZC, XYZT, XYZCT, XYZTC.
For BDV with 2D navigation, the following are useful:
XY, XYC, XYT, XYCT, XYTC.
You should interpret
T losely. The effect is that
T will be mapped to the time slider of the BDV,
C is mapped to BDV sources.
(This also means that you should not have images with a large
There is/will be stuff to add annotation overlays. Currently
BdvFunctions.showPoints() is available.
Here is an example screenshot where several 3D stacks, a set of boundary points, and 3D ellipsoids fitted to the boundary points were added to a BDV window. It also shows how the usual BDV dialogs can be used to adjust visibility / brightness / colors of tbe individual sources.