g-PRIME
Physiology Recording & Identification of Multiple Events

Gus K. Lott III, Ph.D.

Software Oscilloscope & Data Logging
Spike Detection & Analysis
Real time & Offline


[ Home | Download | Documentation | Future Goals | Source | About the Author ]
[ Applications of g-PRIME (screenshots & data) ]

Back to Index Stimulus Generation



Visualization & Acquisition of Data


The g-PRIME Scope Window. From here, acquisition and stimulation are controlled

1.1 Connecting to the Hardware

Supported devices are automatically detected at startup and listed in the device menu. Select an interface from the Device menu to connect.

Available channels on the selected device are listed in the "Available Channels" panel below the scope window. Give the channel a name or just click the "Add Channel" button to select a channel. If no channel name is specified, one is automatically generated. A color for the channel trace and control window may also be selected from the "Available Channels" interface panel before the channel is added to the scope.

1.2 Visualizing Data

In order to modify a channel’s display properties, select it in the “Active Channels” interface panel. Once selected, the channel’s controls appear to the right of the “Active Channels” panel and the vertical scale axis associated with the channel is visible in the scope window. The channel may be moved vertically by clicking on the channel name text in the scope window and dragging up and down or by modifying the number in the "Offset(%)" input box in the channel controls (-100% for bottom of scope 100% for top of scope and 0 for middle).

Display “volts per division” may be modified in fixed increments from the pop-up menu in the channel controls panel. An external gain value may also be entered to the channel control window. If an external gain greater than 1 is set, the trace will be scaled down in amplitude to match values associated with the unamplified signal. Note that this is for visualization only and will not be saved to streamed data files when recorded. This is designed to help students understand that the signals they are seeing may be much smaller than the amplified versions they are recording.

The DC Value (average value) of a sweep may be visually rejected by selecting the “Subtract DC (Visually)” check box in the channel control panel. The trace may also be removed from display by unselecting the “Display Channel” checkbox in the channel control panel. Neither the “Subtract DC” functionality nor the “Display Channel” functionality have any effect on recorded data or on voltage level based triggering. These features are for visualization only. This is designed for signals that may have DC offsets (such as membrane potentials) that you may not care about in a given instance (i.e. if you are interested in synaptic potentials riding on a large membrane potential). Realize that resolution is limited by the dynamic range of your data acquisition device.

The Time panel contains controls that modify all channels of the interface. Here, one may set the system sample rate per channel, sweep width in the scope window, and time offset for channel based and manual trigger mode. Sweep widths faster than 200ms will refresh at 200ms divisions of their full period creating a quasi-continuous display of real time data in the scope window. Center point for channel based level triggering (i.e. how much data is buffered and displayed before a trigger event) may be set by entering a value in the time offset box as a % of the screen width or the T above the scope display may be dragged left or right to set the time center.

1.3 Sweep Triggering

Continuous triggering will provide a continually updating display of the data on the selected input channels.

Manual trigger allows one sweep to be acquired when the user clicks on the trigger button in the trigger window. When the trigger button is pressed, the program will acquire one screen width (i.e. the amount of time listed in the "full span" time drop down menu) of data and then wait for another trigger event.

Channel based triggering updates the display only as a set threshold level is crossed by the input signal. The voltage level and source channel may be selected in the trigger panel. The trigger level will appear as a horizontal line in the scope display that may be manually dragged up and down. The time center for the signal in this display mode may be set by dragging the “T” above the scope left and right. The trigger event will be centered on this time=0 point and will have data preceding it in the visual display.

External (HWDigital) mode is only supported by data acquisition boards with hardware based trigger lines. A rising edge transition of a TTL voltage on the appropriate hardware pin will activate a sweep.

1.4 Recording Data

Select a recording file by clicking the “File Name…” button in the Recording panel. The current recording file is listed in the Record interface panel in the upper right of the interface. The default file name is “temp.daq” and will be overwritten whenever the “Record Start” button is activated. If the file name is set to anything other than temp.daq, a new file will be created with an indexed suffix each time “Record Start” (red button) is pressed. You cannot overwrite saved data, if you wish to remove a file, you will have to manually delete it (this is by design).

Data may be acquired until the “Record Stop” button (same as the “Record Start” button) is pressed or for a fixed interval. Select the desired recording method from the interface. For a fixed interval recording, enter the recording time in the interface box after selecting the “Fixed Duration” recording option.

Initiate recording by clicking the “Record Start” button in the record panel. The “Record Start” button will turn green and the total recording duration in seconds will be displayed on the button. Recording will not begin until the selected trigger condition is met. Data is streamed to disk and to the scope window. If fixed trigger duration is selected, a manual/channel trigger will record for that fixed duration and then wait for another trigger and record again. You must manually stop recording in a channel or manual trigger mode in either fixed or unlimited duration recording.

1.5 Example Recording Sessions

Note: In all cases, setting the time span of the scope window has no bearing on the data acquired. It will only change the way in which the data is displayed during the active recording interval. It may not be changed once recording begins..

Example: Continuous Recording for 10 seconds

  1. Select Continuous Trigger Mode
  2. Select “Fixed Duration” in the Recording Panel
  3. Enter 10 into the duration box above the “Record Start” red button
  4. Click the Record Button.
  5. Data will stream for 10 seconds and then the system will exit record mode
Example: 5 Manual Triggers for 1 second (total of 5 seconds of data)
  1. Select Manual Trigger Mode
  2. Select Fixed Duration in the Recording Panel
  3. Enter 1 into the duration box above the “Record Start” red button
  4. Click the Record Button
  5. Click the Manual Trigger Button
  6. Data will stream to target file for 1 second
  7. Repeat from step 5 five more times
The g-PRIME interface actively recording from 2 channels. Data is continuously streamed for 20 seconds to a file specified in the recording window. Interface elements are deactivated during recording so they cannot be actively changed. Visualization tools are still available during recording as these have no direct effect on the raw saved data.

1.6 Advanced Interface Control

Channel Input Gain Controls Many data acquisition systems have internal amplifiers that allow for pre-digitization amplification of signals. If the acquisition hardware has available gain input ranges, they will be listed in an associated menu in the “Advanced” drop down menu. The indicated range is the voltage difference over which the bits of the analog input channel will be quantized. Modifying this value will change the voltage detection range of the system and may allow for the resolution of smaller signals.

Quantization level = (Voltage Range)/2^(bit depth of interface)

1.7 Spectrogram and FFT Visualization

The Fast Fourier Transform (FFT) of a signal is an expression of the amplitude of the components of a sinusoidal series representation of a signal. It is a useful means to express signals found in nature because most physical processes have some form of oscillating process as their basis. Frequency content of signals can be used as an effective means of differentiating overall signal shape.

There are 2 visualization options for frequency elements in the scope display. An FFT is calculated and then interpolated into 100 bins. The resulting frequency bins may be visualized in a per-sweep FFT or in a running 100 sweep width frequency spectrogram. In both cases, the amplitude of the sweep FFT slowly scales to match the max value of the frequency components over time. Visualization may be activated from the “View” menu in the main scope window.

Clicking on the FFT Visualization window region will convert the scope display from a linear to a logarithmic distribution of frequencies between a low frequency and the Nyquist frequency (half the sample rate).

 
Single Sweep Fourier Transform and 100 sweep spectrogram. Clicking the spectrum window converts between linear and logarithmic frequency space. Mean value is subtracted for calculation. Maximum frequency value is the Nyquist rate (Fs/2).

1.8 Full Screen Scope Mode

Once the interface has been configured, the user may wish to simply focus on the signals that they are acquiring. Under the "View" menu, selecting the option "Full Screen Scope Mode" will extract the scope trace window into its own figure that can be maximized or otherwise resized to fill your screen. All scope features work identically in this mode. In order to return to docked scope mode, simply close the extracted scope window.

1.9 File Tools, Report Generation, & Trace Measurement

File Conversion
Files may be converted from the native Matlab data acquisition toolbox format (*.daq) to a variety of other file types using options in the “File Tools” drop down menu.

  • The files may be converted into Matlab (*.mat) files if you have Matlab but do not have the data acquisition toolbox functions to read the .daq files.
  • The files may be converted into raw text files with columns consisting of time, followed by data channels for loading into an arbitrary program as a comma delimited file.
  • The files may also be converted into a wave audio file (up to 2 channels) for audio playback or filtering/analysis in an audio manipulation program or for multimedia presentation elements.
Basic Report Generation Tools
Acquired *.daq files may be reloaded through the “File Tools” menu into a figure window for review or figure generation. The figure may be modified (i.e. zoom/scaled & colored) and saved in a variety of graphics formats including JPEG and TIFF.

Scope capture
The current scope window contents may also be captured to a figure for report generation.

As with all windows in g-PRIME, a small maroon button appears in the corner of a window containing data. Left clicking this button will launch the data window’s contents into a separate figure for report generation. If the user right clicks this button, a list of active figures will be displayed. The user may send the data trace to the same figure as a previous trace for comparison.

Once Extracted, a rainbow button appears in the upper left of the figure. This activates the figure property editor which allows the user to modify the figure they have extracted.

In all cases, a data cursor may be used in the external window to label the values of elements of a graph and the trace may be zoomed/framed for graphic generation.

Trace Measurement Functions The trace measurement option in the “View” drop down menu activates a rudimentary point to point draw utility with amplitude reported at the bottom of the main scope trace. Any offloaded graph may be labeled with the data cursor (option at the top of the offloaded figure).

Measurement tools available to the user for active traces in the scope window.



The Property Editor available to all extracted figures. The user may change a variety of settings for the entire axis or for individual traces through this interface in order to create a refined report quality graphic.


Back to Index Stimulus Generation


(c) Gus Lott 2007