Skip to content

A PowerShell script that logs the real-time power of a laser line on a CELESTA Light Engine® (and a data visualization/analysis script that estimates the exposure time)

License

Notifications You must be signed in to change notification settings

CreLox/CELESTAPowerLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instructions

  1. Follow the CELESTA and CELESTA quattro Light Engine® Instruction Manual (3.3.3 Ethernet Connection and Control GUI) to set up LAN communication with the onboard computer of the Light Engine. Check if the power regulator is configured to compensate for power reading crosstalk (see the Light Engine Command Reference).

  2. Run LogLaserPower.ps1 on Windows PowerShell. You might need to change the URL in the script based on the IP shown on your Light Engine or change the execution policies of PowerShell to run the script. The script crawls answer strings from the Light Engine through its REST interface. It requires one parameter input to specify the laser line to be logged. For example, to log the 4th laser line (note that the numbering starts from 0th):

    LogLaserPower.ps1 4

    GET CHPWR returns the raw sensor output (used in manufacturing) whereas GET CHPWRWATTS (here in LogLaserPower.ps1) gives the measured output after applying calibrations. Channel mapping for the CELESTA Light Engine in the Joglekar Lab: 0-Violet (405 nm), 1-Blue (446 nm), 2-Cyan (477 nm), 3-Teal (520 nm), 4-Green (546 nm), 5-Red (638 nm), and 6-NIR (749 nm).

  3. Keep the PowerShell session on for the entire logged session. The log will be on the current user's desktop. It is suggested to add the exposure time and the percentage intensity information (of the channel that used this laser line) manually to the filename of the log.

  4. Each line in the log contains the following formatted information.

    hour(24-h clock):min:second(1-ms accuracy),power(in milliwatts)

    During most of the time, the laser is off and the instantaneous power readout is simply 0.0 mW. All measurements below $Threshold mW are ignored and not logged. The idle time between consecutive queries is set as $Interval ms (which does not include the latency due to communication and internal processing).

  5. Run the MATLAB function reconstitutePulse using the log file to visually examine

    • the inverse empirical cumulative distribution of instantaneous powers (assuming that all pulses from the session are equivalent);
    • a scatter plot of instantaneous power readout vs time (note that the shape of the pulse is inevitably smoothed because the power readout can never actually be instantaneous).
  6. Parameters in LogLaserPower.ps1 and reconstitutePulse.m are closely related. If you change a parameter in a script, you may need to consider changing the related parameter in the other script.

Protocol for calibration using a standard strain

For light sources that do not have a built-in system for real-time measurement of the power output, a standard strain can be used to monitor and calibrate day-to-day variations. The Joglekar Lab uses a standard yeast strain AJY939 (MATa, NDC80-GFP:KAN, SPC25-mCherry:KAN) stored in Box #15, slot F3. Because the composition of each kinetochore and the number of chromosomes during mitosis are well-defined in Saccharomyces cerevisiae, the fluorescence intensity of its kinetochore clusters serves as a perfect standard for calibration (see Figure S5 of Aravamudhan et al., 2014).

Streak the standard yeast strain (4 days ahead of the imaging day in the afternoon if you start from the glycerol stock stored at -80 °C, or 2 days ahead of the imaging day during the day if you start from colonies on an old plate) on a yeast extract-peptone-dextrose (YPD) agar plate (the streak is considered fresh for at least a month or until the agar dries out, when stored at 4 °C). One day ahead of imaging, innoculate fresh colonies into 2 mL of YPD media in the afternoon and shake the culture at 30 °C overnight (the overnight culture is considered fresh for 2 days sitting at room temperature on the bench). On the day of imaging, innoculate 4 mL of fresh YPD media in a 125-mL flask (for better ventilation) with the overnight culture (1:10 dilution). Shake the culture at 30 °C for 4 h. Take 1 mL of the log-phase culture and centrifuge at 6,000 g for 1 min. Remove the supernatant. Resuspend the yeast pellet with 1 mL of synthetic defined (SD) media [made by adding 2% of dextrose to synthetic media (SM)]. Centrifuge at 6,000 g for 1 min again. Remove the supernatant and resuspend the pellet with 20 μL of SD media. Apply 6 uL of the yeast suspension onto a #1.5 coverslip and then press a microscope slide onto the coverslip. Proceed to image anaphase cells (both the smaller progeny bud and the mother cell possess a kinetochore cluster within) under a fixed setup before media dry out. Quantify the kinetochore localization of Ndc80p-GFP and Spc25p-mCherry. Compare the mean values (and use them for normalization) between different dates.

Acknowledgements

I would like to give my special thanks to the technical support team (especially Iain Johnson and Glennon Fagan) from Lumencor, Inc. for their explanations of terminology. I would like to thank Dr. Ajit Joglekar and Dr. Babhrubahan Roy (University of Michigan Medical School) for their comments on the Protocol for calibration using a standard strain section.

About

A PowerShell script that logs the real-time power of a laser line on a CELESTA Light Engine® (and a data visualization/analysis script that estimates the exposure time)

Topics

Resources

License

Stars

Watchers

Forks