A platform for real-time image analysis and automated laser illumination control in super-resolution microscopy. Also a plugin for Micro-Manager 2.0.
- 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.
- Download the latest
ALICA*.jar
from the releases page and place it in themmplugins
folder inside the Micro-Manager installation directory. - Download the latest
ALICA_ACPack*.jar
from the ALICA_ACPack releases page and place it in the samemmplugins
folder. - 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.
- Start Micro-Manager with a camera and light source already configured.
- In the Micro-Manager menu bar, navigate to Plugins > Device Control > ALICA.
- 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. - Click Start to bring up the ALICA monitor window.
- 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.
- Click the Live view checkbox under the spot counter control panel to bring up a live view of the Spot Counter's output.
- 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).
http://alica.readthedocs.io/en/latest
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.
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).
This value in milliseconds defines how often the Controller
queries
the Analyzer
, and adjusts the Laser
output.
- 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.
The plugin's workflow can be separated into multiple steps:
- Acquiring images from MicroManager
- Analyzing the images using an instance of
Analyzer
- Channeling
Analyzer
's output intoController
, which processes it and controls theLaser
to achieve a desired value ofAnalyzer
's output.
Described in [Image source]
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
.
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).
It is possible to implement your own Analyzer
or Controller
. More
info can be found in the documentation.
- How to use ALICA: https://gitter.im/leb_epfl/ALICA
- Bug reports: https://github.com/LEB-EPFL/ALICA/issues
- Feature requests: https://github.com/LEB-EPFL/ALICA/issues
- Developer questions: https://gitter.im/leb_epfl/ALICA
ALICA uses adapted code and algorithms under GPL from following projects:
- AutoLase by Thomas Pengo and Seamus Holden
- QuickPalm by Ricardo Henriques
- SpotCounter by Nico Stuurman
In addition, ALICA relies on the following projects:
Contributors:
- Marcel Stefko: ALICA framework and GUI, and adaptation of algorithms into Analyzers and Controllers
- Kyle M. Douglass: Documentation and beta-testing
- Baptiste Ottino: The DEFCoN analyzer
...and the many, many people behind all the software that we rely on.