Vision Core Toolbox

The Vision Core Toolbox (VCT) is a collection of software modules for supporting common tasks in data acquisition and device control. The files in this set do not constitute an application by themselves; they were designed as reusable components for building custom software, functioning as extensions to the Cocoa application framework for Mac OS X. The modules are written in C and Objective C.

VCT provides the following capabilities:

  • A high level interface controls data acquisition and stimulation via the Heka/Instrutech ITC-1600 interface: analog to digital sampling, digital to analog synthesis, and digital input/output.
  • A hardware abstraction layer enables the data acquisition code to be modified for use with other interface products.
  • A serial port controller allows applications to communicate with peripherals equipped with RS-232 ports. Current Macintosh computers do not have serial ports. But there are several vendors offering USB-to-Serial adapters which can be used to connect one or multiple RS-232 devices. VCT includes code for creating a versatile serial port manager window, with controls for configuring the communication parameters for each attached device, and text fields for testing commands and responses.
  • Other modules provide various utility functions for managing and viewing waveform data, numeric and string manipulations, and precision timing.

Vision Core Toolbox source code
(124KB zip archive)

VCT is used in the ERGizmo, Stagecoach, and Znarhg applications. Source code for these products can be studied to learn how to employ the VCT modules.

ERGizmo is an application that was developed for James Hurley’s lab, to operate a data acquisition system that performs electroretinography (ERG) on zebrafish. The program controls the timing of two light sources (a flash tube, and a halogen lamp with electronic shutter). It records and displays the electrophysiology response in real time. For each stimulus and response epoch, the raw response waveform data is saved to a file, and a record is created in a searchable “notebook file”, which includes stimulus parameters, an image of the response waveform, and optional user comments.

Although full functionality requires the specific peripheral hardware in Hurley’s lab, the program can run in a demo mode without that hardware, generating simulated response data.

ERGizmo was tested in Mac OS X 10.6.

ERGizmo application and source code
Version 1.0.2 (453KB zip archive)

Epoch Table
The ERGizmo application generates text files containing the recorded response waveform samples from each stimulus epoch. Epoch Table is an Excel template file, containing a macro. When a new sheet is created from the template, the user is prompted to select one or more epoch files. The samples from each epoch file are loaded into successive columns of the sheet.

The macro used in this template could be easily modified to work with data files in other formats.

Epoch Table template for Excel and documentation
(35KB zip archive)


Stagecoach is a utility program for marking and categorizing features in microscopy images. It loads and displays images saved in JPEG, TIFF, or BMP formats. Mouse and keyboard commands can be used to add markers at points of interest. Stagecoach can also read X-Y coordinates from a microscope stage position encoder. This lets you automate the placement of markers on a previously created image, while viewing and measuring the original specimen via microscope using a different illumination and optical configuration. You might need this capability, for example, if there are specimen features that are identifiable through the microscope with the naked eye, but difficult to photograph. Stagecoach converts the measured positions from the stage position encoder to marks at the corresponding positions in the image viewed on your computer screen. The program also saves numerical and text data. Each marker is linked to an entry in a data table, containing its coordinates, type, and an optional editable text note.

Stagecoach runs on Macintosh computers with Intel processors. It was tested in Mac OS X versions 10.7 and 10.8, and may not work in earlier versions. For entering markers via keyboard and mouse, no additional hardware is necessary. The stage position encoder interface was developed to work with the Märzhäuser Wetzlar SCDplus Digital Readout Unit, but the source code could be modified to work with other stage position encoders.

Stagecoach application, source code, and documentation
Version 1.4 (4.2MB zip archive)


The Tagged Image File Format (TIFF) allows multiple images to be saved into one file: a multi-image TIFF file (also called a multi-page TIFF file). TIFFsplitter is a small stand-alone application that opens a multi-image TIFF file and saves all the contained images into separate single-image TIFF files in a user-selected folder. TIFFsplitter is written in AppleScript for Mac OS X.

TIFFsplitter application, libraries, and documentation
(385KB zip archive)

Multilayer TIFF test file
(13.9MB zip archive)

When multi-image TIFF files (also called multi-page TIFF files) are opened by current versions of Adobe Photoshop, only the first image from the file is loaded. TIFFstacker is a small stand-alone application that opens a multi-image TIFF file and loads all the contained images into a layer stack in Photoshop. TIFFstacker is written in AppleScript for Mac OS X. It was tested in Photoshop Extended versions CS5 and CS6. A minor change to the code was required to support each Photoshop version. The documentation accompanying TIFFstacker for CS6 explains how the code might require modification for other Photoshop versions.

TIFFstacker application for CS5, libraries, and documentation
(390KB zip archive)

TIFFstacker application for CS6, libraries, and documentation
(390KB zip archive)

Multilayer TIFF test file
(13.9MB zip archive)

OIB to RGB-TIFF converter
This is an ImageJ macro that recursively scans a folder of OIB image files from an Olympus confocal microscope, splits each file into RGB layers, and saves each layer as a TIFF.

splitOIBintoRGB-TIF ImageJ macro
(2KB zip archive)

OIB test file
(2.4MB zip archive)

Znarhg was built from an older version of the Vision Core Toolbox. It is a very complex application that functions as the control console of a data acquisition workstation for retinal neurophysiology. Znarhg synthesizes and presents visual stimuli via either raster displays or a four-channel LED stimulator, with concurrent recording of elicited neural responses from dissected retina. It also controls programmable filters and robotic actuators that configure optical elements in the light path. The program will function in a demo mode with the supplied sample scripts and data files.

[This section is being revised, and is currently incomplete.]

Znarhg application
Version 1.0.14, executable application, with example files (2.6MB zip archive)

Source code
(1.5MB zip archive)

Version history
Documentation of changes to the Znarhg application (67kB zip archive)