Micro-Manager diSPIM Plugin User Guide

The diSPIM plugin adds functionality to Micro-Manager from alignment to acquisition. This user guide gives an introduction to the utility of each of the tabbed panels in the plugin, as well as guidance on hardware- and sample-based considerations.

If you are not familiar with Micro-Manager, please read the User Guide and 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 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 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:

  • Gray = no device
  • Green = centered
  • Orange = near center
  • Red = far from center
  • Pink = making sheet (scanner only)
  • Black = beam turned off (scanner only)

Devices Tab

Use the Devices tab to assign hardware roles in order to gain access to the plugin’s features; re-visit this tab if you change hardware configurations in Micro-Manager or if you launch the plugin without the devices loaded.

 diSPIM plugin Devices tab Figure 1: The Devices tab in the diSPIM plugin must be configured; give special care to properly match the assignment with the physical hardware, especially regarding scanners and piezos.

For a diSPIM mounted on non-ASI inverted microscope frames, the Lower Z Height device may or may not work, dependent on Micro-Manager support. The imaging paths are the two possible light paths. For each path, the scanner is on one side, and the imaging piezo and camera are on the opposite side. In ASI’s typical controller configuration,

  • The Lower Z Height is the lower Z stage: Z-axis, associated with the inverted scope.
  • The SPIM Head Height is the upper Z stage: F-axis.
  • Imaging Path A is the left scanner with axes A and B, right-side (imaging) piezo with axis P, and the right-side camera. 1)
  • Imaging Path B is the right-side scanner with axes C and D, left (imaging) piezo with axis Q, and the left-side camera. Imaging Path B is the checkered components in Figure 26.

For a single-sided system (iSPIM), leave the Imaging Path B devices blank.

Setup Path Tabs

There are two setup tabs, one for each imaging path. These tabs are essential during diSPIM alignment. They are also used to set the center position of the imaging piezo (and by extension the center of the imaged 3D volume). For a single-sided system (iSPIM), ignore the Setup Path B tab.

 diSPIM plugin Setup Path A tab Figure 2: The settings on the Setup tabs immediately apply upon tab activation.

Tab-specific: controller, beams, cameras

Each Setup tab has an independent set of tab-specific controls: joystick/wheel, beams/sheets, and cameras; e.g. the joystick can control different devices on the different Setup tabs. The joystick/wheel control settings automatically become active when you click into the tab; you can opt for the same functionality with the beam/sheet selection via checkbox. (The beam control uses the scanner “blanking” feature; it assumes that both scanners have input light, e.g. a passive splitter between the laser and the scanner.) Unless No change is selected from the camera control On tab activate drop-down menu, the camera will automatically be set to the specified camera when the tab is selected.

Similar controls exist on the Navigation tab.

Imaging piezo: center and calibration

The center position for the imaging piezo is displayed, and the Set button sets the current position as the new center. This setting is crucial for acquisitions, but can be ignored during alignment. The up and down arrow buttons on the right move the piezo and slice together according to the calibration relationship. The amount of piezo travel per button click is set by the step size. This is useful for checking whether the calibration relationship is correct, and also for moving through the object of interest to confirm acquisition settings are correct.

Position display and sheet control

The position of the slice is shown, along with the positions of the imaging and illumination piezos. Use the text entry boxes to move the axis to a specific position. For single-sided operation, there is not an illumination-side piezo. For diSPIM, the illumination piezo has a “home” position during illumination (recall that the imaging piezo will be moving along with the slice position). The illumination piezo will go to the home position when the tab is selected if the Go home on tab activate checkbox is checked. The sheet width and sheet offset affect the sheet dimensions and center position. The + and - buttons are for fine adjustments; the sliders are easier to use for large changes.

Setting piezo/slice calibration

After fine alignment of the microscope is complete, the scanner movement in the slice direction needs to be cross-calibrated with the imaging piezo in order to remain coincident. During acquisition, the piezo and slice will move together through the sample to create a stack of images. Both the piezo objective movers and micromirror-based scanners have decent intrinsic linearity, so it suffices to identify two distinct locations where the light sheet is in focus and compute the relationship between the scanner position and imaging piezo. The computed values can be manually tweaked if desired. The autofocus can find the focus when doing the 2-point calibration or else updating just the offset. See the section on the Autofocus tab for more information.

Setting the calibration start and end positions goes quickly if the system is well-aligned:

  1. Introduce a fluorescent dye or bead sample.
  2. Make sure the sheet is in focus (i.e. that the imaging piezo is in a good position) and that the upper Z stage:F-axis and illumination piezo are in good positions as well.
  3. Move the imaging piezo to what will be approximately one end of the image. For example, if you are imaging an object that is 100 um across (and the imaging center is close to zero), move the imaging piezo to 50 um by manually entering the imaging piezo’s position.
  4. Click on the green bordered 2-point button to open the “Slope and Offset Calibration” window.  diSPIM plugin Setup Path tab; 2 point calibration pop-up Figure 3: The Slope and Offset Calibration window pops-up when you click the "2-point" button on the Setup Path tabs.
  5. Use a joystick knob to move the scanner’s slice position until the beam is in focus. In a dye solution this is easiest when the sheet is turned off; with a bead slide it is easiest when the sheet is turned on. If you are already close, you can use the Run Autofocus button to adjust the slice position.
  6. Click the red-bordered Set button under “Calibration Start Position”.2)
  7. Move the imaging piezo to the other end of the imaging piezo’s normal range, e.g. -50 um for this example.
  8. Use the joystick knob or autofocus to move the scanner’s slice position again until the beam is in focus.
  9. Click the red-bordered Set button under “Calibration End Position”.
  10. Click the Go to buttons for both start and stop to make sure that the imaging piezo and scanner’s slice position are correct (i.e. beam in focus) at both points.
  11. Click the green-bordered Use these! button to compute the slope and offset of the calibration relationship.
  12. 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, the value of the calibration slope only matters if you want the value of the offset as measured in microns to match the physical world. Normally you can just leave it at its default value.

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):

  1. Move to a central part of the sample.
  2. Click the Run Autofocus button. The system will attempt to move either the piezo or slice position to the best focus depending on options in the Autofocus tab. Alternatively, use the joystick knob to move the scanner’s slice position and/or the imaging piezo's position until the slice is in focus.
  3. When focus looks good, click the Update button next to the offset value on the Setup to adjust the calibration so that the current in focus position is now on the calibration line.

Light Sheet Synchronization

When the cameras’ acquisition trigger mode (on the Cameras tab) is set to utilize light sheet mode, settings will appear for light sheet synchronization: synchronizing the beam with the rolling shutter of the camera. These settings replace the usual sheet width and offset adjustments.

Light sheet synchronization is achieved by adjusting the speed and starting point of the sweeping beam3). These settings are exposed to the user as a slope parameter (speed) and offset parameter (starting point) in the bottom of the setup panel. At present the parameters need to be tuned manually. In the future hopefully there will be a semi-automated way of doing this tuning, much as there is a semi-automated way of performing the slice/piezo calibration using autofocus. For adjustments in the ROI, the slope parameter may need to be slightly tweaked. The offset parameter is sensitive to the exact lateral position of the objective so it may need to be tuned slightly daily, similar to the offset of the piezo/slice calibration.

The beam must remain horizontal across its entire scan range in order to utilize light sheet mode. This requires having a 4f configuration of lenses so that the tilt of the scanner's mirror is a pure translation in the image plane with no residual tilt. The spacer between the lower CUBE-III and the scanner tube lens can be used to achieve this spacing. For the Nikon 40x/0.8 objective, a 10 mm spacer is about right; many existing systems have either 7.5 or 15 mm spacers which may be satisfactory for small fields of view. Contact ASI if you need a different size spacer, or if you would like to upgrade/exchange for a continuously-adjustable spacer. Take an iterative approach to tuning the light sheet synchronization parameters:

  1. Align the system if it isn't already aligned.
  2. Use a very uniform sample, e.g. dye in solution.
  3. Set the start/offset parameter to 0. This will be relatively close to the final value.
  4. 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.
  5. 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.
  6. 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.
  7. For the speed/slope parameter:
    1. Start with ~3% changes to the parameter and work down to <1% changes.
    2. Try to maximize uniformity of sample brightness from top to bottom of the acquired images (it helps to have a perfectly uniform sample). If the speed of the beam is not the same as the speed of the rolling shutter there will be a brighter band when one passes the other. Your goal is to make the two speeds equal by tuning this parameter.
    3. You can conveniently visualize the uniformity using ImageJ: Edit > Options > Profile Plot Options… and click the Vertical Profile checkbox. Make a rectangular ROI selection on your image, and then Analyze > Plot Profile. You want the profile to be approximately level, not with a distinct peak.
  8. For the start/offset parameter:
    1. Changes should be ~3% of the speed/slope value at first, working down to changes <1% of the speed/slope value.
    2. Try to maximize the brightness of the sheet in the acquired images (it helps to have a perfectly uniform sample). If there is some constant offset of the beam from the rolling shutter the acquired image will be dimmer than if they are exactly coincident. Make the two coincident by tuning this parameter.
    3. You can conveniently visualize the average intensity again by using ImageJ's plot profile, histogram, or measure commands.

Note that Micro-Manager's live mode won't work properly with “light sheet” camera operation because it requires tight synchronization between the beam and the camera shutter. In live mode, the camera is free-running. Perhaps in the future the plugin will implement some sort of pseudo-live mode.

The Navigation tab (Figure 4) allows the user to easily view and change the position of all ten diSPIM axes. By default positions are updated once per second (see also Settings tab). As with the Setup tab, there are tab-specific joystick, beam, and camera controls.

 diSPIM plugin Navigation tab Figure 4: The Navigation panel allows the user to easily view and change the position of all ten diSPIM axes.

The left column of text entry boxes moves the respective axis to a specific position. The next column of text entry boxes (between the minus and plus buttons) specifies the increment that the buttons will move that axis with each click.

A button is provided to move each axis to the zero position. It is very useful to move the upper and lower Z axes to the imaging position and click their Set 0 buttons so they can return to that position with a single button click.

Finally, clicking the Halt button will send a command to the Tiger controller to stop the movement of all axes; this is mainly to prevent an imminent crash.

Autofocus Tab

The diSPIM plugin can leverage software autofocus routines that are already part of Micro-Manager to facilitate setting the piezo/slice calibration. The autofocus can also be set to run periodically during acquisition to counter any focus drift.

 diSPIM plugin Autofocus tab Figure 5: The Autofocus panel offers options on scoring algorithm, timing, and movement.

The autofocus works by taking a stack of images (sweeping either the piezo or slice while keeping the other fixed) and then evaluating each image according to a focus scoring algorithm. Multiple such algorithms are built into Micro-Manager already. The position vs. fit score is plotted and fit to a curve, e.g. Gaussian, and the optimal position is determined by the maximum of the fit curve. Furthermore, the R^2 value of the fit is determined. If the R^2 value exceeds the minimum value set and the optimal position is within the center 80% of the sweep range then the swept axis is set to the optimal position. It is up to the user to verify that this position is appropriate and update the calibration offset or set this as an input point for the 2-point (slope) calibration.

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. 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”. In cases where imaging speed is important it is usually a good idea to select “Overlap” or “Pseudo Overlap” camera modes.

 diSPIM plugin Cameras tab Figure 6: The Cameras panel allows you to set the ROI and the acquisition trigger mode.

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

The Settings tab (Figure 7) hosts options about the GUI, scanner, stage scanning, and more.

 The Settings panel of the diSPIM plugin. Figure 7: The Settings panel contains various settings not belonging elsewhere.

GUI settings affect the axis positions displayed on the Navigation tab.

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

In the Acquisition tab, shown in Figure 8, you set the parameters for and initiate the SPIM acquisition. This panel is analogous to the Multi-D acquisition window in Micro-Manager, except that the positions of the imaged volume are not specified here. By default, the joystick and wheels are disabled, but clicking the checkbox enables the joystick settings as set on the Navigation panel.

 diSPIM plugin Acquisition tab Figure 8: The Acquisition tab has advanced timing settings disabled in this image.

Setting the 3D ROI

Use the Setup tabs to specify the center slice position and other volume settings. The number of slices per side and the slice step size determine how far on each side of the center position is imaged.

Use Micro-Manager’s usual mechanism to specify the ROI of the two SPIM cameras; see the Micro-Manager User's Guide on ROI.


The time required for acquiring each slice, a single volume (one or two sided), and the total acquisition is displayed in the “Durations” box in the upper left.4)

Time Points

If you click the checkbox for Time points, you can specify the number of time points and the interval between them. Under most circumstances the plugin actually triggers separate single-volume acquisitions in the controller so that the exact moment when a time point starts is controlled by the PC which presumably has a very accurate time source.

If the time between finishing one time point and starting the next is less than 0.75 seconds, a special “hardware timepoints” mode is invoked silently; the controller takes charge, and the spacing between time points may not be quite as accurate.

Data Saving Settings

Specify where and how the data is saved.

  • Separate viewer / file for each time point: performs a separate Micro-Manager acquisition for each time point, implying a separate viewer window and separate file. In general it is better to let Micro-Manager save all time points to a single file.
  • Save while acquiring: saves the data to disk; if unchecked then data will be saved in RAM and the user will have the option to save it later. Obviously, for large acquisitions the data must be saved to disk directly.

Acquisition Mode

Currently several modes are supported:

  • Synchronous piezo/slice scan: standard piezo use, the piezo and sheet move together through the sample
  • No scan (fixed sheet): none of the piezo nor light sheet nor the stage moves (only the light sheet generation using the sheet axis); useful for characterizing vibration in the system
  • Stage scan: uses the XY stage to move the sample through a fixed light sheet; for two-sided acquisitions, one view is collected in the first pass, and the second view is collected as the stage moves “back” for a second pass; see the document on stage scanning for details and requirements
  • Stage scan interleaved: same as stage scan except that the stage moves half as fast and the two light paths alternate, meaning both views are collected in the same pass; use caution if you are using a galvo to switch the laser between the sides, this can overstress some galvos
  • Stage scan unidirectional: same as stage scan except the second view is taken while scanning in the same direction as the first view with a rewind step between. For 1-sided acquisitions stage scan and stage scan unidirectional are equivalent. For 2-sided acquisitions the stage scan unidirectional will take slightly longer (the rewind step is done at 75% of the max stage speed) but makes data processing easier.
  • Slice scan only: suppresses movement of piezo but moves the light sheet; useful for characterizing light sheet thickness and for autofocus
  • Piezo scan only: the light sheet stays stationary but the piezo moves; useful for establishing axial PSF and for autofocus

Acquire Button

Click the Start Acquisition! button to start or abort an acquisition. The status string informs you which time point is being acquired.

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 (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 Position List Dialog.

The XYZ grid creator facilitates acquisitions of multiple uniform strips to cover a large sample. Open the grid creator window by clicking on the “XYZ grid…” button. The window houses a 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.

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.

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


The channels feature is patterned after that of Micro-Manager’s Multi-Dimensional Acquisition). It is most commonly used to take volumes with different illumination wavelengths (e.g. 488 nm and 561 nm for samples labeled with GFP and mCherry). Before using this feature, you must create and configure a group of presets containing the settings for that channel.

Simple per-volume channel switching is generic and can be used with any Micro-Manager configuration group. Control of the acquisitions reverts to Micro-Manager between volumes so that Micro-Manager can e.g. move filter wheels to the specified positions, and then the ASI controller is re-triggered by Micro-Manager to collect the next volume. The plugin requires a certain amount of time between finishing one volume and beginning the next so that the extra communication and control change can happen.

Alternatively there are two hardware-based channel switching modes – “Every volume (PLogic)” and “Every slice (PLogic)” – which which leverage the PLC so that TTL triggering which happens within each volume continues across all volumes and control of the acquisition never returns to the host PC. These hardware-based channel switching modes require a bit of extra setup time but no delay during acquisition. The main limitation of the hardware-based channel modes is that they will only change the channel via the PLC property “Output Channel” which is used to select the correct laser to trigger (other properties in the channel group, if any, are ignored). Mode “Every slice (PLogic)” interleaves the channels within the volume whereas “Every volume (PLogic)” changes channels between volumes.

Volume Settings

Use the parameters in the “Volume Settings” group to set up the stacks to be collected:

  • Number of sides: 2 for diSPIM, 1 for single-view
  • First side: whether Path A or Path B goes first
  • Delay before side: wait period after initiating the side (moving the illumination objective and imaging piezo into position) before beginning stack acquisition; when stage scanning, this is the stage speed settling time to ensure uniform speed
  • Slices per side: number of frames to acquire on each side
  • Slice step size: increment of imaging piezo (and light sheet will follow) for each slice, i.e. the Z-stack step size; for stage scanning this is the orthogonal spacing between slices, i.e. if this is 1 um then the stage will move 1.41 um between slices 5)

Exploring Resolution and Z-step Size

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, a dark pixel must be between the two bright pixels. This is a manifestation of the Nyquist sampling theorem, which describes a fundamental mathematical relationship between continuous (or analog) and discrete (or digital) signals.

The standard formula for the optical lateral resolution is the Rayleigh criterion, a distance given by the formula: 0.61*lambda/NA (where lambda is the wavelength of light). For a 40X 0.8NA objective with 500 nm light, the lateral resolution is ~381 nm. That objective with a camera sensor that has a 6.5 um pixel pitch, is spatially sampling at (6.5 um/40x) ~162.5 nm pixel size, so we meet the Nyquist criteria (because 381 nm/162.5 nm = 2.34), but we wouldn't if we were using 400 nm light. 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's depth of field. (With Fiji MVR and bead datasets, it's easy to register datasets with 0.5 um Z-step spacing but not with 1 um Z-step spacing.)

Slice Settings

  • Minimize slice period: when checked the plugin will have zero added delay between slices
  • Slice period: requested period of each slice, if not minimized; must be a multiple of 0.25 ms
  • Sample exposure: requested illumination time; must be a multiple of 0.25 milliseconds.
  • Use advanced timing settings: when the checkbox is checked, settings can be edited directly in a pop-up window; use this if you want to adjust the values that the plugin computes

Slice Settings for Light Sheet Mode

When the cameras are being used in light sheet mode the normal slice settings are not relevant and a different group of settings appear.

  • Scan reset time: time for the beam to retrace to the starting position between slices; 3 ms is a good starting value
  • Scan settle time: time that the beam scans before reaching ROI, useful to settle to constant speed; 1 ms is a good starting value
  • Shutter width: width of the open camera shutter in microns; adjusts the amount of confocality and hence the rejection of scattered light; publications often recommend setting this to 1.5 or 2 times the beam thickness (which can be defined multiple ways); the narrower the shutter the more precise the light sheet synchronization settings need to be.
  • Use advanced timing settings: when the checkbox is checked, settings can be edited directly in a pop-up window; use this if you want to adjust the values that the plugin computes

Default Timing

Specify ​the Sample ​exposure [ms] in Slice Settings, ​and either define ​the slice period or let the plugin minimize the slice period automatically. The timing depends on the reset and readout time of the cameras as well as the trigger mode set on the Cameras tab (e.g. “Overlap/synchronous” trigger mode performs readout and reset at the same time whereas they are sequential in “Edge” mode). Plugin code specific ​to each supported camera computes timings for the user-specified ​ROI using information provided by the manufacturer (usually either via their detailed camera documentation or read-only ​Micro-Manager ​properties). ​ Any extra time in the slice is placed before the camera trigger to allow maximum time for piezo settling. The values computed by the default timing mode are shown in the slice timing settings and can be subsequently modified manually.

Exploring Default Timing

Only one line scan per slice is used. Each period consists of camera readout time, then any extra delay time, camera reset time, and lastly beam scan time. During beam scan time, the laser is off for the first and last 0.25 ms of the scan and on otherwise. Because the beam scan is limited to increments of 1 ms, the laser exposure time must be a half-integer number of milliseconds. An empirical scanner delay according to its Bessel filter is included (so the scan signal is shifted slightly earlier). Times are rounded to the nearest 0.25 ms, except the camera readout and reset times which are always rounded up to the next multiple of 0.25 ms because they are computed according to manufacturer’s timing information and the ROI; they try to account for worst-case jitter. The camera readout time is set to zero if the “Overlap” on “Synchronous” mode of the cameras is used.

Advanced Timing Settings

The detailed controller timing settings are hidden by default but can be accessed by checking Use advanced timing settings checkbox. The vast majority of users will not need to use these. The default timing mode calculates timing parameters from the camera readout mode, ROI, and user-set parameters. The times must all be multiples of 0.25 ms. The advanced timing settings have correspondence to controller settings as follows:

  • Delay before scan: time before scan begins (gives piezo stages time to move/settle before sheet acquisition is started) (NV X)
  • Line scans per slice: how many one-way beam scans per slice (NR X)
  • Line scan duration: time for one sweep of the beam (SAF <axis>)
  • Delay before laser: delay before laser trigger is fired (NV R)
  • Laser trig duration: duration of the laser trigger (RT R)
  • Delay before camera: delay before camera trigger is fired (NV T)
  • Camera trig duration: duration of camera trigger (RT T)
  • Camera exposure: duration the camera shutter is open

 diSPIM plugin slice timing graph Figure 9: The slice timing involves the piezo, micro-mirror, camera, and laser.

Data Analysis Tab

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, (Figure 10), 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.

 diSPIM plugin Data Analysis tab Figure 10: The Data Analysis panel facilitates exporting acquisition data.

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.

Synthetic Stage

Sometimes it is handy to create a synthetic stage to move the sample relative to the optic axis, e.g. to move deeper into the sample along the imaging axis by moving the SPIM head and the X axis of the XY stage together. In the hardware config wizard add an instance of the Utilities > Multi Stage device which creates a synthetic 1D stage out of 2 real 1D stages. Specify which stages to use and the scale factors in the properties in the System-Startup group in your hardware config. The scale factors should be +/- 1 for 45 degrees, +/- 1 and +/- 2 for oSPIM at 60 degrees, and so forth.

In order to use one axis of an XY stage as a 1D stage for the Multi Stage device you can use the Utilities > Single Axis Stage device. Set its properties in the System-Startup group as well.

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.

 diSPIM Plugin Acquisition Playlist Figure 11: The acquisition playlist allows you to run multiple acquisitions in sequence.

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.

For a list of cameras currently supported by Micro-Manager, please see the diSPIM Manual: Hardware configuration.
It does not matter which position is “Start” and which is “End”.
In contrast, most published implementations adjust camera delay instead of the beam's starting point.
The actual time of the stack (and also the slice period) may be slightly longer due to the firmware implementation details.
The stage moves sqrt(2) times the slice step distance. There may be very small rounding errors (which would come out in normal post-processing) but the metadata should contain the actual slice spacing instead of the user-specified one. Rounding errors were reduced as of the 2018-03-15 nightly build.