This file describes significant changes made to Igor Pro and supporting files since the release of Igor Pro 6.0. Here are the updates in reverse chronological order:
Fixed bug introduced by fix for /W=$("name1#name2") in interpret mode, which broke the $string1#$string2 syntax.
Fixed pcsr when on the cursor was attached to an image plot of complex data.
Fixed image display using new graphics with panel on left.
Fixed Legend when fill pattern and new graphics.
Fixed memory handles left behind when exiting drawing and edit modes due to new minimal redrawing technique.
Fixed a bug in the Windows version of the GBLoadWave XOP relating to very large file support.
Fixed some mostly asymptomatic problems related to special character names in copy/paste and delete/undo. These problems could generate an error or result in a garbage special character names under rare circumstances.
Fixed bug in FindLevels when /N=numLevels and /EDGE that caused only half of the requested level crossings to be found.
Fixed crash involving thread start in one procedure after another is modified. Compile-link related.
Fixed fit function checking especially when involving FUNCREF and independent modules.
Fixed axis mousewheel to support log axes.
LoadWave/J now accepts date/time values in ISO-8601-style: <date>T<time>. It does not support ISO-8601 time zone designations.
On Windows, a check is now done on page setups to prevent numeric overflow.
Igor stores the paper width and height in printer units in a signed 16-bit integer. If the paper size is very large and the printer resolution is large, this can cause an overflow error. If you attempt to set a combination of paper size and resolution such that it would cause overflow, Igor now clips the paper size and tells you to reduce the paper size or the printer resolution.
For example, if you create a custom paper size of 54 x 42 inches, the largest printer resolution that you can use is 600 DPI. If you use 1200 DPI, Igor will clip the paper size and warn you.
New function-only syntax for some operations that create waves. If an operation creates automatic wave reference variables in functions when a simple name is provided for the destination then it can now also create a wave reference variable when $str or full or partial path syntax is used.
Append /WAVE=name after the wave designation where name is for the desired wave reference. This syntax is allowed on the command line but does nothing. The syntax is not allowed after a simple name.
So
Make $str WAVE w= $str
can now be written as
Make $str/WAVE=w
Here is an example using several such operations:
Function test()
Make/O $"jack"/WAVE=w1= sin(x/8),root:sam/WAVE=w2= cos(x/3)
display w1,w2
Duplicate/O w1,$"jackdup"/WAVE=wd1
wd1= x
Display wd1;AutoPositionWindow
Extract/O w1,$"jackex"/WAVE=we1,x>50
Display we1;AutoPositionWindow
Concatenate/O/NP {w1,w2},$"w1w2"/WAVE=w1w2
Display w1w2;AutoPositionWindow
Differentiate w1/D=$"diffjack"/WAVE=dj
Display dj;AutoPositionWindow
MatrixOp/O $"mato"/WAVE=mo = w1
Display mo; AutoPositionWindow
FFT/DEST=$"jackfft"/WAVE=jf w1
Display jf;AutoPositionWindow
end
Added dialogsOK keyword to CtrlNamedBackground to allow suppressing task that does naughty things.
Can now set the delay between the start of a control procedure and the spinning beachball. Use new flag for DoUpdate/SPIN=s where s is the delay in ticks (60 per second.) Unless used with the /W flag, it just sets the delay and an update is not done.
Tags can now specify arrow pointing back at the tag or both directions using /L=3 or 4.
New rgbMult keyword for ModifyImage. Direct color values are multiplied by this.
New window hook event #23, spinUpdate, called for progress windows during execution of user code. Allows semi-automatic progress updates. See SetWindow and Progress Windows for details.
Added /DIML flag to Sort and IndexSort.
Added /MPCT flag to Smooth to compute percentile, min, and max value in the smoothing window.
Added the YYYY-MM-DD format to Secs2Date.
Added a special-purpose feature for Bela Farago whereby text sent to history area is carbon-copied to a notebook. See History Carbon Copy.
Added /KILL flag to SavePackagePreferences operation.
In the SaveData operation, Save Graph Copy and Save Table Copy, a message is now added to the saved experiment's history containing the parent experiment name and date/time.
The Igor Help Browser's Search Igor Files tab has a new checkbox for searching the Igor Pro 6 User Files folders.
Added 12.5 percent and 6.5 percent zoom levels for page layouts. This is intended to make it easier to work with very large page sizes.
Added new ability to prevent procedure windows from being listed in the Procedures submenu using:
#pragma hide=1
Only hides if window is also marked as read-only and, obviously, only after a compile. Such windows will show if you execute:
SetIgorOption IndependentModuleDev=1.
The Interpolate XOP now disallows use of NaNs in the X dest wave in "X coords from dest" mode (/I=3). This never worked. Use the built-in interp function, instead.
In the Interpolate XOP, changed linear interpolation behavior when using "X coords from dest" mode (/I=3). Previously if destination X values exceeded the maximum input X value, the extra destination points were clamped to the last input Y value. Now the extra destination points are extrapolated from the last two input points.
Added a workaround to SQL XOP for compatibility with SQLite.
Fixed obscure problem of operation called from XOPCommand setting function local variables instead of global variables.
GetFileFolderInfo/P=pathName "subfolderName" was locating the folder associated with pathName, not the sub folder inside. Same for SetFileFolderInfo.
Fixed crashing bug in CopyFolder with no destination specified.
An error was generated if a packed experiment file was greater than 2GB in size and it contained a packed notebook or procedure file.
Fixed a crash when saving a plain text file as RTF.
Fixed bug that occurs when calling a triple name button proc when the same module name exists in ProcGlobal.
Fixed rare RemoveFromList crash when removing an item at the end of the list that didn't have a trailing separator.
Windows: RemoveFromList("X13;13","#X13;13") no longer crashes.
Instance numbers are no longer limited to #999. They're now limited to #9999999.
Window titles can now be up to 255 characters instead of up to 40.
Changed axis mousewheel to expand about the mouse location.
On Macintosh, changed beavior of cmd-H and cmd-E, added spelling menu and enabled services menu.
Changed how the color checkbox for Export Graphics is saved. See User-Interface Changes for description.
On Macintosh using new graphics mode, the transparency of imported PNG or TIFF pictures is honored except for Igor PDF and EPS export formats.
Now support free rotation of tick mark labels and axis labels in graphs and ColorScale annotations.
Can now put super and subscripts in wave units.
ListBox special kind=1 now supports tables in addition to graphs.
New mouse wheel event for named window hooks.
SaveExperiment/P= Debugging on Error breaks into the debugger on stack exhaustion.
Changing a global variable using a control now marks the experiment as being modified.
On Macintosh, eliminated the limit on number of files that Igor can open at one time.
Added new modes for image display of complex data.
The Display, Edit, Layout, NewLayout, NewNotebook and NewPanel now accept /K=3 to mean hide the window instead of killing it. This is intended for advanced packages. If you use this feature, the only way to kill the window is via DoWindow/K.
The Notebook operation has new keywords: headerPos, footerPos, headerControl, footerControl. You still can not programmatically set the contents of the headers and footers but these keywords allow you to control if and where they appear.
You can activate the Igor-object window associated with an Igor-object picture in a notebook by double-clicking the picture. If the window does not exist but the associated window recreation macro does exist, Igor runs the window recreation macro.
The SpecialCharacterInfo function now takes "WINTYPE" and "OBJECTNAME" keywords which work only with Igor-object pictures. Also you can get information about the selected special character without knowing its name.
Added "Show File in Finder/Windows Explorer" button to Notebook and Procedure info dialogs.
Added Trace Graph.pxp.
Added IgorThief.ipf.
Windows: Fixed a bug in GBLoadWave that prevented it from working with very large files (>2GB).
Windows: Fixed NewMovie failing if it had to display Save File dialog.
Macintosh: Fixed bug where using the open file dialog would later cause dialog wave lists to appear behind the dialog.
Updated help files. Igor 6.01B01 release included out-of-date help files.
Added MatrixOP Clip() function.
This section describes what is new in Igor Pro 6.10B01 relative to Igor Pro 6.04.
Igor Pro 6.1 can read files created by all earlier versions of Igor.
If you don't use features new in Igor Pro 6.1, then experiment files that it writes
are readable by earlier versions.
Once you use features added in Igor Pro 6.1 and save an experiment file, that file
may cause errors if you try to read it in an earlier version of Igor. Just in case you need to go back
to an earlier version of Igor, it is a good idea to make backup copies of all your Igor files now.
Some obsolete features of earlier versions of Igor Pro are no longer supported.
See Features Removed From Igor Pro 6.1.
Some behaviors have changed slightly in Igor Pro 6. These changes may affect some
existing Igor experiments. See Behavior Changes In Igor Pro 6.1 for details.
The obsolete PostScript PICT export format has been removed.
Here are the Igor Pro 6.1 improvements discussed in this file.
Behavior Changes In Igor Pro 6.1
Graphics Export Improvements 6.1
Procedure Window Improvements 6.1
Control Panel Improvements 6.1
Curve Fitting Improvements 6.1
Image Processing Improvements 6.1
Data Import And Export Improvements 6.1
Miscellaneous Improvements 6.1
Igor Pro now support long file names (up to 255 characters) on Macintosh as well
as Windows. Previously it was limited to 31-character file names on Macintosh. Most WaveMetrics XOPs
now also support long file names on Macintosh.
The following Igor Pro features will not work with long file names on Mac OS X because
Igor calls Apple routines that do not support long file names for these features:
If you are an XOP programmer and want to support long file names on Macintosh you
need to recompile your XOP with XOP Toolkit 5.09. As of August, 2008, XOP Toolkit 5.09 is not yet shipping.
Send a note to support@wavemetrics.com if you want to get a beta version.
The principal change in 6.1 is the use of more modern graphics code for drawing
graphs, tables and page layouts. On Macintosh this involves the radical change of using Apple's Quartz
routines rather than the ancient QuickDraw routines. On Windows just slightly more advanced code is used
with a small amount of GDI+ instead of GDI.
On Macintosh, the new code does not support exporting graphics in Apple's old PICT
format. If you need to export as PICT, you can make Igor use the old graphics code by executing this:
SetIgorOption UseOldGraphics=1
When this command is executed, all graphs and page layout windows are redrawn using
the old code.
You can also turn the old graphics code on if you have a problem with the new code.
In this case, please let us know why you needed to do that so we can address the problem.
New features related to the new graphics code:
Draw text, Draw Pictures and TextBox, Tag and Legend annotations can now be rotated
at arbitrary angles. Note: The rotation point for TextBox, Tag and Legend annotations is set by the equivalent
anchor point at the nearest multiple of 90 degrees.
Contour labels automatically use arbitrary rotation.
Dashed line drawing is improved.
Fill patterns as used by draw tools and graph fill modes can use a transparent background
to support overlap of different patterns. See Drawing Improvements 6.1 and Graphing Improvements 6.1.
There are 12 additional marker types and you can define your own markers. See Graphing Improvements 6.1.
Macintosh only:
Text and line drawing is antialiased.
PDF is now the native picture format and replaces the obsolete QuickDraw PICT format.
PDF pictures can be imported from files (using Misc->Pictures) or from the clipboard
(using Edit->Paste) and can be placed in graphs, page layouts and formatted notebooks.
EPS pictures placed in graphs and layouts are auto-converted to PDF on the fly and
consequently can be used without a postscript printer and are rendered on the screen in high resolution
with no need for a preview portion.
Graph axis mouse wheel support: Vertical wheel expands or contracts axis range.
Axis ends are scaled relatively more as mouse position is closer to the end. If the mouse is nearly at
the end of the axis, then only that end is scaled. Horizontal wheel shifts range up or down and does
not depend on mouse position. Both horizontal and vertical work by 20% increments. On Windows, horizontal
wheel support requires Vista.
Added mouse wheel support for cursor info panel. Hover over mover area to adjust
point index. Hover over name area to switch between traces; hold option (alt) to switch both cursors
between traces.
Change in behavior: Option (alt) drag in a graph now offsets only those axes that
overlap with the (original) mouse location.
Macintosh only: When in New Graphics mode, export modes that previously used QuickDraw
PICT format now use PDF instead and the names used in the mode popup menu of the export and save graphics
dialog have been changed to match. LoRes PDF replaces PICT, Quartz PDF replaces HiRes PICT and Igor PDF
replaces PDF. Note that LoRes PDF is not of much use and just fills the spot that PICT used to occupy.
In general, as long as your destination program supports PDF, you should always export as Quartz PDF.
(However, if you have a publisher that insists on CMYK, you will need to use Igor PDF.)
The Edit->Insert Text menu item is now Edit->Insert File. This change was
made because you can now insert the contents of a picture file into a formatted text notebook.
Macintosh only: When in New Graphics mode, export modes that previously used QuickDraw
PICT format now use PDF instead. See the /E flag for SavePICT. The only mode that still uses a QuickDraw
format is the bitmap PICT. Some older programs, for example Microsoft Office prior to 2008, may require
the old PICT format. In an emergency, you can cause Igor to revert to the old graphics using
SetIgorOption UseOldGraphics=1
In order to improve speed and responsiveness when editing large control panels,
various optimizations have been done involving the use of the tool pallet. These involve redrawing only
those items that need updating. If you discover any redraw problems such as droppings left behind as
an object is dragged around, please let us know how to reproduce it.
Added a server-friendly license activation option so that multi-user license holders
don't need to enter the license activation on every computer. You need administrator privileges to install
a "server license".
Igor now also loads extensions, procedures, and help files from a new "User
Files" folder, whose location guarantees write access by the user even if they don't have administrator
privileges:
Mac OS X: /Users/<user>/Library/Application Support/WaveMetrics/Igor
Pro 6 User Files/
Windows: <My Documents>\WaveMetrics\Igor Pro 6 User Files\
That folder and the standard Igor Pro Folder can be shown in the Finder/Windows
Explorer by selecting new items in Igor's Help Menu.
Tip: Holding down the shift key changes one Help menu item so that both
folders are opened at the same time, making it easy to drag shortcuts/aliases from the Igor Pro Folder
hierarchy into the appropriate User Files folders: Igor Extensions, Igor Help, Igor Procedures, and User
Procedures.
To avoid crashing, DoIgorMenu is no longer allowed to invoke the "New Experiment",
"Open Experiment", or "Revert Experiment" items in the "File" menu while
running in a function or macro (an error is returned). Use the Operation Queue, instead.
When Igor automatically looks through all files in a given folder, such as when
it opens help files in the Igor Help Files folder or procedure files in the Igor Procedures folder, it
now ignores files whose names start with dot. This is to avoid problems caused by Apple's annoying habit
of creating such files on non-HFS server volumes whenever you write a file to the volumes.
Got rid of the warning about high resolution taking a lot of memory when you export
a graphic from the Export Graphics dialog.
Procedure windows in independent modules will no longer appear in the Find Text
dialog unless IndependentModuleDev=1.
The DelayUpdate feature of page layouts is now a global setting instead of a per-document
setting. Previously the DelayUpdate setting was set individually for each document. It was not saved
so it reverted to the default state (on) whenever you recreated a page layout. Now it is set globally
for all layouts. When you change the DelayUpdate setting using the Misc icon in the page layout tool
palette, it is changed for all existing and future layouts instead of just the layout you set.
Macintosh: Temporary files created by Igor now end with ".noindex" to
prevent Spotlight from indexing them and interfering with the save process.
The Pictures dialog has been revamped and is now also used as subdialog to insert
pictures in axis labels or textboxes.
Change to Copy Proc Picture in Pictures dialog: No longer has side effect of converting
a picture type other than PNG or JPEG into PNG. If option key is pressed, can create Proc Picture using
the native format. But, this should be used carefully if at all since such formats are generally not
cross-platform.
Modify Axis dialog now shows fractions of seconds in the manual range limit boxes
in the Range tab. The behavior of the axis range settings when you have multiple axes selected has been
improved.
The Annotation dialog can adjust inter-line spacing with a new Line Spacing dialog
which inserts or edits the new \sb and \sa escape codes.
The Save Graphics and Export Graphics dialogs now remember your custom size settings
as preferences.
New Graph Dialog: Axis fields in the trace list (more options mode only) are now
menus. The space allocated to the various parts of the list is now controlled by draggable dividers in
the column titles.
Changed New Notebook dialog to use the entered name as the window name in addition
to using it as the file name (if the notebook is later saved to disk).
You can now use overlapping fill patterns were one or more is transparent. However
this does not work when exported on Windows as EMF or WMF. To use transparent patterns, use the new ModifyGraph
keyword patBkgColor. New graphics only.
You can now cause dashed lines to use round endcaps using the new ModifyGraph keyword
lOptions. New graphics only.
There are 12 additional marker types (number 51 through 62.) New graphics only.
You can now create custom markers. See the SetWindow keyword markerHook. New graphics
only.
You can now insert pictures in-line in fancy text (TextBoxes, axis labels etc.)
New graphics only. This is used to insert math expressions that would be hard to create using standard
Igor escape codes. See the \$PICT$ escape code for TextBox.
Axis labels can now be multi-line.
Free axes now used to calculate margins if they have a zero offset and all axes
on a given plot edge are used in the calculation. Also we now measure rather than estimate axis label
size in calculating margins. This is mainly for multi-line axis labels. In case the above causes problems,
can turn the new features off or on using:
Extended range of date/time for display (such as axis ticks and tables) and input.
Previously had been limited to 1904 to 2040. Now there is no practical limit except on Windows where
dates must be greater than Jan 1, 1601.
Added ModifyGraph useBarStrokeRGB=1 and barStrokeRGB=(r,g,b) to draw Histogram Bars
with an outline that is a different color than the fill color. Updated Modify Trace Appearance dialaog.
Added ModifyGraph zpatNum=zwave to vary the fill pattern for each point in Histogram
Bars and Fill To Zero mode. Updated Set as f(z) dialog.
Tags attached to traces can auto-rotate parallel or perpendicular to the attachment
point. Contour labels use this feature with new values for the ModifyContour labelHV keyword.
ModifyGraph zColor subtly changes the mapping of f(z) values to colors, similar
to the way Igor 6 now maps color table colors for images (see Image Plot Improvements ). This eliminates
the problem that only half of the first and last colors are used. Details follow:
Igor versions before 6.1 mapped the values to colors by rounding to the
nearest color table index:
which meant only half of the first and last colors were used.
In this example the fz wave supplies the z values, zmin is 3, zmax is 17,
and the dbZ14 color table has 14 colors, indexed from 0 to 13.
z values greater than zmax (greater than 17) are shown as white:
z values less than zmin (less than 3) are shown as black:
Notice that the first and last colors (cyan and magenta) are half the width
of the others:
Igor 6.1 maps the f(z) values to colors by truncating to the nearest color
table index:
which uses the first and last colors for as many values as the other colors:
For more about zColor, zColorMax and zColorMin, see Setting Trace Properties
from an Auxiliary (Z) Wave.
The old way can be re-instated by executing SetIgorOption preIgor6ColorScaling=1.
Allowed column widths in tables to be odd numbers of pixels since we no longer use
dotted lines for grid lines.
Changed the Show Column Info Tags feature to show tags when you hover over the name
area of a wave column as well as over the data area.
If you start to change the value of a cell in a table and then change the viewed
layer or chunk, the cell entry is accepted before the viewed layer or chunk is changed. Same if you start
to change the viewed dimensions while an entry is in progress.
SavePICT/W=(0,0,0,0) exports using a full page.
Improved PageLayout WYSIWYG for graph alignment.
The desktop region in page layout windows is now drawn as solid gray instead of
as a gray pattern.
Changed notebook object picture updating to be cross-platform. Previously, the Notebook
specialUpdate keyword could update pictures of graphs, tables and page layouts that were created from
windows in the current experiment but only on Macintosh and only for the Mac PICT format. This now works
on both Macintosh and Windows and for all supported clipboard formats. To create a picture that can update,
copy the window to the clipboard and paste into a formatted notebook. With the exception of Macintosh
PICTs, existing pictures in Notebooks do not have the information needed for the update and will need
to be regenerated. Backwards compatibility: Although these pictures in Notebooks will be visible when
passed back to Igor Pro 6.0, when Macintosh PICTs are updated, they will be converted to the new Macintosh
standard format, PDF. This is not supported prior to 6.1 and therefore these pictures will show up as
gray boxes.
The Notebook operation supports a writeProtect keyword to turn write-protect on
or off.
You can now embed notebook subwindows in panels. This is useful for both displaying
multiline text to the user and also for getting multiline text input. See Notebooks as Subwindows in
Control Panels and the Notebook in Panel example experiment. See the NewNotebook flag /HOST and the Notebook
keywords autoSave, zdata, zdataEnd, getData and setData and the flag /OPTS.
You can insert the contents of a picture file into a formatted text notebook. To
support this the Edit->Insert Text menu item is now Insert File.
The Notebook operation has an insertPicture keyword for programmatically inserting
the contents of a picture file into a formatted text notebook.
You can now save a picture in a notebook as a picture file. You must select one
picture and one picture only and then choose File->Save Graphics.
The Notebook operation has a savePicture keyword for programmatically saving the
contents of a notebook picture in a file.
You can open UTF-16 (two-byte Unicode) text files as plain text notebooks. Igor
does not recognize non-ASCII characters, but does ignore the byte-order mark at the start of the file
(BOM) and null bytes contained in UTF-16 text files. If you open a UTF-16 file and then save it from
Igor, it will be saved as plain ASCII, not UTF-16, and some information may be lost.
Relaxed plot size limits when exporting graphs using special plot size modes.
Font embedding for Igor PDF and EPS export now supports multibyte fonts (i.e., Japanese.)
Added support for underline text in Igor pdf export.
Macintosh only: Transparent PNGs created via SavePICT/TRAN=1 now use the full alpha
channel to support antialiasing and font smoothing. However, due to limitations of the OS, this does
not work well for smooth text under OS X 10.4 or Japanese 10.5. For these operating systems, you can
use /TRAN=2 to turn off the problematic font smoothing.
Increased the maximum number of help template characters that will be inserted in
a procedure file from 120 to 400.
You can open UTF-16 (two-byte Unicode) text files as procedure windows. Igor does
not recognize non-ASCII characters, but does ignore the byte-order mark at the start of the file (BOM)
and null bytes contained in UTF-16 text files. If you open a UTF-16 file and then save it from Igor,
it will be saved as plain ASCII, not UTF-16, and some information may be lost.
Draw patterns can be transparent using "magic" white background color
value of (65534,65534,65534). Does not work with emf or wmf export. Example:
Draw text can be mutli-line and use all the escape codes of TextBoxes.
New escape codes for textboxes to provide tweaks to line spacing. See the \sa and
\sb escape codes for TextBox.
ListBox disable=2 is now supported.
A SetVariable control can now be used without a global variable. See the _STR: and
_NUM: syntax for the value keyword. ControlInfo reads back the string from SetVariable when using new
_STR: mode.
You can now use ctrl-return to enter a carriage return in a string SetVariable.
A carriage return in a string SetVariable or a \r in a textbox now shows as a symbol representing a carriage
return.
SetVariable can now use fancy text if noedit=2.
ControlInfo for Button and CustomGaget controls now return tick count of last mouse
up in V_value. This can sometimes make it possible to use buttons without setting an execution proc.
The value expression for ValDisplay can now be _NUM:<numeric expression>.
This avoids the need to set a dependency on a global variable.
Added keyboard event (event 12) to the Listbox action. Sets the row member of the
WMListboxAction structure to the character code; use num2char to get a string for the character typed.
Also sets the eventMod member appropriately.
Added the clickEventModifiers keyword to the Listbox command to tell listbox controls
to ignore right clicks and clicks with modifier keys. That allows the listbox action procedure to receive
the mousedown and mouseup events for their own purposes, allowing a contextual menu to be put up by the
action procedure even on checkbox and editable cells.
Added the titleWave keyword to the Listbox command to specify column titles using
a text wave instead of the listwave dimension labels. This allows more than 31 characters in a column
title, which is especially useful with styled text.
You can now embed notebook subwindows in panels. This is useful for both displaying
multiline text to the user and also for getting multiline text input. See Notebooks as Subwindows in
Control Panels and the Notebook in Panel example experiment. See the NewNotebook flag /HOST and the Notebook
keywords autoSave, zdata, zdataEnd, getData and setData and the flag /OPTS.
Panel windows can now be the target of ShowInfo and HideInfo for use with any graph
subwindows. You must use an explicit name via the /W flag to target a panel window. Without the flag,
the top graph window will be the target.
Panel windows can now be used as progress indicator windows during long calculations.
See the DoUpdate /W and /E flags and the ValDisplay mode=4 setting. See Progress Windows for example
code.
You can now create a snapshot picture of a control panel. Use SavePICT/SNAP=1. Note
that scroll bars and the content of Notebook subwindows will not be captured.
Windows only: Changed the window coordinates for floating panels to be consistently
screen coordinates. Previously, NewPanel/FLT=1/W=(x0,y0,x1,y1) would use screen coordinates except the
y values were offset by 20. Previously, GetWindow's wsize keyword would return coordinates relative to
the MDI frame. Now they are screen coordinates but, for consistency, measured in Points, not pixels.
Previously, MoveWindow would offset a floating panel by 20 points.
Controls outside of a tab/groupbox frame but inside the enclosure are no longer
considered inside the tab/groupbox, so the control background is rendered correctly. (This affected only
controls positioned in the tab or groupbox title areas.)
Added /ODRT flag to CurveFit parameters (the flags at the end of the command). Sets
convergence tolerance for ODR fitting.
Added /TIME=secs flag to Loess operation to warn or abort if the calculation time
exceeds that number of seconds.
WaveCRC now returns a consistent value for the header CRC value that previously
changed when other waves were created or killed.
Loess properly aborts if the user presses command-period (Macintosh) or Ctrl+Break
(Windows).
Added new functions to MatrixOP: replace() and replaceNaNs().
Changed MatrixOP to return a matrix of NaN values when inverting a singular matrix.
Added /NAPR flag in StatsSRTest to allow the use of the normal approximation even
when the number of points is less than 150.
Changed some flags and added some new flags to CurveFit, FuncFit and FuncFitMD to
make it easier to write compiled (function) code with options. Before, flags had to be present or not
present which can't be compiled into a choice. Now some arguments have been added, and a new flag (/NWOK)
has been added to make it possible to compile choices.
Removed upper limit on V_FitMaxIters. See Special Variables for Curve Fitting.
ModifyImage plane now indexes through higher dimensions (chunks). For example if
an image has 4 planes and two chunks, plane= 4 would show plane 0 of chunk 1.
Added /DEST=destinationWave flag to ImageInterpolate.
ImageRegistration now supports the individual registration of layers in a 3D stack.
Dramatically speeded up loading of very long 1D text waves using LoadWave.
Changed LoadData operation so that it creates the variable V_flag and sets it to
the number of objects loaded, or to -1 if the user cancelled the open file dialog.
The GBLoadWave operation now supports very big files. See GBLoadWave and Very Big
Files for details.
The LoadWave operation can handle UTF-16 (two-byte Unicode) text files. It does
not recognize non-ASCII characters, but does ignore the byte-order mark at the start of the file (BOM)
and null bytes contained in UTF-16 text files.
PathInfo's new /SHOW flag opens the specified folder in the Finder (Macintosh) or
Windows Explorer (Windows).
Added a "Igor Pro User Files" option to SpecialDirPath.
In the SetFileFolderInfo /RO command on Macintosh, bit 1 has no effect. Use /RO=0
or /RO=1 but not /RO=2 or /RO=3.
The FSetPos and FStatus operations now support very big files (greater than 2GB).
FSetPos now supports setting the current position in files up to about 4.5E15 bytes. FStatus now supports
reporting the current file position (through V_filePos) and the total file size (through V_eof) for files
up to about 4.5E15 bytes.
The GBLoadWave operation now supports very big files. See GBLoadWave and Very Big
Files for details.
The Open operation, when used to display an Open File or Save File dialog, now supports
file name extensions longer than three characters via the new /F flag.
Increased maximum dimension in user defined Structures to 400 from 100 for all types
except STRUCT.
Made PauseForUser on Windows suppress clicks on most non-target windows.
Conditional ops (<, > etc) are now defined for complex. The imaginary part
is ignored on input and set to zero on output.
A killed wave in a WAVE reference now act like a NULL wave. This is to fix crashes
resulting from code like this:
ProcedureText can return all of the text in a specified procedure window.
WinRecreation can return file information (symbolic path, full path, file name)
for a specified procedure window.
It is now possible to attach user data to a graph trace. See ModifyGraph for Traces,
information on the userData keyword. Also see the GetUserData function.
Bit 2 omits hidden traces from the output of TraceNameList.
Added /N option to PopupContextualMenu to allow contextual menus using the standard
user-defined menu mechanism.
The Debugger has a new "Show Wave Scaling" menu item in the Waves in Current
or Root Data Folder popup menu.
The debugger optionally shows waves as a graph trace or image plot, with a limited
selection of appearance options available from a right-click contextual menu.
SQL XOP provides access to relational databases from IGOR procedures. It uses ODBC
(Open Database Connectivity) libraries and drivers on Mac OS X and Windows to provide this access. SQL
XOP (file name SQL.xop) was created by WaveMetrics in 2007. It is unrelated to SQLXOP (file name SQLXOP.xop)
which was created by Bruxton Corporation in the 1990's and which runs on Windows only.
Added the ExperimentModified operation.
Added the IgorVersion function.
Igor object picture information is now preserved when you copy a picture between
graphs, tables, layouts, notebooks and the picture gallery.
Added IgorExchange item to help menu. This leads to the <http://www.IgorExchange.com>
user-to-user support web site.
Modified ColorWaveEditor to take advantage of the new /N option for PopupContextualMenu.
Now you change the color by clicking on a row to bring up a contextual menu.
Added Select Points for Mask procedure package, an updated and improved version
of Data Mask for Fit. The name was changed to reflect the fact that it has wider applicability than just
making a mask wave for fitting. It is now available via the Graph->Packages menu.
The ODE Panel and FitODE procedure files have been updated to offer the latest IntegrateODE
options, and to modernize the GUI.
Macintosh: MLLoadWave is now universal (Intel as well as PowerPC). The old PPC-only
MLLoadWave_OSX XOP (in "More Extensions:File Loaders:PPC Extensions) has been removed from the distribution.
To use the new XOP, remove the old alias from Igor Extensions and activate the new MLLoadWave XOP by
adding its alias to Igor Extensions (preferably in the User Files folder opened from Igor's Help menu).
See the MLLoadWave Help file for details on Macintosh configuration requirements for MLLoadWave.
Routines in KillWaves.ipf have been updated to work with waves in all data folders.
The side effect of bringing windows to the front in order to remove waves from them has been removed.
Rewrote interactive code for draw/edit poly/wave. This was mainly to fix a hang
on Windows Vista but because it required a complete rewrite may also impact Macintosh.
Improved handing of hide/show of notebook and table subwindows.
Fixed Exists to look only for waves and variables if path is given
Fixed a bunch of memory leaks.
Windows only: Fixed a problem where the /W=winName flag can be very slow.
Windows only: Fixed a problem where creating controls in a floating panel can be
very slow.
Windows only: Fixed image colors when monitor is in 16 bit mode.
Windows only: Fixed Symbol font embedding using Igor PDF and EPS.
Intel Mac only: Fixed image export colors using Igor PDF and EPS.
Fixed crash resulting from a control procedure running after a failed compile of
an independent module.
Static fixed-name Functions (User-Defined Hook Functions) now work in independent
modules, as do functions supplied to SetIgorHook. See The IndependentModule Pragma.
Fixed the problem with native Titlebox control initially appearing with a too-small
frame surrounding it.
Macintosh: Previously if you dropped a folder on the Igor Pro icon, Igor reported
"the file or folder could not be found". Now it reports "Igor can not open a folder".
Windows: Fixed an obscure problem where you could run out of file reference numbers
if you did an Open/Close on multiple files more than 32000 times.
Windows: Fixed obscure bug that caused the Windows->Close menu item to lose its
command-key equivalent (Ctrl-W) on Windows if an XOP window was open.
Fixed a crash that happened during startup if the default Igor font was uninstalled
or disabled.
GetLastUserMenuInfo now correctly sets V_Value to marker number, not zero-based
menu item index.
It was possible to make a formatted text notebook or help file appear to be corrupted
by trying to open it as a procedure file using the Open or Load File dialog (press Shift while opening
the file by double-clicking or dragging onto the Igor icon). If this happened and you subsequently opened
the file without using the Open or Load File dialog, Igor would say that the file did not appear to be
a valid formatted text file. Now the Open or Load File dialog will not let you select the incorrrect
type when opening a formatted text file. If you have existing files in this condition, you can open them
using the correct type via the Open or Load File dialog.
Fixed MarcumQ to correctly handle the case where a=0.
New Features
Examples
Procedures
XOPs
Igor 6.10B02
Igor Application
Bugs Fixed
New Features
Igor 6.10B01
Version Compatibility
Features Removed From Igor Pro 6.1
Guide To Igor Pro 6.1 Improvements
Long File Names On Macintosh
FTPDownload
NewMovie
ImageSave when using QuickTime
ImageLoad when using QuickTime
CopyFile when running on OS X 10.3.9
CopyFolder when running on OS X 10.3.9
New Graphics
User-Interface Changes
Behavior Changes In Igor Pro 6.1
Dialog Improvements 6.1
Graphing Improvements 6.1
SetIgorOption NewAxisMargin= <val> // bit 0 to enable free axes if zero offset, bit 1 to measure axis label rather than estimate
index= round((z-zmin)/(zmax-zmin)*(numColors-1))
Make/O/N=300 yy=1, fz // yy = 1
SetScale/I x 0,20,"", yy fz
fz= x // fz = 0 to 20
Display yy; AppendToGraph/L=fzLeft fz
ModifyGraph zColor(yy)={fz,3,17,dBZ14}
ModifyGraph zColorMax(yy)=(65535,65535,65535)
ModifyGraph zColorMin(yy)=(0,0,0)
index= floor((z-zmin)/(zmax-zmin)*numColors)
Table Improvements 6.1
Page Layout Improvements 6.1
Notebook Improvements 6.1
Graphics Export Improvements 6.1
Procedure Window Improvements 6.1
Drawing Improvements 6.1
Display
SetDrawEnv fillpat= 5,fillfgc= (65535,0,0)
DrawRect 0.15,0.18,0.50,0.60
SetDrawEnv fillpat= 6,fillfgc= (0,0,65535),fillbgc= (65534,65534,65534)
DrawRect 0.34,0.12,0.64,0.70
Annotation Improvements 6.1
Control Improvements 6.1
Control Panel Improvements 6.1
Analysis Improvements 6.1
Statistics Improvements 6.1
Curve Fitting Improvements 6.1
Image Plot Improvements 6.1
Image Processing Improvements 6.1
Data Import And Export Improvements 6.1
File Command Improvements 6.1
Programming Improvements 6.1
WAVE awave
foo() // a function that kills awave
Display awave
New and Improved XOPs 6.1
Miscellaneous Improvements 6.1
New And Improved WaveMetrics Procedure Files 6.1
Bug Fixes 6.1