Many Igor Pro users find it convenient to do all of their work, from data acquisition through data analysis to presentation, in one environment. Igor's extensibility and programmability makes this possible.
Igor Pro supports data acquisition using
- Serial ports (RS-232)
- General Purpose Interface Bus (GPIB, IEEE-488) ports
- VISA-compatible instruments
- Frame grabbers
- A/D boards
Serial I/O is supported via an included plug-in named VDT. It works with built-in serial ports and third-party serial ports from KeySpan and other vendors.
General Purpose Interface Bus
GPIB I/O is supported via an included plug-in named NIGPIB. It works with all National Instruments GPIB boards.
VISA (Virtual Instrument Software Architecture) is an instrument control system defined by the VXIplug&play Systems Alliance. It enables a program to control VISA-compliant instruments connected to a computer through serial port, GPIB, Ethernet, VXI bus and other media. Igor supports the VISA protocol via an included plug-in named VISA.xop.
There are at least three implementations of the VISA library: NI-VISA from National Instruments, TekVISA from Tektronix and Agilent VISA which is part of the Agilent IO Libraries Suite.
Reading of the telegraph outputs of the Molecular Devices (formerly Axon) MultiClamp 700A and 700B patch clamp amplifiers is supported (Windows only) via an included plug-in named AxonTelegraph.xop. Note that this plug-in only reads the telegraph outputs, which convey information about the current settings of the amplifier. In order to acquire waveform data you must use an A/D board that can be controlled by Igor (see below).
Data acquisition through plug-in A/D boards is supported through the add-on Igor NIDAQ Tools package which works with a variety of National Instruments DAQ devices. Third-party plug-ins are also available from some hardware manufacturers.
Custom Data Acquisition
It is also possible to write your own C-based data acquisition plug-in using the Igor XOP Toolkit. Such a plug-in would add low-level commands for accessing your hardware, typically by calling routines in a driver supplied by the hardware manufacturer. You could then build higher level routines in Igor itself and use Igor to create a user-interface.
A number of companies have added Igor-connectivity to their data acquisition systems or have created scientific instruments using Igor as their base software.