Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
docs:mm_dispim_plugin_user_guide [2020/04/28 19:41] Jon Daniels [Default Timing] |
docs:mm_dispim_plugin_user_guide [2024/10/05 13:57] (current) Jon Daniels [Save and Load] |
||
---|---|---|---|
Line 4: | Line 4: | ||
If you are not familiar with Micro-Manager, | If you are not familiar with Micro-Manager, | ||
+ | |||
+ | Currently the diSPIM plugin is supported in 1.4.x only. In 2023 there have been efforts to create a new plugin in Micro-Manager 2.0 called [[https:// | ||
+ | |||
+ | You can download the nightly builds of Micro-manager 1.4 for Windows [[https:// | ||
Before running the diSPIM plugin, create or load a Micro-Manager hardware configuration with all the relevant devices. The plugin is accessed through the Micro-Manager menu bar: **Plugins > Device Control > ASI diSPIM**. The plugin has 10 tabbed panels for different features and tasks. After opening the plugin, first configure the Devices Tab. Keep the main Micro-Manager window accessible; the plugin generally does not duplicate functionality already provided there. In addition to the tabbed panels, a sidebar provides a color coded “quick glance” indication of each axis’ position: | Before running the diSPIM plugin, create or load a Micro-Manager hardware configuration with all the relevant devices. The plugin is accessed through the Micro-Manager menu bar: **Plugins > Device Control > ASI diSPIM**. The plugin has 10 tabbed panels for different features and tasks. After opening the plugin, first configure the Devices Tab. Keep the main Micro-Manager window accessible; the plugin generally does not duplicate functionality already provided there. In addition to the tabbed panels, a sidebar provides a color coded “quick glance” indication of each axis’ position: | ||
Line 69: | Line 73: | ||
- Click the green-bordered **Use these!** button to compute the slope and offset of the calibration relationship. | - Click the green-bordered **Use these!** button to compute the slope and offset of the calibration relationship. | ||
- Check the computed calibration using the up and down arrows in the upper right of the Setup tab (you may need to increase the step size). | - Check the computed calibration using the up and down arrows in the upper right of the Setup tab (you may need to increase the step size). | ||
+ | |||
+ | For stage-scanning, | ||
Generally the calibration slope will remain relatively constant but the offset can change slightly. It is easy to update the offset without changing the slope (e.g. when introducing a new sample): | Generally the calibration slope will remain relatively constant but the offset can change slightly. It is easy to update the offset without changing the slope (e.g. when introducing a new sample): | ||
Line 87: | Line 93: | ||
- Use a very uniform sample, e.g. dye in solution. | - Use a very uniform sample, e.g. dye in solution. | ||
- Set the start/ | - Set the start/ | ||
- | - While in live mode adjust the speed/slope parameter until the sheet exactly fills the field of view. This will be relatively close to the final value. | + | - While in live mode adjust the speed/slope parameter until the sheet exactly fills the field of view. This will be relatively close to the final value. With a Fusion camera this trick may yield half of the actually desired speed/slope parameter. |
- Run a test acquisition. Consider setting the acquisition mode to “No scan (fixed sheet)”. You should get images with some fluorescence. If only a short horizontal bright stripe appears then add a minus sign to the speed/slope parameter to invert the direction of the beam scanning. | - Run a test acquisition. Consider setting the acquisition mode to “No scan (fixed sheet)”. You should get images with some fluorescence. If only a short horizontal bright stripe appears then add a minus sign to the speed/slope parameter to invert the direction of the beam scanning. | ||
- Iteratively tune the two parameters by finding a best setting for one, adjusting the other, and so forth until you have zeroed in on the best setting. In each case the tuning procedure is to run a test acquisition, | - Iteratively tune the two parameters by finding a best setting for one, adjusting the other, and so forth until you have zeroed in on the best setting. In each case the tuning procedure is to run a test acquisition, | ||
Line 124: | Line 130: | ||
===== Cameras Tab ===== | ===== Cameras Tab ===== | ||
- | The Region of Interest and camera triggering mode is specified in the Cameras tab. For Andor Zyla and Hamamatsu Flash4 cameras there is the possibility to have consecutive triggers determine the start and end of a image capture; this is termed respectively | + | The Region of Interest and camera triggering mode is specified in the Cameras tab. For Andor Zyla and Hamamatsu Flash4 cameras there is the possibility to have consecutive triggers determine the start and end of a image capture; this is termed respectively |
< | < | ||
+ | ==== Simultaneous Cameras ==== | ||
+ | |||
+ | This option was added so that multiple cameras could be used on the same path, e.g. a single-view SPIM with 4 different cameras to record each camera looking at a different spectral window at the same time. | ||
+ | |||
+ | Due to Micro-Manager viewer limitations there are some oddities about this feature' | ||
===== Settings Tab ===== | ===== Settings Tab ===== | ||
Line 138: | Line 149: | ||
The scanner (micromirror) drive card has adjustable Bessel output filters to protect the filter from being driven near its mechanical resonance (usually 2 kHz). Settings as high as 0.8 kHz are usually acceptable, and in general the shorter the scan period (and faster frame rates) the more this matters. | The scanner (micromirror) drive card has adjustable Bessel output filters to protect the filter from being driven near its mechanical resonance (usually 2 kHz). Settings as high as 0.8 kHz are usually acceptable, and in general the shorter the scan period (and faster frame rates) the more this matters. | ||
+ | ==== Simultaneously acquire from both paths/ | ||
+ | This option was added to enable reflective imaging where cameras on both sides are triggered together (see https:// | ||
+ | |||
+ | Note this is similar but distinct from the option to acquire multiple cameras on Path A which is configured on the Cameras tab. However in many cases either one can functionally be used. | ||
===== Acquisition Tab ===== | ===== Acquisition Tab ===== | ||
Line 186: | Line 201: | ||
==== Multiple Positions (XY) ==== | ==== Multiple Positions (XY) ==== | ||
- | If the box is checked, the plugin will use Micro-Manager’s position list to acquire volumes and multiple locations. For each time point, every position is visited once. See Micro-Manager User’s Guide for more details on the [[https:// | + | If the box is checked, the plugin will use Micro-Manager’s position list to acquire volumes and multiple locations. For each time point, every position is visited once (i.e. the positions are an "inner loop" if both positions and time points are used). See Micro-Manager User’s Guide for more details on the [[https:// |
- | For large samples there is a YZ grid creator | + | The XYZ grid creator |
+ | ==== Using the Grid Creator ==== | ||
+ | Select the axes that you want to create the grid in and click the " | ||
- | === Overview Acquisition === | + | The X axis is used for stage scanning, so when you create a " |
+ | |||
+ | The button " | ||
+ | |||
+ | |||
+ | |||
+ | ==== Overview Acquisition | ||
As of March 2019 there is a feature to acquire an overview acquisition. | As of March 2019 there is a feature to acquire an overview acquisition. | ||
- | Settings | + | Some settings |
+ | |||
+ | Running the overview acquisition with the thus-labeled button uses the current settings of the XYZ grid GUI for X and Y (if they are enabled) and will overwrite any existing position list. | ||
+ | |||
+ | |||
+ | ==== Planar Correction ==== | ||
+ | |||
+ | This feature allows compensation for small deviations from completely horizontal sample mounting, which results in the sample leaving the FOV when X and Y are moved without moving Z. When planar correction is enabled the Z position will very slightly move uniformly as the X position is scanned. | ||
+ | |||
+ | The plugin can compute a the slopes and Z offset if you mark multiple XYZ positions where the sample is centered vertically and use the button " | ||
+ | |||
+ | Use requires BNC cable between PLogic #3 and TTL input of the Z axis card for proper triggering. | ||
+ | |||
+ | |||
+ | ==== XYZ Stage Limits ==== | ||
+ | |||
+ | The purpose is to allow the user to define "limit planes" | ||
+ | |||
+ | Specify the plane as satisfying a series of equations of form: A1*x + B1*y + C1*z < D1. As a simple example, if you wanted to keep x between +1000 and -2000 then you would add the constraints | ||
+ | |||
+ | A1=1, B1=C1=0, D1=1000 | ||
+ | A2=-1, B1=C1=0, D1=2000 | ||
+ | |||
+ | |||
- | Perform the overview acquisition using the button in the "XYZ grid..." | ||
Line 204: | Line 250: | ||
The channels feature is patterned after that of Micro-Manager’s [[https:// | The channels feature is patterned after that of Micro-Manager’s [[https:// | ||
- | Simple per-volume channel switching | + | |
+ | Simple per-volume channel switching is generic and can be used with any Micro-Manager | ||
+ | |||
+ | Alternatively there are two hardware-based channel switching | ||
==== Volume Settings ==== | ==== Volume Settings ==== | ||
Line 219: | Line 268: | ||
Distinguishing two nearby point sources of light is a classic problem in optics. If a camera’s pixels are so large that both points are read by the same pixel, you won't be able to tell them apart, regardless of how good the optics. The camera resolution must be at least twice the optical resolution to avoid being the limiting factor; essentially, | Distinguishing two nearby point sources of light is a classic problem in optics. If a camera’s pixels are so large that both points are read by the same pixel, you won't be able to tell them apart, regardless of how good the optics. The camera resolution must be at least twice the optical resolution to avoid being the limiting factor; essentially, | ||
- | The standard formula for the optical lateral resolution is the Rayleigh criterion, a distance given by the formula: 0.61*lambda/ | + | |
- | Normally, for axial resolution limited by optics, the Z-axis step must be smaller than twice (per Nyquist) the optical axial resolution. Optical axial resolution, or depth of field, is usually taken to be lambda/ | + | The standard formula for the optical lateral resolution is the Rayleigh criterion, a distance given by the formula: 0.61*lambda/ |
+ | Normally, for axial resolution limited by optics, the Z-axis step must be smaller than twice (per Nyquist) the optical axial resolution. Optical axial resolution, or depth of field, is usually taken to be 2*lambda*RI/(NA^2); for the 40x 0.8 NA water objective at 500 nm, it is ~2.1 um. Therefore, the Z-step should be < 1 um. | ||
For diSPIM, we have two views that can be merged computationally. The axial perspective from each objective is a lateral perspective (with higher resolution) from the other, so we can undersample in Z to a certain extent, which is advantageous from a speed perspective. However, giving up too much axial resolution the registration of the two views will suffer; in an extreme case your Z-step could be large enough to completely skip over a point source. For this reason, we recommend the Z-step be at least as small as the objective' | For diSPIM, we have two views that can be merged computationally. The axial perspective from each objective is a lateral perspective (with higher resolution) from the other, so we can undersample in Z to a certain extent, which is advantageous from a speed perspective. However, giving up too much axial resolution the registration of the two views will suffer; in an extreme case your Z-step could be large enough to completely skip over a point source. For this reason, we recommend the Z-step be at least as small as the objective' | ||
</ | </ | ||
Line 268: | Line 319: | ||
In the future we would like to include the ability to manipulate the acquired data, including registration of the two views and joint deconvolution, | In the future we would like to include the ability to manipulate the acquired data, including registration of the two views and joint deconvolution, | ||
- | < | + | < |
- | Based on the angle specified on the settings tab "Path A stage/ | + | Based on the angle specified on the settings tab "Path A stage/ |
Line 280: | Line 331: | ||
Once set up, it is likely best to use the new Multi Stage device via the Stage Control plugin rather than assigning it as a stage in the Micro-Manager plugin. | Once set up, it is likely best to use the new Multi Stage device via the Stage Control plugin rather than assigning it as a stage in the Micro-Manager plugin. | ||
+ | |||
+ | ===== Acquisition Playlist ===== | ||
+ | |||
+ | The acquisition playlist allows you to run multiple acquisitions in sequence. | ||
+ | |||
+ | You can drag and drop to reorder the acquisitions in the playlist. When you select an acquisition or position list, the previous item is automatically saved. You can also use the save button in the top right corner to save changes manually. | ||
+ | |||
+ | To change what position list an acquisition is using, select the acquisition in the table, and click on the name of the position list in the " | ||
+ | |||
+ | When the "Run Acquisition Playlist" | ||
+ | |||
+ | You can raise the diSPIM head between acquisitions by enabling the option in the settings tab, this will use the "Load Sample" | ||
+ | |||
+ | A note on channels: The plugin only saves channels with unique preset names, if two channels have the same preset only one of them will be saved. Also, only the used channels are saved, meaning the " | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Acquisition Table ==== | ||
+ | |||
+ | **Add:** Add a new acquisition to the table, the name must be unique. | ||
+ | |||
+ | **Remove:** Removes an acquisition from the table. | ||
+ | |||
+ | ==== Acquisition Table Columns ==== | ||
+ | |||
+ | **#:** The order of the acquisitions. | ||
+ | |||
+ | **Acquisition Name:** The unique name of the acquisition. | ||
+ | |||
+ | **Save Name Prefix:** The prefix to be added to saved image data. | ||
+ | |||
+ | **Save Directory Root:** The directory to save the captured images into. | ||
+ | |||
+ | **Position List Name:** The name of the position list that this acquisition will use. | ||
+ | |||
+ | ==== Position Lists ==== | ||
+ | |||
+ | **Add:** Adds a new position list to the table, the name must be unique. | ||
+ | |||
+ | **Remove:** Removes a position list from the table and remove it from any acquisition in the playlist using it. | ||
+ | |||
+ | **Rename:** Renames a position list in the table and updates the name in the acquisition table. | ||
+ | |||
+ | **Edit Position List:** Opens the Micro-Manager "Stage Position List" editor window. | ||
+ | |||
+ | **XYZ grid:** Opens the XYZ grid frame which is also accessible from the acquisition panel. | ||
+ | |||
+ | ==== Acquisition Status ==== | ||
+ | |||
+ | **Current Acquisition: | ||
+ | |||
+ | **Acquisition Status:** When the playlist is run this will show where we are in the playlist, an example being 2/3 if we on " | ||
+ | |||
+ | **Run Acquisition Playlist:** Run each acquisition in the playlist sequentially. The current acquisition settings and selected position list are saved to the underlying acquisition table data before running. | ||
+ | |||
+ | ==== Save and Load ==== | ||
+ | |||
+ | **Save:** The top right button labeled " | ||
+ | |||
+ | **Playlist Save Directory: | ||
+ | |||
+ | **Save Playlist:** Save the acquisition playlist to a json file containing the acquisition settings, position lists, and the metadata that links the two. The current acquisition settings and selected position list are saved to the underlying acquisition table data before saving. | ||
+ | |||
+ | **Load Playlist:** Load a json file into the acquisition playlist, populating the acquisition table and position lists. | ||
+ | |||
+ | ===== Plugin Settings ===== | ||
+ | |||
+ | The plugin settings are stored in the windows registry adjacent to other Micro-Manager settings at Computer\HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\org\micromanager\asidispim. |