For documentation and education purposes, I’d like to create a Jupyter notebook that explains how to detect auto-fluorescent beads in a two-channel XYZ image, using Groovy and the BeakerX kernel (as the most recent notebooks in
I noticed that for multi-dimensional image-type data, the cell output gets rendered by taking the first slice, which in my case (xyz, 16-bit, 2-channel) usually means just a black square.
What’s the current state? Are there methods to adjust what is displayed? Any plans to support interactive sliders (I think
ipywidgets was discussed, right?)
Here’s what I’d like to have in my notebook:
Load image data using
- Display a maximum projection, with the two channels e.g. overlaid in green and magenta
Split channels using
DoG spot detection using
Get a list of local maxima for both channels using ImgLib2’s
LocalExtrema, or a to-be-created op
- Plot the coordinates of the detected points (what plotting library is accessible from BeakerX Groovy?)
Use the API of the Descriptor-based registration plugin (
Matchingetc.) to find correspondences between the two sets of detected points.
Correct the original image using an
AffineTransform(2D and/or 3D)
- Display the corrected image (both channels overlaid) next to the original for comparison.
Any suggestions regarding the display and plot steps are highly appreciated. Do these methods go into
imagej/imagej-notebook or anywhere else?