Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:mm_dispim_plugin_user_guide [2021/11/18 18:39]
Brandon Simpson [Acquisition Playlist]
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, please read the [[https://micro-manager.org/wiki/Micro-Manager_User%27s_Guide|User Guide]] and [[https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide|Configuration Guide]] before running the plugin. Also, refer to the diSPIM manual: Getting started with Micro-Manager for guidance before aligning your diSPIM. If you are not familiar with Micro-Manager, please read the [[https://micro-manager.org/wiki/Micro-Manager_User%27s_Guide|User Guide]] and [[https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide|Configuration Guide]] before running the plugin. Also, refer to the diSPIM manual: Getting started with Micro-Manager for guidance before aligning your diSPIM.
 +
 +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://github.com/micro-manager/LightSheetManager|LightSheetManager]] that will operate the diSPIM as well as other types of light sheet microscopes.  Contributions to the effort of making this new plugin are appreciated.  As of August 2023 this is in alpha testing by the first few bleeding edge adopters, and we expect that by end of 2023 it will be ready for more adopters and a full replacement in 2024.
 +
 +You can download the nightly builds of Micro-manager 1.4 for Windows [[https://download.micro-manager.org/nightly/1.4/Windows/|here]]; the date is encoded in the file name and the latest date is at the top of the page.  Make sure to get the appropriate 32bit or 64bit depending on your computer.
  
 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 89: 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/offset parameter to 0. This will be relatively close to the final value.   - Set the start/offset parameter to 0. 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.+  - 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, evaluate the results, and adjust the parameter again until you find the best setting where changing the setting in either direction gives worse results.   - 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, evaluate the results, and adjust the parameter again until you find the best setting where changing the setting in either direction gives worse results.
Line 126: 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 Overlap” and Synchronous” by the manufacturers but referred to uniformly as “Overlap” in the plugin. Because the image sensor is simultaneously read out and reset to begin the subsequent exposure, the camera overhead time is reduced and it allows for faster camera frame rates.8). The downside is that there can be slight ghosting” or bleedthrough from frame to frame because the reset isn't quite complete. The same mode is not available with the PCO.edge or Photometrics Prime 95B. However, a new exposure can begin shortly after the readout starts which is a mode we refer to as Pseudo Overlap.+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 "Overlapand "Synchronousby the manufacturers but referred to uniformly as “Overlap” in the plugin. Because the image sensor is simultaneously read out and reset to begin the subsequent exposure, the camera overhead time is reduced and it allows for faster camera frame rates. The downside is that there can be slight "ghostingor bleedthrough from frame to frame because the reset isn't quite complete. The same mode is not available with the PCO.edge or Photometrics Prime 95B. However, a new exposure can begin shortly after the readout starts which is a mode we refer to as "Pseudo Overlap" In cases where imaging speed is important it is usually a good idea to select "Overlap" or "Pseudo Overlap" camera modes.
  
 <imgcaption plugin_Cameras| The Cameras panel allows you to set the ROI and the acquisition trigger mode.>{{:docs:um-camerastab.png?600| diSPIM plugin Cameras tab}}</imgcaption> <imgcaption plugin_Cameras| The Cameras panel allows you to set the ROI and the acquisition trigger mode.>{{:docs:um-camerastab.png?600| diSPIM plugin Cameras tab}}</imgcaption>
  
 +==== 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's implementation.  In simple cases with only 2 cameras it may be easier to instead use the setting on the Settings tab to record from 2 views simultaneously.  When using "Use simultaneous cameras on Path A" each "channel" in the dataset is a different camera as expected.  However if multiple channels are used also, each channel is assigned a portion of the resulting stack, and furthermore no time points are allowed.  For instance with 2 cameras and 3 sets of lasers and 50 slices in the stack the resulting dataset would have 2 channels and 150 slices.
 ===== Settings Tab ===== ===== Settings Tab =====
  
Line 140: 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/cameras ====
 +
 +This option was added to enable reflective imaging where cameras on both sides are triggered together (see https://www.nature.com/articles/s41467-017-01250-8).  Both cameras should be wired to the same trigger signal using e.g. a BNC "tee" at the Tiger controller output.
  
 +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 306: 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, directly in the diSPIM plugin. At present, the Data analysis tab, (<imgref plugin_DataAnalysis>), exports the acquired data to the format required by the MIPAV GenerateFusion plugin. Fiji’s Multiview Registration plugin can directly import diSPIM data. Exporting operates on the top-most image window. In the future we would like to include the ability to manipulate the acquired data, including registration of the two views and joint deconvolution, directly in the diSPIM plugin. At present, the Data analysis tab, (<imgref plugin_DataAnalysis>), exports the acquired data to the format required by the MIPAV GenerateFusion plugin. Fiji’s Multiview Registration plugin can directly import diSPIM data. Exporting operates on the top-most image window.
  
-<imgcaption plugin_DataAnalysis| The Data Analysis panel facilitates exporting acquisition data.>{{:docs:um-datatab.png?600| diSPIM plugin Data Analysis tab}}</imgcaption>+<imgcaption plugin_DataAnalysis| The Data Analysis panel facilitates exporting acquisition data.>{{:docs:um-dataanalyis-tab.png?600| diSPIM plugin Data Analysis tab}}</imgcaption>
  
-Based on the angle specified on the settings tab "Path A stage/objective angle", the pixel size defined in Micro-Manager’s “Pixel Size Calibration”, and slice spacing then the plugin runs the deskew.  If empirically it is off, check the "Invert direction" checkbox and try again.  Deskew fudge factor is an additional scale factor on the deskew and should generally be 1.+Based on the angle specified on the settings tab "Path A stage/objective angle", the pixel size defined in Micro-Manager’s “Pixel Size Calibration”, and slice spacing then the plugin runs the deskew.  If empirically it is off, check the "Invert direction" checkbox and try again.  Deskew fudge factor is an additional scale factor on the deskew and should generally be 1.  Rotate direction should be enabled if the data moves up/down in the raw data while scrolling through instead of left/right.
  
  
Line 323: Line 336:
 The acquisition playlist allows you to run multiple acquisitions in sequence. 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 "Position Lists" section. If an acquisition does not use a position list, select "None".
 +
 +When the "Run Acquisition Playlist" button is clicked, the plugin will automatically set acquisition failures to quiet and send any errors it encounters to the "Acquisition Status" text area. The plugin will automatically select "Save while acquiring" on the acquisition panel and close acquisition display windows after each acquisition.
 +
 +You can raise the diSPIM head between acquisitions by enabling the option in the settings tab, this will use the "Load Sample" position on the navigation tab as the position to raise the diSPIM head to.
 +
 +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 "Use?" checkbox must be checked.
  
 <imgcaption plugin_playlist| The acquisition playlist allows you to run multiple acquisitions in sequence.>{{:docs:manual:acq_playlist.png?direct| diSPIM Plugin Acquisition Playlist}}</imgcaption> <imgcaption plugin_playlist| The acquisition playlist allows you to run multiple acquisitions in sequence.>{{:docs:manual:acq_playlist.png?direct| diSPIM Plugin Acquisition Playlist}}</imgcaption>
 +
 +==== 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:** The name of the running acquisition, such as "acq1".
 +
 +**Acquisition Status:** When the playlist is run this will show where we are in the playlist, an example being 2/3 if we on "acq2" in the playlist.
 +
 +**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 "Save" will save any changes to the acquisition settings or Micro-Manager position list to the underlying table data.
 +
 +**Playlist Save Directory:** The directory to save metadata to after the acquisition playlist has run all acquisitions. This includes a json file of metadata that can be loaded into the plugin and the contents of the acquisition status log.
 +
 +**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.