From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Stable release
8.04 / November 19, 2020; 19 months ago (2020-11-19)
Operating systemMac OS, Microsoft Windows
Available inEnglish, Japanese
TypeTechnical computing
LicenseCommercial proprietary software

IGOR Pro is a scientific data analysis software, numerical computing environment and programming language that runs on Windows or Mac operating systems. It is developed by WaveMetrics Inc., and was originally aimed at time series analysis, but has since then evolved and covers other applications such as curve fitting and image processing. It comes with a fully functional programming language and compiler, but many functions are also accessible through menus. IGOR Pro is primarily known for its graphics capabilities, and like Origin and other similar programs, is often used to generate plots for scientific and other publications. Other features include the possibility of extending the built-in functions with external operations (XOP) allowing data acquisition, manipulation and analysis features, communication with external devices and in principle any other task that can be programmed in C or C++.


Igor Pro has several features that distinguish it from other graphing programs. The most significant ones are:

  • It is completely programmable with a compiled, C-like programming language.
  • Igor features a hybrid interface that allows to control the program either with a command line or with clicking menu entries with the mouse.
  • It allows to store data in up to four-dimensional, sophisticated arrays (called "waves").

The concept of Igor's "waves"[edit]

Waves are up to four-dimensional arrays that can carry not only numbers, but also characters (text), or date-and-time entries. Waves can carry meta-information, for example, the physical units of each dimension. Igor offers a wide choice of methods to work with these waves. It is possible to do image-processing with images that have been saved as two- or three-dimensional waves. In addition, two-dimensional waves can be used for matrix calculations.

Capabilities of Igor's programming language[edit]

Without the optional add-on packages (XOP, NIDAQ Tools), Igor's programming language supports, amongst others, the following concepts[1] [2]

  • Generating compiled code (although no independent .exe file is created)
  • Handling of variables, strings, and waves
  • Formatted output
  • Regular expressions
  • Making graphical user interfaces
  • FTP and HTTP communication
  • Reading/writing operations on the hard drive


Complementing the professional development and support provided by WaveMetrics, a broad community of users and enthusiasts provide user-to-user support through a mailing list, IgorExchange(a collaborative web site sponsored by WaveMetrics whose main features are a forum and places where programmers can share extensions, complete projects or "code snippets"), and GitHub repositories.

Several large scientific user facilities, such as Argonne National Laboratory, have developed and published data analysis libraries for Igor Pro.[3][4][5] The control and data-acquisition programs for photoelectron spectrometers of ScientaOmicron [6] and SPECS Surface Nano Analysis GmbH [7] save spectra in Igor Pro file formats.

The “INO MAKRO” was developed in Japan for the analysis of x-ray absorption and photoemission spectra.

Igor Pro has been used as platform for the modelling of impedance data. The first reported application was mechanical impedance data, specifically pneumatic performance of the lung (published in a peer reviewed article from a hospital at the east coast in USA). A more recent application is for electrochemical impedance spectroscopy data, developed at NIMS in Japan.[8]

See also[edit]

External links[edit]


  1. ^ Martin Schmid (2018-05-15). Programming In Igor Pro - A Comprehensive Introduction (Igor Pro 7/8). publisher: CreateSpace. ISBN 978-1985792616.
  2. ^ Payam Minoofar (2007-09-19). Introduction to IGOR Pro Programming (Igor Pro 5).
  3. ^ Argonne National Laboratory. "Irena - package for SAS data analysis". Usaxs.xray.aps.anl.gov. Retrieved 2012-04-30.
  4. ^ "NIST - Center for Neutron Research - Small-Angle Neutron Scattering Group". Ncnr.nist.gov. 2012-03-26. Retrieved 2012-04-30.
  5. ^ "ILL Neutrons for science". Ill.eu. Retrieved 2018-05-15.
  6. ^ "ScientaOmicron ARPES system". scientaomicron.com. 2018-05-14. Retrieved 2018-05-14.
  7. ^ "SPECS prodigy software". specs.de. 2018-04-15. Retrieved 2018-04-15.
  8. ^ Kobayashi, Kiyoshi; Sakka, Yoshio; Suzuki, Tohru S. (2016). "Development of an electrochemical impedance analysis program based on the expanded measurement model". Journal of the Ceramic Society of Japan. 124 (9): 943–949. doi:10.2109/jcersj2.16120.