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
software:labview [2016/02/08 19:46]
Abhishek Kumar
software:labview [2016/02/14 13:41] (current)
Abhishek Kumar
Line 1: Line 1:
 ====== Labview  ====== ====== Labview  ======
  
-LabView implementations have been created by the Hari Shroff lab and used by collaborators.  Contact them directly for LabView code (also available on [[http://www.wormguides.org/dispim/dispim-downloads|wormguides.org]] but probably out of date).+LabView implementations have been created by the Hari Shroff lab and used by collaborators.  Contact them directly for LabView code (also available on [[http://www.wormguides.org/dispim/dispim-downloads|wormguides.org]]).{{:software:light_sheet_mode.zip|}}, {{:software:stage_scanning_dispim_imaging.zip|}}
  
 In general LabView is recommended only for groups doing significant custom software development within an existing LabView framework.  End users are probably better off using Micro-Manager or a commercial software.  Micro-manager is open-source and extensible so it can also be utilized by groups doing custom software development. In general LabView is recommended only for groups doing significant custom software development within an existing LabView framework.  End users are probably better off using Micro-Manager or a commercial software.  Micro-manager is open-source and extensible so it can also be utilized by groups doing custom software development.
  
- 
- 
-  * {{indexmenu>:software#2}} 
- 
-**{{indexmenu>:labview#1}}LabVIEW (LV) Tutorial:** 
  
  **Overview**  **Overview**
Line 15: Line 10:
 We previously described a similar program for controlling diSPIM in ‘conventional’ image acquisition mode (synchronously sweeping the light sheet and detection focal plane through the sample)2; the LV programs described below use the same hardware.  For feedback or queries please contact Abhishek Kumar ([email protected]) or Hari Shroff ([email protected]). We previously described a similar program for controlling diSPIM in ‘conventional’ image acquisition mode (synchronously sweeping the light sheet and detection focal plane through the sample)2; the LV programs described below use the same hardware.  For feedback or queries please contact Abhishek Kumar ([email protected]) or Hari Shroff ([email protected]).
  
-**A. Schematic of example waveforms provided to the diSPIM for hardware control:** Waveforms are generated by the DAQ and provided to the various diSPIM hardware components. See the MBL Biological Bulletin paper for more information. +**A. Schematic of example waveforms provided to the diSPIM for hardware control:** Waveforms are generated by the DAQ and provided to the various diSPIM hardware components. See the MBL Biological Bulletin paper for more information. 
 + 
 +{{:software:lv_tutorial_fig1.png?300|}} 
 + 
 The ‘Y-Galvo Amplitude’, ‘Y-Galvo offset’, and ‘Camera Trigger delay’ are referred to again in Section D. The ‘Y-Galvo Amplitude’, ‘Y-Galvo offset’, and ‘Camera Trigger delay’ are referred to again in Section D.
 +
 **B. Stage-scan LV front panel details:**  **B. Stage-scan LV front panel details:** 
 +
 +{{:software:lv_tutorial_fig2.png?300|}}
 +
 1. **Control Mode Selection:** Select from different modes: 1. **Control Mode Selection:** Select from different modes:
 **DiSPIM Module:** Used to move the diSPIM module housing the two diSPIM objectives. User can define the distance (in mm) and LV provides a serial command to the TIGER Controller, moving the LS-50 motorized stage to the specified position.  **DiSPIM Module:** Used to move the diSPIM module housing the two diSPIM objectives. User can define the distance (in mm) and LV provides a serial command to the TIGER Controller, moving the LS-50 motorized stage to the specified position. 
Line 24: Line 26:
 **Dual Color Image Acquisition:** This mode is used for imaging both channels. In this mode, the two views are alternately acquired plane by plane, and at each plane, images for each color are alternately acquired.  **Dual Color Image Acquisition:** This mode is used for imaging both channels. In this mode, the two views are alternately acquired plane by plane, and at each plane, images for each color are alternately acquired. 
 **Parameter Adjustment:** This mode controls the MEMS mirrors and objective piezos. It is useful for parameter optimization or alignment. Camera, laser and stage control are not supported in this mode.  **Parameter Adjustment:** This mode controls the MEMS mirrors and objective piezos. It is useful for parameter optimization or alignment. Camera, laser and stage control are not supported in this mode. 
 +
 2. **Time Delay:** Extra, ‘pre-acquisition’ time delay is provided to the X-stage for acceleration. This way, when image acquisition starts, the stage is moving with a constant speed. A typical value is 10 um.  2. **Time Delay:** Extra, ‘pre-acquisition’ time delay is provided to the X-stage for acceleration. This way, when image acquisition starts, the stage is moving with a constant speed. A typical value is 10 um. 
--**Various Imaging Parameters:**  
-Time/Plane: For 500x500 pixels region of interest (ROI), the minimum is 5 ms.  
-Step size: in um 
-# of Planes: i.e. the number of planes per volume 
-Lightsheet width: In um, and depends on the camera ROI.  
-Speed: Defines the speed of motorized stage and is dependent on the timing and step size. We typically use 0.1 mm/s for single color, 1 um z’ step size (equivalent to 0.7 um z step size).  
-Number of time points: The number of volumetric time points in the image acquisition.  
-Delay b/w time points: In seconds 
-Start Position: The X-coordinate of the sample being imaged. Once the sample is positioned using the bottom camera, the X-coordinate of the stage can be determined.  
-Laser Intensity (488 nm): arbitrary units 
-Laser Intensity (561 nm): arbitrary units 
--**Camera ROI Settings:** Set ROI depending on sample size being imaged.  
--**File Path and File Name:** The LV Program saves the acquired images in HCIMAGE format (Hamamatsu proprietary format) and then converts the data into TIFF format. The file path for both formats needs to be provided. LV creates sub directories named SPIMA and SPIMB in the parent directory. TIFF conversion can be performed during acquisition or after, using the TIFF conversion sub VI. The file name needs to be changed for each run. For time series, the file name is appended with the time point number.  
--**Galvo and Piezo Offsets:**  
-**SPIMA & B Z-galvo:** Used to position the lightsheet so that it is well synchronized with the detection piezo. Voltage can be set between 0-4 V.  
-**SPIMA & B Y-galvo:** Defines the laser scan start position on the camera ROI (range 0-4 V). 
-**SPIMA & B Piezo:** Used to position the imaging objective and excitation beam at the appropriate position (range 0-10 V). 
  
 +3. **Various Imaging Parameters:** 
  
-======ImageJ Macro ========== +**Time/Plane:** For 500x500 pixels region of interest (ROI), the minimum is 5 ms.  
-Min Guo and Hari ShroffFebruary 2016+**Step size:** in um 
 +**# of Planes:** i.e. the number of planes per volume 
 +**Lightsheet width:** In um, and depends on the camera ROI.  
 +**Speed:** Defines the speed of motorized stage and is dependent on the timing and step size. We typically use 0.1 mm/s for single color1 um z’ step size (equivalent to 0.7 um z step size).  
 +**Number of time points:** The number of volumetric time points in the image acquisition.  
 +**Delay b/w time points:** In seconds 
 +**Start Position:** The X-coordinate of the sample being imaged. Once the sample is positioned using the bottom camera, the X-coordinate of the stage can be determined.  
 +**Laser Intensity (488 nm):** arbitrary units 
 +**Laser Intensity (561 nm):** arbitrary units
  
-Tutorial for using the image shifting macro, for diSPIM data acquired in stage-scanning mode+4. **Camera ROI Settings:** Set ROI depending on sample size being imaged. 
  
-The image shifting macro preprocesses diSPIM data acquired in stage-scanning mode before further analysis (e.g. deconvolution, segmentation etc.). The macro offers background subtraction, image shifting and automated region of interest detection in a graphical user interface for easy user interaction and review.  +5. **File Path and File Name:** The LV Program saves the acquired images in HCIMAGE format (Hamamatsu proprietary formatand then converts the data into TIFF format. The file path for both formats needs to be provided. LV creates sub directories named SPIMA and SPIMB in the parent directoryTIFF conversion can be performed during acquisition or afterusing the TIFF conversion sub VIThe file name needs to be changed for each runFor time series, the file name is appended with the time point number
-The macro enables users to process both single-view (iSPIM) images and dual-view (diSPIM) images.  Its main task is to transform the stage-scanning coordinate system into the more conventional coordinate system (stage stationary, light-sheet and detection plane swept through sample). In stage-scanning mode, the diSPIM moves the stage (and sample) at constant speed, but keeps the light sheet and detection objective stationary. The relative movement between the sample and detection lens leads to the following relationship between the two coordinate systems: +
-  +
-where   are the coordinates in conventional mode and  the corresponding coordinates in stage-scanning mode. To perform the inverse transformation, the macro shifts the acquired image stacks in the direction slice by slice, and sets the slice thickness to  of the slice step in stage-scanning mode (i.e. a 45 degree relation between light-sheet and stage is assumed). Since background subtracted images sometimes show better contrast after joint deconvolution, the macro also provides multiple ways to subtract image background based on either background images acquired during an experiment or background information manually or automatically derived from the raw images.  +
-To save storage as well as speed deconvolution after image-shifting, the macro allows the user to crop the shifted stack and save the cropped result, thus reducing the final image size as much as possible. The macro first tests one time point to determine the cropping volume. During processing of this test time point, the macro detects a region of interest in the XY maximum intensity projection, and semi-automatically selects the slice range automatically. Based on this slice range, a cropped volume is generated and used as a benchmark for cropping volumes corresponding to all time points. +
-The macro should work within Fiji that has ImageJ version 1.48c or later on a PC with the Windows 7 Professional operation system. We have also used it with good results within Fiji: Life-Line version, 2013 July 15, Windows 7 (64-bit).  +
- +
-**Running the ImShifting macro:** +
- +
-**1. Run ImShifting.ijm within Fiji +
-** Download Fiji at http://fiji.sc/Downloads#Fiji +
-Open the macro with in Fiji and run it. Two windows will pop upone dialog window for setting parameters and an additional log window (Fig. 1).  +
- +
-**2. Set parameters** +
-Users need to specify all the parameters shown in the dialog window (Fig. 2 left)the default parameters are for our diSPIM configuration, but users can make their own default settings by modifying the parameters in the macro code (Fig2 right). +
- +
-**Set View:** choose view(s) to process.  +
-The default set is “Dual View” for diSPIM system, but if “Single View” is selected, users don’t need to specify parameters for the second view. +
- +
-**Set Time Points:** set the time range of the image volumes and the test image for selecting Region of Interest (ROI). +
-If Test Time < Start Time or Test Time > End Time, the Start Time point is implicitly set as the Test Time point. +
- +
-**Set Slice Step Type:** two options are provided, and parameters depend on the particular diSPIM stage motion.  +
- +
-• If the “Pixels” radio button is selected, the shifting step for each slice is specified by the image pixels: +
-• Otherwise if the “Distance” radio button is selected, the shifting step of each slice is specified by both the stage step interval and the image pixel size:  ; +
- +
-**Set Shifting Direction:** the shifting direction depends on the particular diSPIM’s stage setup and will affect the rotation direction for subsequent dual-view registration. The default shifting direction is specified for our diSPIM configuration, and may need to be modified by the user. If the input shifting direction is wrong, the maximum projection of the shifted image stacks is obviously blurred and distorted (Fig. 3). Once the correct shifting direction has been determined, the result should work for any imaging experiment unless the users change the diSPIM stage’s direction of movement. +
- +
-**Set File Naming Convention:** Both “default” and “custom” naming convention options are provided for datasets. We use a default naming convention shown in Fig. 4, but users may specify their own file and folder name system. Please see step 3 for more detailed information. +
- +
-**Specify Images Name:** provide images name prefix.  +
-• If image data is saved in tiff stack format, the tiff stack name prefix should be set.  For example, if the stacks’ names are SPIMA_1.tiff, SPIMA_2.tiff, SPIMA_3.tiff…, then “SPIMA_” should be set as the name prefix; +
-• If image sequences are used as input, then image sequence folder name prefix should be set. For example, if sequence folder names are  SPIMA1, SPIMA2, SPIMA… , then “SPIMA” should be set as the name prefix; +
- +
-**Background Subtraction:** five options are provide for the background subtraction. Please see step 4 for more description. +
- +
-**3Specify folder directories** +
-After pressing the “OK” button of the dialog window, users need to set the directories for input and output:  +
-• If “Default” naming convention is selected, users need to specify the main input folder directory (Fig. 5).  For example, In the default naming system, if SPIMA and SPIMB are set as the input directories, then Shifted_SPIMA and Shifted_SPIMB are created automatically as output folders. (If Single View is selected, SPIMA should be used as the only input folder.) +
-• If “Custom” naming convention is selected, users need to specify all the input/output directories in the following order: A View input folder  A View output folder  B View input folder  B View output folder +
- +
-**4Background subtraction** +
-Five options are provided for background subtraction:  +
-**none subtraction:** no background subtraction will be usedi.e. users don’t need to take any action. +
-**background mean value:** the program pops up a dialog (Fig6), and users need to specify the estimated average values of the background (typically the camera offset):  +
-**background images:** the program will subtract the background, based on background images provided by users: +
-• Open a background image for A View, then press “OK” button (Fig7 left); +
-• Open a background image for B Viewthen press “OK” button (Fig 7 right); +
- +
-**manually select background area:** users are guided to select background areas of raw images, then subtraction is applied based on these selections. +
-• Open a raw image of A View and select an area as background (Fig. 8); +
-• Open a raw image of B View and select an area as background. +
- +
-**automatically background subtraction:** the background is detected and subtracted automatically, i.e no user input is required. The macro assumes most of the image pixels are background, especially for the edge slices. In processing the test time point, it chooses the first slice and last slice (before shifting) and obtains their histogramsThe histograms’ peak and its neighbors are regarded as background pixels whose weighted average is calculated as the background value. +
- +
-**5. Select Region of Interest (ROI)** +
-The program pops up four image windows, and the selections are based on the two projection images. +
- +
-• 2 ROIs  will be automatically generated +
-• The ROIs will be cropped and saved as outputs +
-• If users want to modify the selections, please keep them same size for both views (important for subsequent deconvolution) +
-• When modifying, use “ctrl+shift+E” to copy one selection to other view so that you can keep them the same size. (click window frame of the selection to copy from click window frame of the selection to copy to”ctrl+shift+E”move the selection to cover the ROI)+
  
 +6. **Galvo and Piezo Offsets:** 
 +**SPIMA & B Z-galvo:** Used to position the lightsheet so that it is well synchronized with the detection piezo. Voltage can be set between 0-4 V. 
 +**SPIMA & B Y-galvo:** Defines the laser scan start position on the camera ROI (range 0-4 V).
 +**SPIMA & B Piezo:** Used to position the imaging objective and excitation beam at the appropriate position (range 0-10 V).
  
-**6Select slice range** +**CStage-scan with Slit-scan LV front panel details:** 
-We don’t input the slice range directlybut determine the slice range by detecting the ROI of the XZ maximum projection. Users need to select the ROI as in step 4.+All controls in this mode are the same as described aboveexcept the three regions marked in green. 
 +  
 +{{:software:lv_tutorial_fig3.png?300|}}
  
-**7. Batch Processing** +1. **Light Sheet Width:** Set to zero in this mode
-After selecting the slice range, background subtraction and shifting are batched, as shown in the log window (Fig. 11).+
  
 +2. **Exposure Time (us):** A user defined parameter for slit scan. Please look at the Hamamatsu Flash 4.0 V2 camera manual for more details about lightsheet mode, ROI, readout direction and timing information. 
 +**Readout Time (us):** The readout time of a column of pixels for the Flash 4.0 Hamamatsu camera. This can be set in multiples of 10 us. 
 +Slit width is defined as the exposure time divided by the readout time.
  
 +3. **SPIMA and B Amplitude for Single and Dual Color:** This control is given to set the amplitude of each arm individually. This is a critical parameter for proper synchronization of rolling shutter with the laser scan (y-scan). **SPIMA and B Camera Delay:** This sets the camera trigger delay with respect to the Y-galvo scan. This is in % of total time per plane for two views. Typical values are ~2.4-3.2 ms delay assuming 8 ms/plane for each view. This is ~15-20 % delay of the total time/plane (16 ms) for two views. 
 +  
 +**D. Examples showing the effect of Y-offset, Y-Amplitude and Camera Trigger Delay in slit scan mode.** 
  
 +See also the waveform schematic in section A. Parameters are optimized using dye solution (here, fluorescein). The bright line in the center (see images below) is the edge of the coverslip, the right side of each image shows the dye above the coverslip, and the left side shows the region below the coverslip. At optimum parameter settings, the laser paints the pixels uniformly. Small deviations from the optimum parameter values can significantly affect the quality of imaging. Top row shows the effect of changing the Y-galvo offset. Changing the offset value (+/-) 0.07 V from the optimum, results in a rolling shutter readout that is completely out of sync with the laser scan, and fluorescence signal and uniformity is much reduced. Changing the amplitude (middle row) by .07 V also adversely affects the synchronization (middle row). Similarly, small changes in the camera trigger delay offset also adversely affect synchronization (bottom row). 
  
 +{{:software:lv_tutorial_fig4.png?300|}}