EPHUS Testing
These comments are intended to assist the user in testing Ephus software following installation of the software or following changes to the configuration of hardware. This may occur shortly following initial installation of the software. However, some familiarity with Ephus is expected in order to test the software. For example, if the configuration is not properly established by the user prior to testing, errors will occur that reflect the improper configuration and not a failure of the test. This can occur with even veteran users of the software. Thus, please follow advice on establishing a configuration prior to testing, including the proper selection of channels for input and output, and the selection of pulse sets and pulses for every channel.
***
One protocol to test Ephus:
A. Launch program and select configuration.
B. Test XSG:
Select path to save data in a known location. After testing, verify data stored during testing.
C. Test Header GUI:
Input data into Header GUI; verify that data is stored. (For example, drugs: "200 uM MNI-glutamate" or experimenter, "mh"). Header GUI fields should be stored in an M-file in the folder created by the XSG.
D. Test Autonotes:
Input data into autonotes (version of ephus tested, NI board configuration, etc.). Verify entry of text is stored in text file. Autonotes is useful in this context to note the hardware and software configuration being tested.
E. Test scopeGUI:
Test "Break-In" Button. Text should appear in autonotes upon button press.
Test oscilloscope by pressing start; verify using model cell that oscilloscope works in all modes (V-clamp, I-clamp, and I=0) for both preset amplitudes. Note: Amplifier should be on and MultiClamp and MultiClamp telegraph commander (telegraph removed in later versions) should be running and connected.
F. Test ephys GUI:
Select a valid pulse set and pulse. Run pulse using start button and verify proper execution of pulse. If xsg is set to autosave, filename should appear in command window. Verify trace contains data. Use of the model cell in conjunction with a known set of pulses will be helpful in assessing if the proper pulse is being executed (e.g. a square-wave voltage pulse).
G. Benchmarking Data:
Having tested the Ephys GUI, this will now test the ability of Ephus to run the ephys GUI, the stimulator GUI, the acquirer GUI, the PulseJacker GUI, and the Loop GUI. Select appropriate pulses for all channels in the PulseJacker GUI for a set of five pulses. Pulses do not need to be longer than 0.4 seconds. Selecting pulses for all channels may include: Two amplifier channels, Shutter0, Shutter1, XMirror, YMirror, Pockels Cell, Stimulator. Benchmarking data, however, was acquired with five iterations with Stimulator (Shutter0, Shutter1, XMirror, YMirror, Pockels Cell, Stimulator - 6 channels), Acquirer (one channel), and Ephys Channels (one amplifier channel). Set the pulse length for all GUIs (stimulator, acquirer, and ephys) to a common time (0.4, 1, 5, or 30 seconds for this test). Set the PulseJacker to the first position. Select "External" trigger for all GUIs (stimulator, acquirer, and ephys), and then enable the PulseJacker. Set the Loop GUI to CPU mode, selecting 5 iterations (3 for the 30 sec testing), and select and interval somewhat in excess of the time interval of the current pulse (e.g. 2 seconds for 0.4 second pulse; 34 seconds for 30 second pulse).
Initiate the test by selecting loop and verify the following:
-Acquired traces appear in the ephys and acquirer window in the expected order. (Similarly, the shutter should be heard to operate if it is being cycled during the pulse pattern.)
-The Loop GUI and PulseJacker increment after each sweep.
-With autosave on in the XSG, the stored data appears in the next line in the command windows.
-No errors or warnings appear in the command window. (However, troubleshoot those that do; for example, if the laser is off and the 'no significant light pulse detected' warning occurs, this is not a reason to consider the test a failure.)
If all pulses occur normally, shorten the interval until reaching a point where failure begin to occur (not all pulses executed, PulseJacker fails to advance, pulses executed in wrong order, etc.). In practice, while doing experiments, it would be good for the user to provide some additional time during CPU loops (e.g. 3 second interval for a 1 second pulse); benchmarking data is evaluated at the shortest time where failures did not occur.
Kephus software on R2007a MATLAB with old NI boards, Superlogics computer:
For 0.4 sec sweep, fails below 1.0 sec interval.
For 1 sec sweep, fails below 1.6 sec interval.
For 5 sec sweep, fails below 5.7 sec interval.
For 30 sec sweep, fails below 32 sec interval. (NOTE: only three iterations delivered for 30 sec testing.)
Kephus software on R2007b MATLAB with old NI boards, Superlogics computer:
For 0.4 sec sweep, fails below 1.0 sec interval.
For 1 sec sweep, fails below 1.6 sec interval.
For 5 sec sweep, fails below 5.7 sec interval.
For 30 sec sweep, fails below 32 sec interval. (NOTE: only three iterations delivered for 30 sec testing.)
H. Test QCam:
Lauch preview and verify live image.
Vary exposure and update rate. (Exposure of 80 and refresh rate of 5 may work well.)
I. Test Mapper and Imaging System:
Grab Video from QCam.
Verify ImagingSys GUI settings center the beam while stationary. Adjust offset to center. Verify square pattern demarks perimeter of video image. Verify five points pattern marks center and four corners.
Set the Loop GUI to DAQ Board timing mode for board timing, and make the interval of Loop GUI, ephys, stimulator, and acquirer match the mapper. (The mapper will reset the timing for you if you neglect to do so, but a warning will be issued.)
Test mouse pattern: left click in three of the four corners of the image, and right click in the last. While testing pulses, use live image from QCam to verify beam is being steered properly. The user should see the beam steered to the locations indicated by the mouse pattern. It is normal for the mirrors to go to the "zero voltage" position prior to going to the first mouse position, and following the last mouse position. Mouse pattern data will be stored in the flashes folder.
Test map pattern: select an arbitrary soma position. Select to center the map on the arbitrary position. Perform the test with both large and small map sizes. Verify that the beam is directed to the location of the map as expected. Verify map is stored in the folder created by XSG.