Filter by Supported Igor version:
Login or register to modify the filter.

Packages include individual Igor procedure files or collections of Igor procedure files that are related, as well as external operations (XOPs). To browse ALL projects (including those that have not been officially released) click on the Advanced Browse link above.


ADWU - Automatic download history meterological data from

Last changed: 8 years 24 weeks ago

This tools can be used to automatic download long period of meterological data from Wheather Underground website ( It require EasyHttp XOP.
The main function take in input the station id, the period of interested and the station type (airport or psw). When it is launch, it build the proper daily URL, easyhttp download the data that is stored in proper waves. A small panel is provided for select the input data, start the download and save the coming data in .txt file.
It is tested on WinXp, but should work fine whit Mac.


base64 - base64 and URL encoding and decoding + md5hashing

Last changed: 5 years 36 weeks ago

This XOP does several useful encoding of strings.
1) It does base64 encoding and decoding of strings (useful for network utilities).
2) It does URL encoding of strings (useful for network utilities).
3) It does an md5 hash of a string.

string testing = "test"
testing = base64encode(testing)
testing = base64decode(testing)

string testing = "test test"
print URLencode(testing)

//md5 hashing
string testing = "The quick brown fox jumps over the lazy dog"
print md5hash(testing)
//should print 9e107d9d372bb6826bd81d3542a419d6

IGOR.5.00.x-1.0.x-dev2011-Nov-09Development snapshot for Igor 5.00.x and aboveHelp

Calculator XOP

Last changed: 5 years 5 weeks ago

The Calculator XOP defines one operation named "Calc".
This operation allows to use Igor as a simple calculator while being able to resuse the last computed value.


•Calc 1+2
•Calc ans^2
•Calc ans+10 - 4
•Calc ans^2
•Calc exp(0.004) * pi^2 / ans

The output of the calculation is stored in a variable named "ans" in the root folder. This variable, together with other global variables or waves, can be used in future numerical expressions.


Color Wheel based on Color Star by Johannes Itten

Last changed: 1 year 4 weeks ago

Utility to easily select and manipulate colors based on the color star. Color selection is interactive and can be easily applied to generate color tables. Color tables can be customized to accurately present multiple palettes


Create Layouts

Last changed: 8 years 12 weeks ago

A GUI tool that makes creating a new layout easier. This is designed to be a rough replacement for the built in Igor Pro New Page Layout dialog. At this time, however, this is not a complete replacement and is lacking some functionality, including the ability to add tables to the layout. The package allows the user to control the order of the graphs placed on the layout and allows the user to see thumbnail images of the possible graphs and to select them from a list.


Data Folder Size Calculator

Last changed: 2 years 47 weeks ago

This routine calculates the number of bytes in a selected data folder, including any subfolders. It builds on the recursive listing functions written by Jamie Boyd. The output is printed to the history window in a human-readable format. The calculation considers only numeric waves, not text waves and not strings or variables.


Dependency Analyzer

Last changed: 9 years 16 weeks ago

This package will allow you to determine which Igor procedure files require which other Igor procedure files to operate. You can select any subsets of your loaded procedure files as "callers" and "callees" and get a graphical display of dependencies. It also shows you which functions in procedure file A call functions in procedure file B. This is useful for identifying which sets of procedure files must go together, and for identifying cyclic dependencies that you may want to avoid.


Easy Multithreading

Last changed: 7 years 19 weeks ago

This project contains a library of functions designed to make multithreading in Igor easy. Furthermore, it allow you to use your existing functions, with little or no modification, in multithreaded data analysis, greatly increasing throughput.

IGOR.6.20.x-1.x-dev2010-Mar-08Development snapshot for Igor 6.20.x and aboveHelp

Experiment Preview

Last changed: 4 years 11 weeks ago

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.


Graph Control

Last changed: 1 year 51 weeks ago

The ‘Graph Control’ package is a visualization utility to show the main attributes of Igor graphs and traces.
It allows quick manipulation of trace style, replacement, reordering and editing of selected traces, error bars parameters and easy work with data folders and multiple axes.
Plot attributes, as well individual and multiple traces can be copied and shared between graphs.
Additionally, the package allows for trace transparency and opaque overlay of multiple traces.


Graphical Memory Display

Last changed: 33 weeks 3 hours ago

For long term projects, it's easy for an experiment file to get very large and accumulate a lot of waves that might not be needed. This is a command line function that provides an interactive graphical view of the waves in the indicated parent folder and all immediate subfolders. All of the waves in each subfolder are color coded by their size.

Top panel buttons:
Update: updates the display if waves have been deleted or added
Folder Size: appends a graph of the size of each folder (in terms of cumulative # rows in all the waves)
Remove: removes folder size graph


Graphical User Interface Procedures/General Utilities for Igor Programmers

Last changed: 3 years 39 weeks ago

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

IGOR.5.05.x-0.x-dev2013-Oct-22Development snapshot for Igor 5.05.x and aboveHelp

Hodgkin Huxley

Last changed: 7 years 25 weeks ago

// Procedures for performing Hodgkin Huxley simulations of excitable membrane.
// The simulations are based on:
// Hodgkin, A.L. & Huxley, A.F. (1952) "A quantitative description of membrane current and its
// application to conduction and excitation in nerve" Journal of Physiology, vol. 117, pp. 500-544
// Created 25/9/2000 - JBF
// For more information about these procedures, or to report bugs, please contact:


Igor preview generator for OS X

Last changed: 4 years 12 weeks ago

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).



Last changed: 7 years 24 weeks ago

Just a small procedure file to use LaTeX under Windows with Igor Notebooks. Quite rudimentary programming, use with care. You might have to twiddle with the source code for pointing the package to your latex BIN directory. Please read the documentation contained in the *.pxp.

NOT useful for MacOS without substantial modifications (the latex.exe call is OS specific).

Tested with 6.12A but originally written for IP5.05A...not sure if it works there still.


Interactive Dartboard

Last changed: 8 years 22 weeks ago

The "interactive dartboard" presents a clickable dartboard to the user. The package is intended to illustrate some programming techniques for writing graphical user interfaces: drawing calculated polygons, using Igor's coordinate systems, using "package" data folders, providing visual and sound feedback in response to user clicks by dint of a hook function.



Last changed: 3 weeks 8 hours ago

iPhys is a dual image analysis / electrophysiology acquisition and analysis suite. Readable formats include TIFF image files, text data files and iPhys generated data files. The software was developed with increased automation of basic procedures in mind. For example, the user doesn't need to specify a file name for saving acquisition files, as they are automatically saved into the working directory. The user enjoys an extensive graphical interface with sticky windows (making dragging multiple windows easy), easy to activate and close plots and one click generated complex analysis modules.


iSpectra: A Toolbox for the Analysis of Spectral Images recorded on SEM-EDS systems

Last changed: 1 year 42 weeks ago

iSpectra is an open toolbox for the analysis of spectral images (SI's) recorded on scanning electron microscopes (SEM's), equipped with energy dispersive spectroscopy (EDS) systems for chemical analysis. iSpectra provides various tools for visualising chemical variability within a SI but is primarily written to create true phase maps, rather than more commonly used elemental x-ray distribution maps. iSpectra imports SI's in Lispix format and exports cumulative phase spectra in industry standard EMSA format along with graphical output.


Joystick XOP

Last changed: 8 years 35 weeks ago

This XOP allows Igor to read and control the inputs and outputs from and to a force feedback joystick. These are relatively inexpensive consumer devices used mainly for playing games, I presume, but can be useful elsewhere (atomic force microscopy?), as they are for my purposes, where a monkey uses the joystick. In general, the idea is to provide a haptic interface within Igor. Of course, there may be a market for Igor gaming. :-)


LabView library to save multidimensional LabView arrays as Igor Binary Waves to disk

Last changed: 6 years 40 weeks ago

This LabView library stores LabView arrays as Igor Binary Waves to disk. It uses always Igor Binary Wave file version 5.


  • supports arrays with 1 to 4 dimensions
  • handles arrays of
    • signed and unsigned byte
    • signed and unsigned word
    • signed and unsigned long
    • real and complex single precision floating point
    • real and complex double precision floating point
    • text
  • supports assignment of a dependency formula
  • supports dimension labels
  • supports adding a wave note
  • supports dimension scaling and dimension units
  • supports data scaling and data unit
IGOR.5.00.x-2.x-dev2010-Oct-15Development snapshot for Igor 5.00.x and aboveHelp


Last changed: 9 years 39 weeks ago

LaTeXinIGOR is an IGOR PRO procedure for those Igor 6 users in Windows who want to embed a LaTeX expression in their graphs, panels, layouts or notebooks. The expression is loaded as an Igor picture from an Enhanced Meta File image (EMF) generated by the program pstoedit, that converts the postscript output of the program LaTeX into a vectorial graph, or alternatively, from an Encapsulated PostScript (EPS) with a TIFF preview added by the program epstool (new in version 2.0).


Localizer - localization microscopy toolkit

Last changed: 5 years 2 weeks ago

NOTE: binaries for Localizer can now be downloaded from The source code is available at

Localizer provides a full package for performing localization and fluctuation analysis in superresolution fluorescence microscopy (PALM, STORM, SOFI, pcSOFI). The package comes in two parts, an XOP that is responsible for performing fast and efficient calculations, and an Igor procedure that provides a graphical front-end.

The XOP includes operations for a full analysis, including:


Last changed: 5 years 41 weeks ago


This provides a control panel to input systematic logbook information in to a notebook, including a header, a graphic (window or picture), notes, and a history reading. It also allows you to execute commands from the note field and capture the history.

The DEVELOPMENT SNAPSHOP (below) currently contains the latest bug fixes and features


Lumencor light driver Panel

Last changed: 2 years 49 weeks ago

The following procedure creates a small, simple panel for controlling a Lumencor light driver:

This was created primarily to use with OS X as the company does not provide software for controlling the light source from a Mac.
Including the procedure during compile adds an item called "Lumencor" in the /Macros menu item.

08/07/14version 2 added colors and incremental changes to intesity

The FTDI USB to Serial driver must be installed on the machine:
The VDT2.xop procedure must be activated.


MATLAB Functions

Last changed: 6 years 50 weeks ago

The biggest barrier to Igor adoption is usually knowledge of another environment's language. One of these is MATLAB. If a MATLAB users sits down to write Igor code, sometimes they have a hard time figuring out what the equivalent function in Igor is the function they know in MATLAB. And even if they find that function, if they haven't programmed in Igor, they might get stuck on the syntax.

IGOR.6.20.x-0.x-dev2010-Aug-05Development snapshot for Igor 6.20.x and aboveHelp

Multiple file loader front end

Last changed: 7 years 17 weeks ago

A small panel is presented to the user for loading multiple files into an Igor experiment. This panel gives the user the ability to navigate to the disk folder containing files to load. A listbox is then updated to show a list of files in that folder. The shift key can be used to define contiguous groups of files and the control key (Win) or command key (Mac) can be used to select and deselect individual files in the listbox. Finally a button "GetFiles" is used to end file selection and initiate further code exection. The panel code stores its waves in its own subfolder.


Multiple folder chooser

Last changed: 4 years 44 weeks ago

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.


Periodic Table Selector

Last changed: 24 weeks 1 day ago

Periodic Table Selector (PTS)

What and Why:
J. J. Weimer has contributed the very nice Periodic Table Menu package. It shows data for one element at a time, but I needed a way to quickly select several elements. PTS is derived from Periodic Table Menu and has the following characteristics:

- Graphically select any number of elements, the resulting list is processed separately.
- Use mouse clicks or very fast mouseover to select or deselect elements.
- Panel can be rescaled (as in Periodic Table Menu).
- Panel can be closed, then later reopened, the selection is retained.


Point Labels

Last changed: 22 weeks 1 hour ago

Puts labels on waves at position of cursor A.
Labels are the x position of the point.
Uses wave scaling or an x-axis wave.
Multiple labels on each wave.
Multiple waves in one graph.
Labels can be deleted on a per-wave basis.


Port Access

Last changed: 8 years 15 weeks ago

The Port Access XOP is an XOP for register level communication with IO ports via the inpout32.dll ( This version of Port Access requires Igor Pro 5.00 or later.


Back to top