Git Product home page Git Product logo

warrenlablasersoftware's Introduction

WarrenLabLaserSoftware

Repository containing all Warren Lab MATLAB laser code written by David Weber. See Applications of numerical linear algebra to protein structural analysis: the case of methionine-aromatic motifs for more information.

Table of contents

Disclaimer

  • I am not a MATLAB expert. Actually I learned MATLAB on the fly simply to fulfill the requirements of this project. I acknowledge that this code is far from ideal and I would have done many things differently now that I am more experienced.
  • Some of this code was automatically generated using the MATLAB GUI editor.
  • This code can likely very easily (and should) be broken up into individual *.m files.

Layout

Description

Label Description
A Here the user chooses between fluorescence and TA mode.
B The user selects a timebase (i.e. time interval to sample starting from oscilloscope trigger).
C The number of blank and experimental laser flashes (see Example for Laser Options parameters).
D The number of groups of laser flashes (see Example for Laser Options parameters).
E The pause time between groups of shots (see Example for Laser Options parameters).
F The user selects the DK240 monochromator wavelength (sent as an SCPI command TO the DK240).
G The DK240 returns the ACTUAL wavelength back to the user.
H The user selects the slit width at the entrance of the DK240.
I The user selects the slit width at the exit of the DK240.
J The user selects the Hamamatsu PMT voltage.
K QC9514 Digital Delay Generator options. Note that these fields are filled automatically upon toggling A.
L This checkbox fires up the laser. The laser will not fire until all parameters have been selected.
M Convenience feature for programmatically controlling individual shutters.
N Convenience feature for programmatically controlling all shutters.
O Pressing the START button will begin an experiment.
P Pressing the ABORT button will immediately stop an experiment. Use in case of a major safety issue arising during an experiment or perhaps to abort an experiment if parameters were incorrectly chosen.
Q Exports signal averaged data as .csv to a directory of choosing.
R The results pane displaying the oscilloscope output.

Example for Laser Options parameters

Note that in the Layout example, the "user" has indicated they wish to collect 3 groups of 25 shots and have inputted a delay time of 2 seconds. What does this mean? An oscilloscope reading the output of the PMT will first collect 25 reads with a shutter blocking the Nd:YAG laser from striking the sample cuvette. This is the blank read. The shutter will then open and the Nd:YAG laser will reach (and excite) the sample 25 times. The sample will emit light which will be picked up by the PMT/oscilloscope. The blank data will then be subtracted from the experimental data to yield corrected data. Corrected data will then be signal averaged. Recall that the user specified 3 groups of shots. The aforementioned sequence of events will now be repeated three times, with a delay of 2 seconds between each group. The figure below very nicely depicts this sequence of events:

Description of all files and directories

File / Directory Description
LaserTableProgram3_10_0.fig Last grad school GUI update. This is a binary file generated by MATLAB
LaserTableProgram3_10_0.m Last grad school "main" script update
LaserTableProgram.fig The GUI code. This is a binary file generated by MATLAB
LaserTableProgram.m The "main" script
css.m Isolated .m CompuScope data acquisition script
l_ts.m Isolated .m long timescale data acquisition script
docs Contains all hardware data/spec sheets, a TODO list, and some content from SFU vault
pngs Throwaway icons, screenshots and plots for documentation
general_instructions.txt Basic instructions imported into program upon user request
additional_features.m Info for other features that can be requested by user
groups_shots_pause.m Schematic representation of groups vs. shots vs. pause UI input

warrenlablasersoftware's People

Contributors

dsw7 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.