External Access

Igor Pro can act as a server -- accepting commands and data from a client program and returning results, as a client -- sending commands and data to a server program, or as both at the same time. The methods used depend on the platform:

Windows

Igor can play the role of an ActiveX Automation server but not an Automation client. However it is possible to generate script files that allow Igor to indirectly play the role of client.

Also on Windows, you can control Igor from a Windows batch file and you can execute batch files or perform Windows command line operations using the ExecuteScriptText operation.

Macintosh

On Macintosh, Igor can be controlled by another program using AppleEvents. Because Igor is completely programmable using its command line, it is a simple matter to control Igor using primarily the Do Script event.

Igor also supports the creation and execution of simple AppleScripts in order to send commands to other programs using the ExecuteScriptText operation.

Both Macintosh and Windows

The FTPDownload and FTPUpload command line operations support simple transfers of files and directories over the Internet using the FTP protocol. FTPDownload makes it possible to write an Igor procedure that automatically retrieves data from a remote FTP server. FTPUpload makes it possible to transfer results to a remote FTP server.

Since Igor's SaveNotebook operation can generate HTML files from notebooks, it is possible to write an Igor procedure that downloads data, analyzes it, graphs it, and uploads an HTML file to a directory used by a web server. You can then use the BrowseURL operation to verify that everything worked as expected.

Igor also supports a batch file feature that, while primitive compared to ActiveX Automation or AppleEvents, is very simple to implement and is sufficient for many situations.

Another way to access another program or data is by writing a special purpose code module called an XOP (eXternal OPeration.) See the XOP Toolkit section for details.