Robert Cudmore

For a description of my 2-photon imaging software, go here.

This page describes software I have developed within Igor Pro from WaveMetrics (Mac and Windows compatible). The software is primarily for the acquisition and analysis of electrophysiology data. There are also general Utilities that may be of interest to non electrophysiologists. What follows is a work in progress, if anything catches your eye please do not hesitate to email me with any questions.


bAcq An environment to collect data. Allows arbitrary number of channels that can each control a device: patch clamp amplifier, trigger and acquire using a camera, extracellular stimulation, pico-spritzer, etc. etc. Supports National Instruments and ITC-16/18 acquisition cards.
bSeal Basically a digital oscilloscope. Allows the delivery of a seal test and calculates holding current (voltage-clamp), resting membrane potential (current clamp), seal resistance, series resistance, and whole cell capacitance. Easy to configure the interval, delay, duration, and amplitude of the test pulse. Provides simple interface to save raw data and statistics (can be used this way for very simple data acquisition). Multichannel aware.
bStim Easy and intuitive interface to make current and/or voltage-clamp stimuli consisting of a seal test followed by 3 different stimulus amplitudes. Types of stimuli available are: DC, EPSP/EPSC, train, sin, zap, and ramp. Each stimulus type can be easily transformed into a p/N protocol for voltage-clamp measurements. Stimuli can be saved to disk and then reloaded to make your experiments more simple.
bStimStep Interface to manage multiple stimulation waveforms (bStim) and to deliver them and record the response in many ways. A single stimulus at a given interval, a given stimulus with different amplitude steps for each trial (with repeats) allows for the creation of frequency versus current (current-clamp) or current versus voltage (voltage-clamp). Provides runtime plots of FI/IV curves, p/N subtraction, Rin, Vm, IHold ...


bDataBrowser An interface to quickly browse multiple cells. Clicking on a cell displays a list of traces (trials) for the cell. Clicking on a trial plots the raw stimulus and response with real-time display of the statistic (bSimpleStat) for the given trace. Allows for the creation of conditions within a cell which can then be plotted against each other (bPlot/bPool).
bSimpleStat Used for current-clamp data. Given a directory of waves, the start time and duration of a stimulus you can extract statistics, make average plots, and test statistical significance between conditions. Statistics for each action potential include: time, voltage-threshold, rise time, width, amplitude, AHP. Other statistics such as resting input resistance and resting membrane potential are included. Provides a simple interface to add your own analysis with minimal programming.
bPlot An interface to make plots of statistics across conditions (bDataBrowser/bSimpleStat) with mean and standard deviation / standard error. Plots include X/Y scatter, histogram, and bar plots. Each time a plot is made the actual data values (cell, statistic, condition, mean, sd, n, se) are printed into a table so you always have the actual values on hand.
bCriterion When used with bPlot allows the specification of criterion for plotting or not. For any given statistic (bSimpleStat) the user can specify a range of values to accept for inclusion in a plot. For example, Vm and Rin within a range of values. For the wild at heart bCriterion can also filter plots based on the percent or absolute change of a statistic across conditions.
bPool Interface to make pooled data for a given statistic (bSimpleStat) across multiple cells and multiple conditions (bSimpleStat).
bNSFA Interface and functions for Non-Stationary FLuctuation Anlaysis (NSFA). This allows you to estimate the single channel conductance and the number of channels present from 'really clean' voltage-clamp data. (Coming soon).


bHH An implementation of a Hodgkin Huxley model neuron. Interface is provided to quickly turn on and off individual conductances. Plot functions to display the stimulus (bStim) and response of the model neuron. Plots of the steady state and time constant of each particle as a function of voltage. Right now the geometry is pathetically simple, a sphere. Go to NEURON for more complicated geometry.

Image Analysis

bImage An interface to load images, draw multiple lines on the image, extract the intensity of the image along the line, and then make plots of this intensity. Allows images to be loaded and stored in a simple database and then plots to be made and compared across different conditions.


bScalePanel A panel which provides useful interface to operate on any displayed wave. Capture and set X/Y axis (make different plots have the same scaling!), Remove Axis, Set size of window (also in Layout), and add x/y scale bars.
bFunWin A panel which displays a list of open Procedure files. When a file is selected, a second list displays the functions in that procedure file. Clicking the function name, open the procedure to that function. A text field accepts regular expressions (e.g. b*) to limit the number of procedures and functions displayed.
bHTML A set of functions (with an example interface) that allows the easy creation of webpage .html from multiple wave plots in Igor. Just create a bHTML object, point it to a string list of window names and whala you have a web page with your Igor plots. Can be configured to save .jpg images of different compression levels depending on the critical level of the plots (pdf coming soon).
bLoadPClamp Igor function to load PClamp 9.x files. This is taken from Neuromatic but has been optimized for speed of loading. PClamp 10.x support is coming soon.
bNV Allows for the management of Name/Value pairs. In the simplest case (1 dimensional) these NV pairs can used to store edit and retrieve the value of window controls. Two and Three dimensional NV pairs allow each Name to have multiple values, this can be used to store all the statistics for a cell across multiple trials.
bMakeAvg Igor function that take a 2D wave of double, calculates the mean and SD/SE of columns. Plots the raw data with mean/se.
bMakeBar Igor function that take a 2D wave of string. First row identifies the conditions, subsequent rows the cell name and a value for each condition (usually the mean). Plots the raw data as symbols with mean +/- SE as bar plots for each condition.
Dept. of Neuroscience, Linden Lab Johns Hopkins Medicine © 2008-2012