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/04/14 20:28]
Jon Daniels [Channels]
docs:mm_dispim_plugin_user_guide [2024/02/21 21:16] (current)
Jon Daniels [Cameras Tab]
Line 89: Line 89:
   - 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 126:
 ===== 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 145:
 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 188: Line 197:
 ==== 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://micro-manager.org/wiki/Micro-Manager_User%27s_Guide#Position_List_Dialog|Position List Dialog]].+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://micro-manager.org/wiki/Micro-Manager_User%27s_Guide#Position_List_Dialog|Position List Dialog]].
  
-For large samples there is a YZ grid creator (as of March 2018) so multiple strips can be collected covering a sample. Open the grid creator window by clicking on the "XYZ grid..." button.  Select the axes that you want to create the grid in and click the "Compute grid" button to set up the grid.  You can mark specific start/stop positions in live mode.  The delta for Y and Z can be entered manually, or if you click the button "Set" next to those fields then the value is populated based on the camera ROI and the overlap percentage setting.  Note that the X axis is used for stage scanning, so when you create "grid" in X you are specifying start and stop positions and spacing between them in stage coordinates.+The XYZ grid creator facilitates acquisitions of multiple uniform strips to cover large sample. Open the grid creator window by clicking on the "XYZ grid..." button.  The window houses few other related features described below.
  
 +==== Using the Grid Creator ====
  
 +Select the axes that you want to create the grid in and click the "Compute grid" button to set up the grid.  For thin samples you do not need the Z grid.  You can mark specific start/stop positions in live mode using the corresponding "Set" buttons.  The delta for Y and Z can be entered manually, or if you click the "Set" button next to those fields then the value is populated based on the camera ROI and the overlap percentage setting.
  
-=== Overview Acquisition ===+The X axis is used for stage scanning, so when you create a "grid" in X you are specifying start and stop positions and spacing between them in stage coordinates.  If you enable "Slices from stage coordinates" in the XYZ grid window then the values "slices per side" and "slice step size" in the main acquisition window will be changed based on the settings in the XYZ grid window. 
 + 
 +The button "Compute Grid" will populate the position list with coordinates from the above settings.  This position list is in turn used with the Multiple Positions feature of the plugin. 
 + 
 + 
 + 
 +==== Overview Acquisition ====
  
 As of March 2019 there is a feature to acquire an overview acquisition.  This is useful when the entire sample is many times larger than the instantaneous field of view.  The overview image is a 2D image representing a thin slice of the sample which can be collected relatively quickly.  After acquisition, a rectangle is placed on the overview image representing the current stage position, and this rectangle moves with the stage as long as positions are being updated.  It is not intended for use with a Z grid but only XY grid. As of March 2019 there is a feature to acquire an overview acquisition.  This is useful when the entire sample is many times larger than the instantaneous field of view.  The overview image is a 2D image representing a thin slice of the sample which can be collected relatively quickly.  After acquisition, a rectangle is placed on the overview image representing the current stage position, and this rectangle moves with the stage as long as positions are being updated.  It is not intended for use with a Z grid but only XY grid.
  
-Settings for the overview acquisition reside on the "Data Analysis" tab.  These include the downsample factor for XY and for slice spacing.  The fractional thickness specifies how much of the entire image will be max projected to form the overview image.  You specify a channel and a side to run the overview acquisition with.+Some settings for the overview acquisition reside on the "Data Analysis" tab.  These include the downsample factor for XY and for slice spacing.  The fractional thickness specifies how much of the entire image will be max projected to form the overview image.  You specify a channel and a side to run the overview acquisition with. 
 + 
 +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 slope is specified in Z movement proportional to X and Y positions plus an offset. 
 + 
 +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 "Compute correction from position list" Alternatively the user can simply enter values themselves. 
 + 
 +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" that need not be exactly along the X Y or Z axes.  This works in live mode based on the periodically-updated positions.  No provision is made to enforce these limits during acquisition. 
 + 
 +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..." window accessed from the acquisition tab.  Running the acquisition uses the current settings of the grid GUI for X and Y (if they are enabled) and will overwrite any existing position list. 
  
  
Line 287: Line 327:
  
 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 "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>
 +
 +==== 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.