Igor Pro 5 New Features

Following are some highlights (and it's still long!) of the many new features we have added to Igor Pro 5.0 since version 4. ( Click here for a detailed look at some of these features )

Click here for a list of changes and bug fixes since the initial release of Igor Pro 5.00.

User Interface

Dialogs have been revamped, many are now resizable and you can now select waves from different data folders. Many analysis dialogs are more powerful and offer graphing and destination options. Contextual menus (control-click on Mac, right-click on Windows) have been greatly enhanced. It is now easier to work with actual size graphs that are very small or very large.

Graphing Improvements

Many additional color tables have been added along with six new markers. Individual traces can be plotted vertically or horizontally. You can graph individual rows or columns of a matrix or other data subranges. You can create axes dependent on other axes or on a hook function. In addition to placing Tags on traces and images, you can now place a Tag on an axis and axis Tags can be used as multi-line axis labels. Tick marks can be a different color than their axis and markers can have different outline and fill colors. The marker fill color and marker stroke colors can now be different. The default font and marker sizes can now be dependent on a specified percentage of the graph size and you can now specify relative font sizes in annotations. You can more easily create inset plots using subwindow embedding. Tables and control panels can be embedded in graphs. Create complex 3D plots with all the power of OpenGL.

Drawing Improvements

You can now draw Bezier curves and circular arcs.

Page Layout Improvements

Graphs and tables can be embedded in Page Layouts and manipulated just as if they were freestanding graph or table windows. Graph objects can be converted to embedded graphs (and vise versa) using a contextual menu. Subgraphs can be easily aligned using guides.

Table Improvements

Tables now support Find and Replace for cell values. Tables can be embedded in graph, page layout and panel windows.

Graphics Import Improvements

You can now import JPEG and TIFF graphics files and use them as cross-platform images just like the PNG format. You can also import EPS files and use them in graphics that will be exported in EPS format or will be printed on a PostScript printer. EPS graphics are cross-platform.

Graphics Export Improvements

EPS (Encapsulated PostScript) export now uses better methods for patterned fills and images. Graphics destined for EPS export can now include imported EPS pictures and even non-EPS pictures. You can now specify CMYK color for EPS and TIFF export. You can now specify an explicit resolution for bitmap export types.

Curve Fitting:

User fit functions are no longer called to calculate derivatives for held coefficients. The multi-peak fitting package supports new peak functions and provides an output table.

Analysis Improvements

Differentiate and Integrate are now multi-dimensional aware, can accept integer waves, can accept an x-wave, can specify an optional destination (rather than just overwrite) and provides a choice of algorithms. FFT and IFFT can specify a destination wave. FFT has many other new options making it easier to display magnitude and phase. Optimize can now use simulated annealing. WaveStats has new options for complex data and for fast min/max calculation. IntegrateODE now offers a method for stiff systems.

New Analysis Features

New operations and functions including PCA (Principal Component Analysis), Integrate1D (numerical integration of user functions), DWT and CWT (Discrete and Continuous Wavelet Transforms), KMeans (for cluster analysis), MatrixInverse (direct and pseudo matrix inverse), MatrixCorr (correlation, covariance and degree of correlation) and many more. Many special functions are now built-in (SpecialFuncs XOP no longer needed.)

Image Processing Improvements

Many new features added to ImageTransform such as Shading, matchPlanes, stackImages and averageImage. ImageInterpolate has new Spline, Kriging and Voroni interpolation methods. New ImageRegistration operation. Many formerly 2D operations such as ImageAnalyzeParticles and MatrixFilter have been extended to 3D.

New Data Manipulation Features

New Reverse, Concatenate and Extract operations. New waveTransform operation speeds up simple operations on waves. New MatrixOP operation simplifies and speeds up matrix expressions.

Data Browser Improvements

New Save Copy button to save waves, variables, strings and data folders copy as an Igor experiment file. New mode that displays the histogram of a wave in the plot pane. Improved navigation.

Data Import And Export Improvements

New SaveData operation saves waves, variables and data folders to a file or folder. Individual Graphs and Tables along with their data can now be saved and reloaded. You can now merge Igor experiments.

Help System Improvements

The Help Topics tab of the Help Browser now has a "Sort Topics" checkbox.

General Programming Improvements

You can now define keyboard equivalent keystrokes for user-defined menus that include function keys, and the shift and option/Alt keys. It is now possible to create a user-defined menu item which does not store any text in the history area when executed. Window hook functions have been improved and built-in Igor menus can be intercepted. Some WaveMetrics-supplied external operations can now be invoked directly from a user function without using the Execute operation. The Debugger can now view and change wave values and structures and has a new Expressions Evaluator. Arbitrary (including binary) data can be associated with windows and controls.

Programming Language Improvements

You can now define user functions with optional parameters. In user functions, you can now better handle exceptions such as aborts and errors using the new try-catch-endtry flow control construct. You can now define named image pictures in procedure files. You can now use statically defined Functions and Pictures in inherently global objects such as control panels. You can now define structures for use in user functions.

File-handling Improvements

New operations and functions copy, move, and delete files and folders, get and set information about files and folders, and parse file and folder path strings.

Control Improvements

You may now reserve room for controls on all four sides of a graph, not just the top. The various control-specific dialogs have been replaced by a Control Properties Dialog and contextual menus ease control creation. Button controls can be colorized and can use custom pictures. Checkbox controls can use custom pictures and the new CustomControl can be fully defined by user-written functions. The title text for Buttons, CustomControls and CheckBoxes can be multi-line and use the same escape sequences for fancy text as annotations. Control procs (as set by the proc keyword) can now be (optionally) written using a new style using a more efficient method utilizing structures. The ListBox control provides new shift selection modes. Graphs and Tables can now be used as sub-windows in Panel windows and Panels can now be used as sub-windows in Graph windows.

Miscellaneous Improvements

On Windows, Igor can now act as an Automation Server. The Pictures dialog can now place a copy of a picture in a formatted notebook. Each user account on a Windows machine will have a separate preferences file (this has always been the case on Macintosh.) The Print command no longer complains about strings that are too long and can print entire waves and structures. You can now lock a wave to prevent its being modified, moved or deleted.

XOP Toolkit Improvements

The process for creating an external operation has been simplified. It is now possible to create external operations that can be compiled into user functions. An external function can now have pass-by-reference parameters as well as the normal pass-by-value parameters. An XOP can now call a user function or an external function. On Mac OS X, you can now create a Mach-O XOP.