Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
hardware:controller [2018/09/17 20:22] Jon Daniels [Required software and instructions] add motorized iris |
hardware:controller [2024/02/16 17:54] (current) Jon Daniels [Firmware] |
In general firmware updates add new functionality and fix bugs while retaining backwards compatibility, though on rare occasion backward compatibility is compromised. If you are not using Micro-Manager, you should double-check with the vendor of the acquisition software before updating firmware. If you are using Micro-Manager, you should generally download the latest nightly build whenever you update firmware. Conversely, if you are having problems with a recent build of Micro-Manager make sure that the controller firmware is the latest. | In general firmware updates add new functionality and fix bugs while retaining backwards compatibility, though on rare occasion backward compatibility is compromised. If you are not using Micro-Manager, you should double-check with the vendor of the acquisition software before updating firmware. If you are using Micro-Manager, you should generally download the latest nightly build whenever you update firmware. Conversely, if you are having problems with a recent build of Micro-Manager make sure that the controller firmware is the latest. |
| |
| ** Warning: these instructions are for iSPIM and diSPIM only. If you have another type of ASI light sheet microscope (e.g. oSPIM or single-objective light sheet) contact ASI for guidance and for the proper firmware files. ** |
==== Before you begin ==== | ==== Before you begin ==== |
| |
==== Required software and instructions ==== | ==== Required software and instructions ==== |
| |
To update the firmware you need the [[http://www.asiimaging.com/index.php/support/downloads/tiger-controller-console/|ASI Tiger Console]] software and the [[https://www.dropbox.com/sh/r5cabcfytu0e88f/AAD3IlCEpKInWmm2h4oh5_z6a?dl=1|latest diSPIM firmware package from ASI]] (last updated 2018-01-19, firmware version 3.19), or from the [[https://www.dropbox.com/sh/tpl82yahjz41nil/AABnSsCRDR_gRhxTiOi0srUJa?dl=0|diSPIM firmware archive]]. Use [[http://7zip.org|7zip]] to decompress. This firmware should work for diSPIM systems sold 2014 or later. A link to download firmware for the oSPIM is found on the [[docs:ospim|oSPIM page]]. | To update the firmware you need the [[http://www.asiimaging.com/index.php/support/downloads/tiger-controller-console/|ASI Tiger Console]] software and the [[https://www.dropbox.com/sh/r5cabcfytu0e88f/AAD3IlCEpKInWmm2h4oh5_z6a?dl=1|latest diSPIM firmware package from ASI]] (dated 2020-10-05, firmware version 3.33), or from the [[https://www.dropbox.com/sh/tpl82yahjz41nil/AABnSsCRDR_gRhxTiOi0srUJa?dl=0|diSPIM firmware archive]]. Use [[http://7zip.org|7zip]] to decompress. This firmware should work for diSPIM systems sold 2014 or later. A link to download firmware for the oSPIM is found on the [[docs:ospim|oSPIM page]]. |
| |
General instructions for using the ASI Tiger Console software for updating the firmware are [[https://www.dropbox.com/s/j85783gltskreth/Using%20Dwayne%27s%20Tiger%20Console.pdf?dl=0|here]]. | General instructions for using the ASI Tiger Console software for updating the firmware are [[https://www.dropbox.com/s/j85783gltskreth/Using%20Dwayne%27s%20Tiger%20Console.pdf?dl=0|here]]. |
| |
Standard firmwares for card addresses on diSPIM controllers are as follows. Omit any cards that your controller doesn't have. If your controller is otherwise non-standard (e.g. the addresses don't match the labels on the front of the controller) feel free to contact ASI for help. | Standard firmwares for card addresses on diSPIM controllers are as follows. Omit any cards that your controller doesn't have. Almost always you will be programming the same firmware build name as exists on your current controller and you can see the list if you are connected via serial to the controller when it powers up or else by issuing the [[http://asiimaging.com/docs/commands/who|WHO]] command. If your controller is otherwise non-standard (e.g. the addresses don't match the labels on the front of the controller) feel free to contact ASI for help. |
| |
^ Address ^ Card ^ Usual Firmware ^ Comments ^ | ^ Address ^ Card ^ Usual Firmware ^ Comments ^ |
Instead of moving the sheet position and imaging piezo to create a stack of images, the sample can be translated through a fixed sheet. Generally speaking this is best for large and/or flat samples. | Instead of moving the sheet position and imaging piezo to create a stack of images, the sample can be translated through a fixed sheet. Generally speaking this is best for large and/or flat samples. |
| |
The main advantages of stage scanning are that the light sheet can be thinner for flat samples because the beam waist stays at the same height relative to the coverslip and that there is a nearly unlimited stack "Z" (instead of limitation of piezo range). The main disadvantages are that the output data need to be deskewed or sheared before conventional analysis and the minimum time between successive time points is somewhat longer (because the motorized stage can't return to its starting position as fast as a piezo stage). | The main advantages of stage scanning are that the light sheet can be thinner for flat samples because the beam waist stays at the same height relative to the coverslip and that the "Z-stack" is limited only by the travel of the X-axis of the stage (instead of the piezo range). The main disadvantages are that the output data need to be deskewed or sheared before conventional analysis and the minimum time between time points is somewhat longer than with a piezo. (Typically the stage is plenty fast for acquisition, i.e. the acquisition is camera/photon limited, but the motorized stage can't return to its starting position as fast as a piezo stage). Users of static light sheets should also address PSF-blurring resulting from stage scanning; Nyquist demands >2 images per stationary PSF, but motion blur requires you to sample more.((The concept of blurred PSFs due to stage scanning is discussed in Chapter 3, Section 5 of [[http://doi.org/10.25560/68022|Vincent Maioli's PhD thesis]] from the Dunsby lab.)) The swept beam of a digital light sheet produces a "stop motion" effect and therefore does not require increased sampling. |
| |
In the usual implementation, the stage moves continuously in the X axis at an appropriate rate to give the user-specified slice spacing. The speed of the ASI stage is very uniform and the stage's encoder triggers the acquisition internally to give extremely repeatable positioning of repeated stacks. For traditional scanned beam systems, the beam sweep creating the sheet creates a "stop motion" effect. | In the usual implementation, the stage moves continuously in the X axis at an appropriate rate to give the user-specified slice spacing. The speed of the scan optimized stages is very uniform (see hardware notes below) and the stage's encoder triggers the acquisition internally to give extremely repeatable positioning of repeated stacks. |
| |
| |
| |
==== Hardware Notes ==== | ==== Hardware Notes ==== |
* The stage cannot go arbitrarily slow and still be perfectly smooth. For 4 TPI leadscrew max speed is ~8.5mm/s and speed setting quantum is 0.000688 mm/s. A rough rule of thumb is that the slowest speed that is relatively smooth is ~1000x slower than the max speed or about 12x the quantum. For 16 TPI leadscrew ("scan-optimized" stages) divide those numbers by 4. So at this 12x quantum threshold, the "minimum smooth" speed is 2 um/sec for 16 TPI and 8 um/sec for 4 TPI. | * The stage cannot go arbitrarily slow and still be perfectly smooth. ASI's standard "scan optimized" stages use 16 TPI leadscrews that have a max speed of ~1.75 mm/s and a speed setting quantum of 172 nm/s. To a fair approximation, the slowest speed that is relatively smooth is ~1000x slower than the max speed or about 12x the quantum. So the "minimum smooth" speed is 1.8 um/sec for 16 TPI leadscrews. |
| |
==== Post-Processing Notes ==== | ==== Post-Processing Notes ==== |
* As noted above the data needs to be deskewed before it can be used/viewed in a conventional way. On-the-fly deskewing for visualizing test acquisitions and also for post-processing real acquisitions is in the plugin as of December 2016; the algorithm is fundamentally the same as the ImageJ macro and may not be quite as accurate as a full affine transformation. | * As noted above the data needs to be deskewed before it can be used/viewed in a conventional way. On-the-fly deskewing for visualizing test acquisitions and also for post-processing real acquisitions is in the plugin as of December 2016; the algorithm is fundamentally the same as the ImageJ macro but hopefully easier to use because the metadata provides most parameters (but background correction must be performed separately). |
| * Unfortunately deskewing can blow up the size of (uncompressed) data files because a lot of empty space is added. |
* An alternative to deskewing is reslicing. This can be as simple as reshuffling pixels in memory if the stage translation speed is chosen to be an integer number of pixels. Reslicing along the stage direction spreads the optical low-resolution between 2 axes but reduces the empty regions created by deskewing, particularly for long stage-scan stacks. The following diagram hopefully helps:{{ :hardware:deskew_vs_reslice.jpg?600 |}} | * An alternative to deskewing is reslicing. This can be as simple as reshuffling pixels in memory if the stage translation speed is chosen to be an integer number of pixels. Reslicing along the stage direction spreads the optical low-resolution between 2 axes but reduces the empty regions created by deskewing, particularly for long stage-scan stacks. The following diagram hopefully helps:{{ :hardware:deskew_vs_reslice.jpg?600 |}} |
| * It would be highly desirable for analysis and viewing software to be able to handle the deskew operation in memory and on the fly. To date the only software known with this capability is FIJI's Big Data Viewer. Lobby your favorite software provider for this and make life better for everyone (many light sheet microscopes including lattice light sheet also require the same deskew step). |
| * Micro-Manager 2.0 has a helpful ability to reslice data (an "Image Processor" added mid-2023) which is helpful especially for stage scanning data. The GPU version of the algorithm can operate on datasets up to 1/4 of the GPU memory, e.g. 2 GB datasets can be processed on a GPU with 8 GB of working memory. The GPU version does interpolation and the CPU version is faster but doesn't do any interpolation. |
==== Micro-Manager Implementation Notes ==== | ==== Micro-Manager Implementation Notes ==== |
* The spacing between slices is specified in the plugin, so the stage moves sqrt(2) times that distance per slice. 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. | * The spacing between slices is specified in the plugin, so the stage moves sqrt(2) times that distance per slice for 45 degree geometry (the actual angle can be set as of March 2018). 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. |
* The initial X position is used as the center X position of the dataset and the stage should return there afterwards. | * The initial X position is used as the center X position of the dataset and the stage should return there afterwards. |
* For large samples there is a YZ grid creator (as of March 2018) so multiple strips can be collected covering a sample. The same GUI allows you to create a "grid" in X where instead of specifying slice spacing you specify start, stop, and number of slices. | * For large samples there is a YZ grid creator (as of March 2018) so multiple strips can be collected covering a sample. The same GUI allows you to create a "grid" in X where instead of specifying slice spacing you specify start, stop, and number of slices. |
* There are three modes implemented, "stage scan", "stage scan interleaved", and "stage scan unidirectional"; see the [[docs:manual#spim_mode|manual's description]] of the different SPIM acquisition modes. | * There are three modes implemented, "stage scan", "stage scan interleaved", and "stage scan unidirectional"; see the [[docs:manual#spim_mode|manual's description]] of the different SPIM acquisition modes. |
| |