Skip to content

Latest commit

 

History

History
155 lines (131 loc) · 6.89 KB

README.md

File metadata and controls

155 lines (131 loc) · 6.89 KB

ALICA

  • Build Status
  • Join the chat at https://gitter.im/leb_epfl/ALICA

A platform for real-time image analysis and automated laser illumination control in super-resolution microscopy. Also a plugin for Micro-Manager 2.0.

Installation

  1. If you don't already have Micro-Manager 2.0 installed, download the latest nightly build and install it from here. Note that ALICA will only work in Micro-Manager 2.0gamma.
  2. Download the latest ALICA*.jar from the releases page and place it in the mmplugins folder inside the Micro-Manager installation directory.
  3. Download the latest ALICA_ACPack*.jar from the ALICA_ACPack releases page and place it in the same mmplugins folder.
  4. If you are using ALICA_ACPack version 0.2.0 or later, you will need to update a few jars that Micro-Manager uses. Download imglib2-5.3.0.jar and imglib2-roi-0.5.1 and place them in the plugins\Micro-Manager folder inside the Micro-Manager installation directory. Delete the older versions of imglib2 and imglib2-roi that are already located there.

Quickstart

  1. Start Micro-Manager with a camera and light source already configured.
  2. In the Micro-Manager menu bar, navigate to Plugins > Device Control > ALICA.
  3. Select Live mode as the image source, SpotCounter as the Analyzer, Manual as the Controller, and your light source from drop down box next to Laser.
  4. Click Start to bring up the ALICA monitor window.
  5. Click Live in the Micro-Manager window to start a live acquisition. The ALICA monitor graph should now change to reflect the number of fluorescence spots that are found in the images over time.
  6. Click the Live view checkbox under the spot counter control panel to bring up a live view of the Spot Counter's output.
  7. Click Stop Live in the Micro-Manager control window and Stop in the ALICA control window to return to the ALICA configuration. You can use the Save last run log button to export a .csv file with data from the last run (e.g. analyzer output, setpoint, controller output for each image).

Documentation

http://alica.readthedocs.io/en/latest

Parameter description

Image source

ALICA offers 3 different options of acquiring images from Micro-Manager:

  • MM Core: Images are drawn directly from the circular buffer. This method is the fastest, and recommended in most cases, since it can smoothly function whenever the camera is acquiring images.
  • Live mode: Images are drawn from the Datastore associated with the current live mode view. Use this if you wish to do some on-the-fly processing using the Micro-Manager pipeline, before passing the image to Analyzer.
  • Next acquisition: Images will be drawn from the Datastore associated with the first acquisition that is started afterwards.

ROI

Using the live view, you can select a region of interest to constrain the analyzed area (for example if the density of fluorophores is uneven, or the analysis of full image takes too long).

Controller tick rate

This value in milliseconds defines how often the Controller queries the Analyzer, and adjusts the Laser output.

Laser

  • Max Power: Maximal output. Requests for larger output are constrained to allowed value.
  • Deadzone [%]: Requests for adjustment of output, which differ less than this value from current output, are ignored (so the laser is not unnecessarily adjusted too often.
  • Virtual: If checked, the output is not passed to the device. Useful for debugging or preview of parameters.

Internal Workflow

The plugin's workflow can be separated into multiple steps:

  1. Acquiring images from MicroManager
  2. Analyzing the images using an instance of Analyzer
  3. Channeling Analyzer's output into Controller, which processes it and controls the Laser to achieve a desired value of Analyzer's output.

Acquiring images

Described in [Image source]

Analyzing images

Whichever Analyzer is selected, it waits for new image acquisition, and analyzes it. If analysis is slower than image acquisition, images are skipped, and if it is faster, the same image is not analyzed twice. Each analyzed image adjusts the Analyzer's internal state. (For example, SpotCounter records the number of detected spots of each image, and waits for a query from Controller.

Controlling the light source

Periodically, the Analyzer is queried by the Controller to produce a double value which is a measure of the controlled property of the sample (e.g. fluorophore density). For example, SpotCounter outputs the average density of spots per frame since last query by Controller. The Controller then processes this value, and adjusts the Laser's output, to achieve a desired value of Analyzer's output. The Laser can be any Device Property from MicroManager's core (e.g. the device is a 405nm Laser, and property is Power Setpoint).

Developing custom functionality

It is possible to implement your own Analyzer or Controller. More info can be found in the documentation.

Getting help

Acknowledgements

ALICA uses adapted code and algorithms under GPL from following projects:

In addition, ALICA relies on the following projects:

Contributors:

...and the many, many people behind all the software that we rely on.