Login  Register

Re: Antwort: Re: ImageJ for image capture

Posted by Nico Stuurman-4 on Mar 06, 2008; 5:03pm
URL: http://imagej.273.s1.nabble.com/save-as-jpg-tp3696972p3696978.html

Hi Joachim,

> Exactly, I myself are now planning for already some time to write an  
> Image
> Acquisition plugin for the Matrox MIL,
> so that it should work with a large number of different  
> framegrabbers and
> hence cameras
> (however, too busy with other things).
>
> One problem that considerably "slows down" the development process  
> is that
> I have not yet come down with
> a good (minimum) set of generic functions such a plugin should  
> support and
> how. Also, in many cases, some
> possibility to - if needed - also have a "live" preview window (likely
> within a second thread) with buttons etc. without
> too much extra programming would be very nice too.
>
> While I also see the absolute need for full "remote control", there
> definitely MUST not be a obligatory TWAIN window
> that pops up for every image that you want to grab.
>
> So my point here is, could we, the people working or interested in  
> such
> plugins probably agree on a common standard
> of ImageJ callable methods and the corresponding functionality to base
> future plugins on? This would help me, other
> users (that again built grabbing plugins based on those standards) and
> manufacturers like Wayne Brown.
>
> Any suggestions how to start this?

These were exactly the kind of problems we tried to address in our  
Micro-Manager (http://micro-manager.org) project.  Thus, we developed  
a simple, minimal API for a few device types commonly used in  
microscopy (cameras, stages, state devices, shutters, communication  
ports) and allowed for infinite extensions through 'Properties'.  This  
mechanism ensures that any camera will expose the same, common, set of  
capabilities to the API but can also expose anything else it finds  
useful.

Anything that can interface with the Micro-Manager Core (which  
includes our own GUI that is an ImageJ plugin, but can also be other  
ImageJ plugins, beanshell scripts, matlab scripts, or - in principle -  
other scripting languages like for instance Python) can use this API  
to interface to all the different hardware for which a Micro-Manager  
'adapter' (the code interfacing between the device or device driver  
and the Micro-Manager Core) exists (for a list see http://valelab.ucsf.edu/~nico/MMwiki/index.php/Device_Support)
.

The Micro-Manager GUI has  a live preview window, live histogram, ROI  
tool, auto-shutter, and also has facilities for setting up time-
lapses, z-stack, multi-channel images, multi-position images and live  
split view mode.  We are about to add a better programmatic interface  
to these more advanced features, making it easy to script your own  
multi-dimensional acquisition.

So, writing a Micro-Manager adapter for the Matrix MIL card (or for  
Apogee cameras) will instantly yield all this functionality and let  
anyone integrate this camera/frame grabber card into a complex  
microscope set-up.  Writing these adapters is quite straight forward,  
in part because there are many examples, in part because they are  
written in C++ which usually interfaces easily with the device SDK  
(the JNI step is taken care of by Micro-Manager at a higher level) and  
allows for debugging/testing in a C/C++ only environment.


Best regards,

Nico Stuurman


>
>
> Mit freundlichen Grüßen / Best regards
>
> Joachim Wesner
> Projektleiter Optik Technologiesysteme
>
> Leica Microsystems CMS GmbH | GmbH mit Sitz in Wetzlar | Amtsgericht
> Wetzlar  HRB 2432
> Geschäftsführer:  Dr. Stefan Traeger | Dr. Wolf-Otto Reuter | Dr.  
> David Roy
> Martyr | Colin Davis
>
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________