This program works as a stimulator and oscilloscope. The
oscilloscope
functions are configured in 3 dialog box windows. The oscillo
panel and the oscillo monitor windows determine the
oscilloscope properties. Since the functions in the oscillo monitor
are similar to those in the A/D browsing dialog box, refer to
that section for operation. The stimulator panel determines stimulator
parameters and conditions. This program supports Instrutech ITC-16
and ITC-18, and National Instrument PCI-1200 card.
This panel sets some of the oscilloscope properties. The rest
are set in the oscillo monitor dialog box (functions are described
in the A/D browsing dialog section). In the OS-X version
(right panel), way of selecting experiment parameter sets is different.
A dialog box to select File Name is displayed. auto name button selects automatic naming of a new file. First digit of the automatic name indicates year (last number of the year), second digit stands for the month (1..9 and o, n, d), third for day of month (1..9, a..). The fourth digit distinguishes segments (1..9, a..z). When "auto name" button is clicked, the selected folder is checked and the earliest segments number is used for the new file name ("6511.dta" for the first file of May 1st, 1996 "6513.dta" in case "6111.dta" and "6512.dta" have already exist). Longer file names can be used instead of this automatic names. File name extension ".dta" is added automatically, which can be deleted.
Indicates data id of the recently saved data.
In the OS-9 version, experiment parameter set is selected / updated by the "exp.set" menu.
In the OS-X version, right half of this window is used for it. Experiment parameters are stored in groups. These groups and parameter sets can be drag'n dropped to move. They can even be dropped onto Finder to create each parameter set / parameter group file, which can then drag'n dropped on to this "exp set" box afterwards. To rename double-click the names.
Number of A/D channels to be used. At present, the order of A/D channels is fixed (starting from channel 0).
A/D sampling frequency. For Instrutech ITC-16, the actual frequency for each channel is this value multiplied by channel number.
By setting virtual gain / offset / unit with this button, A/D values can be displayed in virtual units, instead of actual voltages at the A/D converter input.
Sets duration.
When one of the check boxes external or auto is checked, the oscilloscope is trigger mode. It is triggered by a signal into the A/D converter in "external" mode. In "auto" mode starts recording whenever possible (i.e., when oscilloscope is not reading or saving data).
This button starts a record.
In trigger mode (external or auto), free mode continues trigger waiting, and train mode stops trigger waiting after recording train-N times (train-N times is set in the edit text box). Interval is set in the "interval" text box. Formula can be used in this Interval text box, e.g., "10 + 10 * rand()" results in random interval between 10 and 20 seconds.
Saves current data by appending to the end of the current file. Data id is incremented.
Inserts time mark in sweep. Since this time mark information is recorded in the comment field as readable format, to whch user can modify, delete or add notes freely in the comment field. When the following rules are kept, part of comment is taken as a time mark.
When this box is checked, data is saved automatically after recording by appending to the end of the current file. Data id is incremented automatically.
When it is checked and if a recording time run over the oscillopanel time display range, oscilloscope x axis is scrolled.
Auto scroll mode enables real-time data scrolling on the oscillo window. This feature is useful for long recording (e.g. 100 sec). The scroll width edit text box determines the duration of the oscilloscope time axis. When starting a recording, display time window of oscilloscope is set to 0-scroll width.
When it is on, event detection is achieved on-line.
It displays a dialog setting event detection parameters.
This is an intelligent programmable stimulator. The lower half of this window shows the current wave forms, of which usage is much like the functons of "A/D Browser Dialog".
Note: Stimulator output always accompanies with the A/D reading which is displayed in the "Oscillo" window. And the duration of the stimulation is always matched with that of reading. That is to say, the duration of stimulation is determined by the duration set in the "Oscillo Panel" window.
When checked, output is delivered from the D/A and digital (D/D) ports simultaneously with A/D acquisition.
Equivalent to the "Record" button in the Oscillo panel.
Value of the counter variable for checking waveform in the graphic presentation. It does not affect actual waveform; actual "c" value always starts with 0 and incremented (see below).
When the stimulation parameters are modified in the formula text boxes, the internal output data buffer is not updated until this button is clicked. Press this button once after modifying stimulation parameters. When this button is needed to press, this button is colored by red. In cases when automatic output data buffer update is done (e.g., changes in the user constants, etc.), pressing this button is not necessary (this button remains dimmed).
User constants x, y and z can be used for stimulation pattern description. Array of numbers can be put into each text edit box separated by space (e.g., "1.5 2 2.5 30"). In this case (array), elements of the arrays can be used in the stimulation pattern description like "x(1)", "y(c + 1)", "y". Single character ("x", "y", "z") means the first element of each array.
Either a line of stimulating pattern or an external file name can be assigned to each output port. If an external file name enclosed by double quatation marks set, the external file is used as a pattern file. This feature is different from the "wave form output" described below.
A tab-delimitated text file is read in which intervals of pulse are listed (unit: [msec]).
A line of stimulating pattern consists of an array of loops separated by ','.
Voltage can be described by a C-language fashion. Spaces are neglected. The first '0' can be omitted in case of figures less than 1.0 ("0.25" is equivalent to ".25").
>, >=, <, <=, == return results as values 1 (true) or 0 (false).
"x ? y : z" results in value y when x is true (non zero) and value z when x is false (zero).
pi: the ratio of the circumference of a circle to its diameter
Syntax: {wavename, v_gain, v_ofs, t_start, t_gain}
There are two ways to specify "wavename".
In this case, "wavename" is composed of "data_id:chan".
A/D data to be used for output should have been opened by tiwb. It is
not necessary to open the target A/D sweep, just the file should be
opened, and you can leave the segment of the A/D segments (if more than
one segments in a file) at any segment.
"wavename" is "igor:igorwavename". "igor:" is a constant expression.
"v_gain" and "v_ofs" are used to transform A/D value to output voltage value. The original A/D value (e.g., 2.3 mV or 103.5 pA, etc.) is transformed to output voltage by [output voltage] = v_gain * ([A/D value] + v_ofs). The unit of original A/D valud ([mV], [pA], etc.) are ignored, and just the value is used for calculation.
"t_start" and "t_gain" are used to transform along time axis. Unit of t_start is [sec]. [time] = t_start + [original time] * t_gain.
Parameters other than "wavename" can be described by expression like voltage function. They can be omitted (default values are 1.0 (v_gain), 0 (v_ofs), 0 (t_start) and 1.0 (t_gain).
examples:
- {1d13020001, 0.1}
If you have opened an A/D data of which id is "1D13020001", output pattern is just the copy of this wave form by multiplying factor 0.1.
- {1d13020001:2, 0.1}
Uses channel 2 of "1D13020001" multiplied by 0.1
There are several variables and constants that can be used in the function description. Either upper and lower cases can be used.
User defined constants which can be set in the user constant text box. These can be arrays of numbers (see above "User constants").
Time variables which stand for sec and msec, respectively.
A local loop counter, which starts from zero and is increased by value one when nearest loop ([ ]) turns.
A stimulator counter variable. It is set zero when stimulator is started by clicking the "record" button in the oscillo panel or when the external or auto trigger box in the oscillo panel is checked (starts stimulator running in trigger mode). Variable c is increased by one value every time the trigger comes in (auto or external).
When the stimulater is driven by the "CCD online" camera module by activating the "link oscillo" check box in the "CCD online" window and the sequence acquisition of images is performed in loop by "free run" or "train" mode, this "c" variable of the stimulater is incremented by 1 when the loop of image acquisition advances.
The stimulator features can be more easily understood by practice. The interpreted stimulation waveform is displayed in the graph window. If there is an error in the syntax, an error signal appears next to the stimulation parameter input box after "setup" button is clicked.
In case of digital out ports (TTL ports), voltage values have no meaning. Digital port is set to off or on according to voltage value (zero = off).
A typical pulse generation. 0 V for 10 msec, 1 V for 20 msec, then 0 V until end.
Uses channel 2 of "1D13020001" multiplied by 0.1 for 100 msec, then 1V for 20 msec, then 0V to the end.
External pattern file for pulse generation.
Virtually any paradigm can be described by this stimulator. For example, an I-V curve can be obtained by step changes in voltage command in a voltage-clamp experiment. Set function as "0,20m c <4 ? -1 : (c-3) * .5,50m 0" train N as 5 or more, and check auto trigger. This will produce step changes of voltage command with the first three sweeps of "leak" current measurement (-1 V step). Use the peak detect function to get peak current amplitudes.
The lower half of the stimulator window is the display of the stimulation diagram. It is updated by clicking the setup button.
Data files can be opened using the "Open" in File menu (shortcut: cmd + O), by double clicking the data file icons, or by drag-and-drop the data file icons over the icon of TIWB. Available data formats are listed below.
readable file formats
Windows can be closed by clicking the close box at the left top corner of the window or by selecting "Close" in File menu (shortcut: cmd + W) when the window is active.
A/D data can be exported to Igor Pro by selecting "Export to Igor" in File menu (shortcut: cmd + E).
Selects A/D channel to be sent.
Wave name used in Igor can be changed.
Sets the range of A/D data sent. If displayed time range is selected, not all data is sent to Igor.
If it is not 1.0, A/D values are multiplied with this bias value; it is convenient in such a case that hardware gain was set to incorrect value at recording.
Time unit for graph in Igor is selected.
If it is on, a graph is made in Igor using the sent wave.
If it is on, scale bar for time and gain is displayed in Igor graph. Scale size can be set.
If it is on, graph in Igor is accompanied with x and y rulers.
If it is on, sweep color is set to black, otherwise it is the same color as the plot color in the sweep screen.
Raises this plot onto a Layout in Igor.
If it is on, sent plots are added to an existing
Layout in Igor. If there is no Layout in Igor, a new Layout is produced.
If Igor Pro holds valid
waves, this program import one of them as A/D data.
The size of the dialog box window can be changed by dragging the zoom box (see figure).
The drawer part (figure) is available only in OS-X versions, which is shown/hidden by clicking the "Toolbar control button" (figure). Multiple wave display and average of data plots can be performed just drag'n drop data IDs in this drawer window onto other items. Once drop a plain item onto another plain one, they become "multiple waves". By dropping data IDs onto a data ID in multiple waves, averaged wave can be made. Double clicking averaged wave toggles it between "averaged" and "multiple". Checkboxes in this drawer part are equivalent to those in the "A/D Option" menu in the menu bar.
A data file consists of an array of data packets. A data packet corresponds to a single oscilloscope sweep. One data packet is displayed at a time. The displayed data packet can be changed throughout a file using the horizontal scroll bar at the right top position of this dialog box.
The gain and offset (display range) of the A/D data (voltage or current) can be changed in several ways. The channel to be modified can be selected using the pop-up menus (indicated chan 1, chan -, etc.) located at both sides of the dialog box. Gain and offset can be modified using the gain and offset scroll bars. They can also be modified by positioning the cursor on the gray lines at both sides of the graph. By dragging the mouse vertically the gain is modified dynamically. By dragging the mouse with the shift key pressed the offset is dynamically modified. If the mouse is dragged horizontally into the graph window, the time display range is changed. By pressing optm button, the data is displayed optimally (graph min/max is set to data min/max). find button finds appropriate offset when sweep is out of range without changing display gain. If fixGain check box is not checked, min/max of graph is directly set through the edit text boxes.
The time sweep display range can be set in several ways. It can be shifted using the hirizontal scroll bar located at the bottom of the graph. It is also changed by clicking the display min or max button (a dialog box is displayed). More intuitive ways are 1) to drag the cursor from the gray lines at both sides of the graph and 2) to to drag inside the graph. The time range can be reset to the full range by clicking the full button.
Comments for each sweep can be added / modified in the comment box. The limit of the comment length is 127 characters. Comments are saved back to the file when the "save back params" option in the option menu is checked.
Sweep of the current display can be added to the "multiple sweep" window by clicking this button, unless the current sweep frequency and sampling time differ from the previously added sweeps. The number of sweeps set in the text edit box is added to the multiple sweep window starting from the current sweep.
Sweeps can be averaged in the "mean sweep" window by clicking this button, unless the current sweep frequency and sampling time differ from the previously averaged sweeps. The number of sweeps set in the text edit box is averaged to the mean sweep window starting from the current sweep.
This button is equivalent to the following sequence of operation: click mean button in this dialog, click multiple button in the mean window, and click close box of the mean window.
By clicking this button, the current data is added to the print buffer. Print format is set in the "ad print info" dialog. The number of sweeps set in the text edit box is sent to the print buffer starting from the current sweep.
Enables / disables peak measuring function.
Turns grid on/off.
This program performs quantitative analysis of waveform characteristics.
The peak window is displayed when "peak" box in A/D browse dialog is checked. Four parameter sets can be used for a sweep of data, named "peak parameters". Peak parameters can be used independently. Each peak parameter consists of channel, ignore or not, method, auto or manual, and detection time ranges.
When it is on, this peak parameter is ignored. Ignoring is the same as setting A/D channel to "-".
These methods are available for analysis.
It detects peak (negative or positive). The largest difference from base value is taken. In this mode, negative peaks are indicated as negative values.
It detects a positive or negative peak in the range starting from " from" msec and width of "width" msec. The peak value is not a "peak" point of data, but an averaged value. Data points within a time window (width = "pre" + "post" msec) are averaged. This time window is scanned throughout the peak detection time range, and the highest average value is chosen. This method reduce misreading of noise from other data as peak. To detect a "peak" instead of "peak of means", reduce "pre" and "post" values to select one data point in the "mean window". The peak value is a relative value against a "baseline" value. Negative peak value is indicated as a positive value. Baseline value is determined as a mean within an indicated time range.
It detects positive or negative slopes. The algorithm is as follows: selected data region is first smoothened then the differences of two points separated by "slope detection width" are scanned, and the largest difference is taken as "slope". When "smoothen wave" check box is checked, the data is once smoothened, then slope is measured (the data itself is not altered).
Selected range of data points are fitted using Igor Pro. Fitting mode is currently single and double exponential.
Selected range of data points are averaged
This mode does not analyze the current waveform. The peak value holds one data point of selected channel on acquisition, i.e. the selected channel does not need to be one of "recorded" channel.
Channel1 data is divided by channel2.
peak value of parameter 2 is divided by peak value of parameter 1. Thus, this method must be set to parameter 3 or 4.
Number of action potential is detected. The first set of the defalt
detection parameters ("set 1" in the "Event Detection" panel) except for
the threshold are used. The threahold value in this dialog is used instead of the default parameter.
The time range of the analysis can be set by entering time values in edit text boxes in this dialog, or by directly dragging the colored cursors horizontally in the graph. Dragging the cursor vertically determines the width of the analysis region. If the analysis time range is out of the graphs time range, the colored cursor can be called by clicking adj button.
Plot options are displayed by checking plot box in the peak plot dialog. During on-line data acquisition, this mode enables real-time peak plotting. During off-line data browsing, the peaks of all the sweeps of the current file are plotted by clicking plot all button. min / max edit text boxes determine the display range of the plot graph. Peak plot graph can be exported to Igor Pro (select "export to Igor" item in File menu with plot window active (short cut: cmd + E).
By clicking the plot all button in the peak plotting dialog, plot peak dialog appears.
All the peak values in a file are plotted when it is on.
Peak values of sweeps only starting from the current sweep is plotted when it is on.
When it is on, peak values are calculated according to the peak parameter of each sweep. When it is off, peak values already held in each sweep are used for plotting.
Event detection function detects events according up to
four conditions. The result is displayed in the A/D sweep screen
(or can be turned off), and can be sent
to
Igor as histograms.
Display detected peak points on A/D sweep screen.
Display range of detected events on A/D sweep screen.
Display frequency of events by bars on A/D sweep screen (see the right figure); display conditions can be chosen.
Time window for event counting.
Scale for display in A/D sweep screen (the larger this value, the taller the bars).
Range of data points for event detection.
Search range is whole data (not effective in on-line)
Search range is displayed range on A/D sweep screen (not effective in on-line)
Searched channel (1..)
If it is on, baseline is displayed on the A/D sweep screen. It is valid when "not disp" mode is not selected in "display mode".
A fixed value is used as a baseline value.
Automatic detection of baseline; a histogram is made for each data point from preceding data (of which time range is determined by detect window [msec]) and the most frequent data value is used as a baseline value. This method is effective when baseline is drifting in long-duration recording.
Threshold for peak detection (see above scheme).
Minimum duration of an event (events of shorter duration than this are ignored).
Slope is calculated with this window (see above scheme).
Gaps of which length are less than this width are ignored (see above scheme).
Number of detected events.
Do event detection.
Exit this dialog with parameters kept.
Exit this dialog with parameters not changed.
Set the current parameters as a default set.
Use default parameter set.
Sends results to Igor as histograms.
Select bin condition from two ways. bin: set bin width manually, num of bin: set number of bins.
Makes a histogram of total data values.
Makes a histogram of peak values of detected points.
Makes a histogram of base line values of detected points.
Makes a histogram of duration of detected points (equivalent of open time in single channel analysis).
Makes a histogram of duration between events (equivalent of close time in single channel analysis).
Makes a histogram of slope values.
Makes a event frequency graph.
Raise a graph window of histogram. If it is off, just data is sent to Igor but no graph is made in it.
Histograms are fitted by Gaussian distribution, and fit result is also displayed. Event count graph is not fitted by Gaussian distribution.