Re: [micro-manager-general] ImageJ integration
Status: Beta
Brought to you by:
nicost
|
From: Nico S. <nic...@uc...> - 2020-03-29 16:45:19
|
Hi Carlos, Sorry for the delay, slipped through the cracks.. > as I'm trying to get a realtime (i.e. live) graph of pinhole > intensities, It would be useful to understand a bit better what your end "product" would be. My guess is that you want to be able to start a live stream, have code that automatically finds pinholes (bright spots in the image), and produces data (and/or graphs) with intensities of these pinholes in all subsequent images. Is that about right? > I "discovered" that ImageJ seems not aware that > micro-manager (uM?) has a stack of images available and is only aware of > the displayed ones. Correct. You do not want to access Micro-Manager images through the ImageJ interface. When we started out we very much wanted to integrate MM with ImageJ as much as possible, but quickly ran into all kinds of limitations of ImageJ (don't forget that ImageJ was never designed for its current use, it grew beyond Wayne Rasband's wildest imagination). In the last refactoring of the MMcode, the interaction with ImageJ was restricted to the part where images are displayed, so ImageJ has very limited knowledge of the data. > ImageJ has some tools that work on stacks or hyperstacks that do not > recognize uM data as such (i.e. ImageJ sees the images as 2D data). What tools do you want to use that work on stacks? > I've seen many tools that bridge this gap, but all of them seem to work > on static data (i.e. done experiments) but I would like to use them on > live ones. > > Has anybody dealt with this already ? Is there a uM datastore -> ImageJ > hyperstack bridge of sorts ? I do not want to reinvent the wheel... Use the MM api to access image data (i.e., see: https://micro-manager.org/wiki/Version_2.0_API). Once you have an MM Image, get an ImageJ ImageProcessor using the mm.data().ij() ImageJConverter (https://valelab4.ucsf.edu/~MM/doc-2.0.0-alpha/mmstudio/org/micromanager/data/ImageJConverter.html). Inserts these into an ImageJ stack anyway you want. MM Datastores do not fit 1:1 to ImageJ stacks or HyperStacks, although you could write convenience functions if you so desire. Best, Nico |