Recently Created Projects


Experiment Preview

Downloaded 571 times
Average rating
(1 vote)
Preview panel: Save (top) and View (btm) tabs

The aim of this project is to aid the Igor Pro user in selecting one among many saved experiments. The method is to create a formatted notebook containing currently visible graphs in an open experiment. The notebook is saved under the same name and directory as the experiment. Saved notebooks can be quickly viewed through a panel containing a simple method of selecting a disk path and displaying the names of notebooks residing in that path in a list box. Contents of the notebook are displayed in a notebook subwindow on that panel when the user clicks on a item in the listbox.

Line Scan Analysis

Downloaded 529 times
Average rating
(0 votes)

A procedure for generating kinetic profiles from analysis of intensity values from confocal line scans.
Sequential line scans are imported into 2D waves from either TIFF or Zeiss LSM* files.

Analysis options include:

  • choice of statistical test run on line scan data
  • ability to set inter-line scan-interval
  • stat values output to data table
  • creation of a graph and curve fit options

Running "Line Scan Analysis" from the Macros menu creates a panel (see screenshot).

(* requires the LSMreader.pxp written by Stephen R Ikeda

Igor Sequencer for Arduino

Downloaded 271 times
Average rating
(0 votes)
Igor Sequencer Panel

Igor Sequencer controls an Arduino device to produce sequences of output pulses in a user-defined sequence. It provides low cost control of up to 12 outputs in two banks of 6 pins with sub-millisecond accuracy. Sequences are programmed through a GUI and they can be saved and loaded for quick recall.

You will need an Arduino Uno or Mega (it will probably work with other Arduino models as well). A sketch is provided which contains the code to install on the Arduino. A manual describing installation and operation is also available for download.

Progress Meter

Downloaded 292 times
Average rating
(0 votes)

// Function ProgressMeter routines
// Routines to create, update and destroy a little progress meter. This uses
// igor drawing commands in a panel. Data is normalized to a 0 to 100 unit
// scale and meter is updated every 5 units (20 increments).
// Truncates name to 40 characters and ensures that name is igor legal. Always
// use return value (string) from ProgressMeterCreate as MeterName parameter

syntax highlighting for gtksourceview for editors like gedit or meld

Downloaded 166 times
Average rating
(0 votes)

This set of files allows you to get syntax highlighting in gedit ( or meld ( These editors are crossplatform (windows, mac, linux) and open source.
This allows to compensate for some missing features of the native igor editor, namely:

  • autocompletion
  • line numbering
  • automated bracket completion
  • automatic indentation
  • bookmarks
  • code snippets
  • Line wraping when printing
  • case change

Graphical User Interface Procedures/General Utilities for Igor Programmers

Downloaded 270 times
Average rating
(0 votes)

A collection of utilties for user interface widgets (TabControls, SetVariables, PopMenus, window sizing, etc.) plus some other general utilities for Igor programming.

Channel Rhodopsin Mapper

Downloaded 0 times
Average rating
(0 votes)

Channel Rhodopsin Mapper (ChRMapper) is a package written for Igor Pro 6.1 or higher for making photoactivation maps in motor cortex expressing channel rhodopsin (Ayling et al., Nat Methods. 2009 Mar;6(3):219-24;
ChRMapper requires:

  1. Data acquisition board from National Instruments
  2. NIDAQmx XOP (
  3. Computer-controllable stage (usually serial port with VDT2).
  4. Laser plus associated optics to focus it on the sample (see paper for details).

Unit Testing Framework

Downloaded 277 times
Average rating
(1 vote)

This project aims at providing a complete set of tools for programmers for writing and maintaining unit tests.

  • Runs on Windows and MacOSX
  • Completely documented and with lots of examples
  • Includes more than ten test assertions coming in three versions
  • Allows for the arbitrary grouping of test cases
  • Easily expandable and adaptable
  • Support for executing test suites from the command line
Planned features (open for collaboration):
  • Threadsafe test assertions
  • Machine readable (XML) log file format

Doxygen filter for procedure files

Downloaded 158 times
Average rating
(1 vote)

This project here is a proof of concept implementation in AWK of an filter which translates procedure files into C-ish output for doxygen consumption.

Requires GNU AWK available for windows here.

Supported Features
  • Functions, including parameter type resolution, call-by-reference recognition and optional parameters
  • Constants
  • Macros
  1. Comment procedure files using doxygen commands

Tone Generator for Audio Output

Downloaded 393 times
Average rating
(1 vote)
Tone Generator Panel

This is a procedure file that creates a panel for controlling generation of an audio tone (played out of the computer speakers or headphone jack).
Users can define frequency, duration, and whether the tone is repeated (as well as the delay between consecutive tones).

Compiling the procedure places a menu item in the Macros.

HITRAN procedures for Igor

Downloaded 338 times
Average rating
(0 votes)

Collection of functions and procedures for loading data from the HITRAN database and simulating optical transmission through the atmosphere as a function of temperature, pressure and gas composition as well as thermal emission.

For more information about the HITRAN database, and to access the data files, go to:

Line Broadening

Downloaded 657 times
Average rating
(0 votes)

Procedure File containing functions (and wrapper procedures with Menu calls) for convolving waveform data with standard spectroscopic peak shapes (Gaussian, Lorentzian and Voigt) with x-scaling awareness and preservation of integral normalization.


Downloaded 482 times
Average rating
(1 vote)

HDF5gateway makes it easy to read a HDF5 file into an IgorPro folder, including group and dataset attributes, such as a NeXus data file, modify it, and then write it back out.

The goal was to make it easy to read a HDF5 file into an IgorPro folder, including group and dataset attributes, such as a NeXus data file, modify it, and then write it back out. This file provides functions to do just that.

ThreadSafeUtils XOP

Downloaded 189 times
Average rating
(0 votes)

ThreadSafeUtils is an XOP adding two utility functions for threadsafe programming.


executes userFunction and returns its string if running in the main thread and an empty string otherwise. This converts the compile-time threadsafe check of Igor procedures into a runtime check.


userFunction must be a function returning a string and accepting no parameters. Although allowed it does not make sense that userFunction is threadsafe, because in that case userFunction is also usable with runtime checks for thread safety.

Brownian Motion Simulator

Downloaded 871 times
Average rating
(0 votes)
Brownian Motion Panel.png

A Procedure File (BM_Simulator.ipf) for simulating a random walk and modeling Brownian Motion. This procedure creates a series of displacements generated after a "particle" experiences a series of random molecular collisions. Each collision moves the particle a distance determined by its mean free path setting. After a defined number of collisions, the particle is at a new, random location and the distance between its starting location and final location is termed a "displacement".

Tango for Igor Pro

Downloaded 103 times
Average rating
(0 votes)
Tango bindings for Igor Pro

TANGO is an object oriented distributed control system being actively developed as a collaborative effort between several synchrotron institutes. The object model in TANGO supports methods, attributes and properties. In TANGO all objects are representations of devices. The devices can run on the same computer or distributed over computers interconnected by a network. The network communication is based on CORBA & ZMQ. Communication can be synchronous, asynchronous or event driven. Configuration data is stored in a database.

Generalized Linear Model Fitting

Downloaded 507 times
Average rating
(0 votes)

This implements generalized linear models in a function glmfit. Support for unity-link (gaussian distribution), log-link (poisson distribution), and logit-link (binomial distribution), and tan-link (von mises distribution). General usage given in function TestGLMFit, with a log-link (poisson) example. It is best to just contact me directly for support.

DE - optimize with differential evolution

Downloaded 133 times
Average rating
(2 votes)

Differential Optimisation - use instead of optimize if that isn't finding the global minimum.
Minimise (or maximise) an energy function by varying independent variables using differential evolution.

Easy peasy to use and comes with an example of how it works.

Fluorophore excitation and emission spectra

Downloaded 531 times
Average rating
(0 votes)

The following Igor pxp file includes a panel for plotting the excitation and emission spectra of various fluorophores, including fluorescent chemicals (e.g., FM 1-43) or genetically encoded molecules (e.g., GFP). Includes the ability to overlay filter cube information (currently just FITC/EGFP and TRITC).

Spectra are from Chroma.

Multiple folder chooser

Downloaded 115 times
Average rating
(0 votes)

Allows user to select multiple folders from a standard OS X file chooser dialog. Returns a string list with the HFS representation of the selected folders.

Syndicate content

Back to top