Recently Created Projects



Downloaded 434 times
Average rating
(0 votes)
MovieMaker screenshot

A small procedure that allows you to make movies out of a set of 2D waves.

How to use:

1- Drag drop the procedure file onto igor and compile
2- Run "Load Panel" from the MovieMaker menu
3- Click on Test Waves to make some test waves to play with
4- Click on Preview. Make adjustments, add annotations etc. add extra commands (if any) in command boxes to run on frames.
5- Run through frames using the slider
6- Click on "Make" to export the video

Visual Odometry

Downloaded 0 times
Average rating
(1 vote)
carpet with coin

Dense VO and Feature Detection VO used for carpet and indoor


Downloaded 266 times
Average rating
(0 votes)

IgorCL is an external operation for Igor Pro that allows you to perform calculations on your computer's CPU or GPU using OpenCL. OpenCL is a software framework that provides a uniform way to perform computation on heterogeneous devices. The authoritative source on OpenCL is the official website,, and particularly the OpenCL specification.

Syntax Highlighting in VIM

Downloaded 366 times
Average rating
(0 votes)
Screenshot of gvim under linux

Based on the work of Peter Li,, I completely revised the syntax highlighting for Igor Pro procedures in Vim.

Install into a folder read by gvim and add the following code to vimrc

" add filetype detection for Igor Pro procedure files
au BufNewFile,BufRead *.ipf set filetype=igorpro
" Honour user settings for colors or use the default igor pro colors
" let igorpro_default_colors = 1
" If you want to use folding, activate it with
" set foldmethod=syntax

Tektronix Oscilloscope Waveform Loader

Downloaded 1054 times
Average rating
(0 votes)

This is an attempt at a fairly universal loader for the dizzying array of Tektronix oscilloscope binary waveform file types (.wfm and .isf). It imports file types LLWFM, WFM#001 to #003 (.wfm files) and WFMPRE (.isf) from a wide range of Tektronix models. It can handle multi-frame waveforms generated by fast-framing scopes as well, with time stamps. It does not support pixel map types.

The core of this utility is the function LoadTekWfm, which does the heavy lifting. It's designed to be called from other macros and functions that customize the user interface.

Code Browser

Downloaded 247 times
Average rating
(2 votes)

Makes browsing through projects with multiple files and lots of functions easier.


  • Shows all functions/macros from a procedure file including parameter types, return types and special properties (like static, threadsafe, etc.)
  • Shows constants/string constants and structure definitions
  • Alphabetically sorted list of functions/macro (can be toggled)
  • Allows jumping to their definitions by mouse and keyboard
  • Works with Independent Modules

For reasons of ease-of-use the function declarations are displayed as

twoPhoton scanning laser microscopy control

Downloaded 0 times
Average rating
(0 votes)

Code for using Igor Pro with NIDAQ toolkit and National Instruments data acquisition boards (PCI-6110 or similar for imaging plus optionally a PCI-6036 or similar for electrophysiology traces) to drive a scanning laser microscope system, as for confocal or 2-photon microscopy. Igor Pro/NIDAQ drives the galvanometers that direct the beam, and collects the data. Can also control moving the microscope stage around, as for controlling focus to make z-stacks. Includes some code for analysis of images/image stacks.


Downloaded 508 times
Average rating
(0 votes)

Schroedinger_SOLVER is an IGOR PRO procedure that integrates numerically the Schroedinger equation with the NUMEROV method to obtain the time-independent -or stationary- solutions, for any given 1-D potential. The solver assumes boundary conditions in which the wave function is zero at both extremes of the space domain (coordinate x). In practice this means that the potential is assumed to be infinite at xmin and xmax. Therefore, for the moment the code is not prepared for solving, for example, the Coulomb potential.

Igor preview generator for OS X

Downloaded 997 times
Average rating
(1 vote)
Preview viewer window

This project will automatically create a preview of a saved Igor experiment by compiling its available windows into a notebook and saving the notebook in a central location and keep track of them with a UUID that matches a generated UUID string stored in the experiment.

The script will list the pxp files in the specified folder (instead of the notebook previews), and when you select one it will access the UUID stored in the pxp and match it to the appropriate preview file (or display "No Preview Available" if a preview has not yet been generated).

Experiment Preview

Downloaded 689 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 647 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 334 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 351 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 188 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 307 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 370 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 216 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 457 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 392 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:

Syndicate content

Back to top