Igor Pro 10.01 リリース

Igor Pro 10 の新しいバージョンがリリースされました。今回のリリースにおける主な変更点は以下の通りです。Igor Pro 10 の最新リリースを入手するには、ダウンロードページからインストーラーをダウンロード、または Igor Pro のメニュー Help→Updates を選択してください。弊社に問題を報告いただき、それが修正済みである旨をお伝えしている場合、たとえ以下に記載されていなくても、その修正は今回のリリースに含まれています。

Igor Pro 10.01 の主な変更

IGOR アプリケーション

NEW FEATURES

  • ユーザーインターフェイスのドイツ語翻訳(メニュー、ダイアログなど。ただし、ドキュメントは除く)を追加しました。翻訳には AI を使用した(一部は人間による校正を行っています)ため、誤りがある可能性があります。Miscellaneous Settings ダイアログ(Misc メニューの Miscellaneous Settings)を開き、Environment カテゴリを選択して言語を設定してください。インストールしたマシンの OS の言語設定がドイツ語の場合、Igor Pro は起動時にドイツ語を使用するかどうかを確認します。Igor Pro はこの選択内容を記憶します。

    他の言語についても、同様のプロセスを採用する可能性があります。翻訳にご協力いただける方は、詳細についてはhttps://www.wavemetrics.com/forum/general/help-us-translate-igor-pro の投稿をご覧ください。
  • Igor Pro のドキュメント(英語)がオンラインで参照できるようになりました:https://docs.wavemetrics.com.
  • PlaySound コマンドを完全に書き直し、キューに登録されたサウンドの途切れのない再生を実現しました。非同期で再生中のサウンドをすべて停止するための /STOP フラグを追加しました。
  • Python 3.14 をサポートするようになりました。

    注記:現在、Python 3.14 への対応は、Python 3.14 の「標準」インストールに限定されており、フリースレッド処理版は対象外です。
  • Python 用の igorpro.fn サブモジュールを追加しました。このサブモジュールを使用すると、組み込み関数、外部関数、およびユーザー定義の Igor Pro 関数を直接呼び出し、それらの関数から値を返すことができます。

    例えば、Igor Pro の組み込み関数 SortList を呼び出すには、次のように記述します:

    # Descending sort. 'sorted' will hold: 'a;c;d;e;g;x;'
    sorted = igorpro.fn.sortlist('x;c;e;g;d;a', ';', 1)
    

     

    igorpro.fn は、Igor Pro 関数から実数、複素数、文字列、ウェーブ参照、データフォルダー参照を返すことをサポートしています。

  • Igor64.exe のコマンドライン引数 /START=3 を使用すると、起動情報が標準出力(stdout)に表示されるようになりました。Igor Pro を何らかの自動化されたプロセスで実行している場合、これは役立つことがあります。
  • MatrixOP /KCLS フラグが拡張され、3次元に対応するようになりました。
  • 一括処理によるスレッドセーフなカーブフィッティングのパフォーマンスを約 50% 向上させました。未摂動モデルの計算は、並列マルチスレッドループ内で実行されるようになりました。
  • ImageTransform の padImage に /CPAD フラグを追加しました。これにより、画像の周囲を、エッジデータをミラーリングさせるか、最後のピクセル値を繰り返し表示させるかのいずれかで対称的にパディングできるようになりました。
  • Igor Pro の 3D グラフ作成ツール「Gizmo」は、Gizmo ウィンドウが非表示になっている場合でも、エクスポートされたグラフィックやページレイアウト画像のレンダリングに対応するようになりました。これまでは、Gizmo のページレイアウトオブジェクトでは、「Cannot draw a hidden Gizmo」というメッセージが表示された空白のボックスが表示されていました。Gizmoの詳細については、Gizmo Overview を参照してください。

挙動の変更

  • DisplayAppendToGraphReplaceWave コマンドで使用される _labels_ キーワードは、Igor Pro の各言語のローカライズ版では翻訳されなくなりました。これまで、Igor Pro の日本語版では、このキーワードは _ラベル_ と訳されており、これはエクスペリメントやプロシージャを他の言語版で共有したときにエラーを発生していました。このバージョンでは、言語に関わらず、コマンドは常に _labels_ を使います。後方互換性を確保するため、Igor Pro はコマンドの解析時には _ラベル_ を依然として受け付けますが、コマンドの作成時には常に _labels_ を生成します。

    注記:Igor Pro 10.01 以降で作成され、_labels_ というキーワードを使用しているエクスペリメントファイルやプロシージャファイルは、日本語版の Igor Pro 8 から 10.00 で開くとエラーが発生します。これは、これらのバージョンでは翻訳された _ラベル_ というキーワードしか認識されないためです。エクスペリメントファイルを開くと、失敗したコマンドを編集できるダイアログが表示されます。エラーを解決するには、_labels__ラベル_ に置き換えてください。
  • IntegrateODE コマンドの入力に対するエラーチェックが改善されました。これには、数値入力の範囲が適切かどうかを確認すること、NaNInf の値を許可しないこと、ウェーブが欠落していないか、またはウェーブのタイプやサイズが正しくないかを確認することが含まれます。これにより、正常に動作しているコードでエラーが発生する可能性がありますが、もしエラーとして検出されていたとしても、そのエラーはデバッグが困難な不正な動作を引き起こしていたでしょう。
  • Bitwise コマンド (|, &, ~, %^) は、オペランドを切り捨てて符号なし整数に変換することはなくなりました。これによって、オペランドが符号付き整数に変換されるようになり、符号付きオペランドでも期待通りの結果が得られるようになります。
  • #pragma independentModule=ProcGlobal は、コンパイルエラーとなるようになりました。これは本来有効な記述ではありませんでしたが、以前は黙認されていました。
  • 初期化の前に Python のバージョンを確認し、サポートされていないバージョンである場合は明確なエラーメッセージを表示するようになりました。
  • HDF5SaveGroup は、データフォルダーに多数のウェーブデータが含まれている場合に、より効率的にウェーブデータを保存するようになりました。これは、パックされた HDF5 エクスペリメントの保存にも適用されます。

バグフィックス

  • Text Marker ダイアログにおいて、テキストのアンカーポイントウィジェットと生成されたコマンド内のアンカーポイントに不一致が生じるバグを修正しました。
  • ノートブックとヘルプファイルにおける EMF 画像の表示を改善しました。
  • コントロールの位置とサイズが、浮動小数点を受け付けるようになりました。
  • コントロールパネルの拡大率が 100% の倍数でない場合、コントロールの配置やサイズがより正確になりました。
  • フィッティング関数として XOP を使うことができるようになりました。以前は、スレッドセーフでない外部フィッティング関数を使用してフィッティングを行うと、特異行列エラーが発生していました。この問題は修正されました。スレッドセーフな外部フィッティング関数はこのバグの影響を受けず、引き続き正常に実行されます。
  • 印刷時にレイアウトのサイズや位置が正しくない不具合を修正しました。
  • グラフサブウィンドウ内で最初にクリックした後、そのグラフサブウィンドウを含むウィンドウの別の領域に素早くクリックして押したままにすると、グラフサブウィンドウにトレースドラッグが誤って起動してしまうバグを修正しました。
  • Resize イベントに対してウィンドウフック関数が過剰に呼び出されるバグを修正しました。
  • FindPeak コマンドにおいて、100 万データポイントを超えるウェーブからピークを検出する時にクラッシュが発生するバグを修正しました。この修正により、クラッシュが防止されるだけでなく、こうした大規模なウェーブにおけるパフォーマンスが最大 40 倍向上します。
  • 軸座標を使用するグラフ描画オブジェクトの描画が行われないことがあるバグを修正しました。
  • サブウィンドウがアクティブになっている時に、レイアウトガイドのドラッグ操作が誤って制限されてしまうバグを修正しました。
  • グラフウィンドウの Edit Wave モード中にウェーブを削除した時に発生する可能性があったクラッシュを修正しました。
  • Select Color ダイアログ(カラーピッカーの「Other...」ボタンをクリックすると表示される画面)で追加したカスタムカラーが、Igor Pro のセッション間で保存、復元されないという不具合を修正しました。
  • Python のコード補完の結果がソートされないという不具合を修正しました。
  • Python のブール値のコレクション(リスト、配列、タプル)を Igor Pro に返すことができなかったバグを修正しました。
  • Python の import が現在の作業ディレクトリ内のモジュールを見つけられないというバグを修正しました。
  • Python メニューから Open Console を選択しても、Python コンソールウィンドウが表示されず、エラーが発生していた不具合を修正しました。
  • マルチモニター環境における Python コンソールのドッキングとアンドッキング時の座標に関する問題を修正しました。
  • モジュール修飾関数(例:myModule#funcName)に対して、コード補完のポップアップに候補が表示されないという不具合を修正しました。また、個々のモジュール内での機能の可用性を向上させ、現在のファイルだけでなく、モジュール全体の名前空間にある機能を利用できるようにしました。
  • ImageRegistration における、スタック処理時にメモリの問題を引き起こしていたバグを修正しました。
  • 特定の次元構成において、/KCLS フラグに関連する WaveStats のクラッシュと MatrixOP でのウェーブの生成エラーを修正しました。
  • ImageEdgeDetection の境界処理におけるバグを修正しました。
  •  
  • Fixed a bug in DuplicateDataFolder that could corrupt a pre-existing local string variable when it shared an internal pointer with a global string being overwritten.
  • Fixed a bug where MoveWave incorrectly cleared the contents of wave-reference waves when moving free waves through a free data folder.
  • Fixed a bug where ReorderTraces with an invalid trace name could delete traces from the graph before reporting the error.
  • Fixed a bug in the ReorderTraces and ReorderImages dialog that caused it to fail when the same wave appeared in a graph more than once.
  • Fixed a bug where IntegrateODE programmed stop (derivative function returning 1) did not take effect immediately and could delay for a long time with small internal step sizes.
  • Fixed a bug in IntegrateODE using the BDF method where an error weighting wave could cause incorrect results or errors due to uninitialized memory.
  • Fixed a bug where string functions such as TrimString truncated strings at embedded null bytes instead of preserving the full string content.
  • Fixed a bug where RemoveFromTable incorrectly applied column type restrictions that should only apply to AppendToTable.
  • Fixed a crash when dragging a subwindow resize handle.
  • Fixed a crash when using the graph contextual menu in certain configurations.
  • Fixed a potential crash when XOP functions use structs with threadsafe pointers. Also fixed incorrect complex return values from external functions used by SumSeries.
  • Fixed a potential crash when checking structs for external curve fitting functions.
  • Fixed a crash during mouse release on exterior subwindows when the window is destroyed during event handling.
  • Fixed a bug where tags attached to hidden traces or images were not hidden.
  • Fixed Gizmo axis labels being clipped at the top.
  • Fixed a bug where Gizmo surface objects with NaN-containing matrix waves did not draw when using constant color.
  • Fixed a bug where free axes positioned relative to perpendicular axes did not reserve room for axis labels during graph recreation.
  • Fixed a bug where column grid lines in table subwindows within layouts were not drawing correctly at certain display scalings.
  • Fixed a bug where table subwindow column widths shifted incorrectly during resolution changes in layouts.
  • Fixed a bug where table subwindows in layouts were continuously repainting, causing excessive drawing and performance issues.
  • Fixed a bug where right-clicking a table subwindow did not activate it before showing the contextual menu.
  • Fixed several issues with Find (Ctrl+F), Replace (Ctrl+R), and Go To Line (Ctrl+G) keyboard shortcuts in procedure windows, the command window, and plain text edit fields. The cursor now correctly focuses on the appropriate text field when switching between Find and Replace modes.
  • Fixed a bug where the STFT dialog "From Target" toggle did not work correctly.
  • Fixed a bug where 8-bit AIFF and AIFC audio files were loaded with corrupted (unsigned instead of signed) sample data.
  • Fixed a bug where DoIgorMenu did not update associated graphs while a dialog was open.
  • Fixed duplicate ruler IDs in notebooks that caused rulers to switch unexpectedly when adjusted.
  • Fixed a bug where the compiler gave a confusing error instead of "Expected a wave reference" in certain scenarios.
  • Fixed inconsistent error messages in ControlBar between compiled and interpreted code paths.
  • CurveFit now accepts wave subranges when using an X wave. Previously, subranges were rejected even when the subrange size matched the X wave size. This has been a bug for decades.
  • Fixed a bug where dashed lines with NaN coordinates could cause rendering issues.
  • Fixed a bug in the area function where the trapezoidal end-point correction was discarded, producing incorrect results. The faverage function was also affected.
  • Fixed bugs in MatrixOP crossCovar and binVar. crossCovar was squaring the wrong input's data, and binVar was summing deviations instead of squared deviations.
  • Fixed a crash in ConvexHull.
  • Fixed a problem that caused incorrect rendering when exporting a cropped multipage layout as PDF. Previously the first page was rendered correctly but the rest of the pages might have been rendered with the wrong aspect ratio and/or bounding box.

PROCEDURES

  • IFDL.ipf - Resized the IFDL panel to show entire title.

EXAMPLES

  • All Controls Demo.pxp - Modernized for Igor 10.
  • Resize Panel and List Demo.pxp - explains 3 different ways to resize controls in a panel:
    1. custom window hook
    2. generalized window hook with ResizeControls.ipf
    3. user guides introduced in Igor 10

Forum

Support

Gallery

Igor Pro 10

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More