Pythonスクリプトによるバッチ処理

ビルド済みバイナリとして配布されているParaViewには、スクリプト言語Pythonによるバッチ処理機能が組み込まれている。ParaViewでPythonを実行する場合、たとえば以下のような方法が用意されている。

  • Tools→Start Traceで操作内容をPythonスクリプトとして記録し、保存されたスクリプトを実行する。
  • File→Save Stateで現在の表示をPython state file(*.py)として保存し、保存されたスクリプトを実行する。
  • Tools→Python Shell上でPythonスクリプトを手入力する。
  • Python Calculator、Programmable Filter、Programmable Sourceなど、Pythonを併用するフィルタを適用する。

また、保存したスクリプトの実行方法も複数用意されている。

  • Tools→Python Shellの‘Run Script’ボタンから保存したスクリプトを読み込む。
  • Macros→Add new macroから保存したスクリプトを読み込み、ツールバーにボタンとして登録する。
  • pvpythonやpvbatchなど、ParaViewのバッチ処理版を利用する。

ParaViewのPythonインタフェースについては情報が乏しく、初めてスクリプトを作成する際のハードルが高い。自動保存されたスクリプトはいずれも内容が冗長であるため、通常はキーとなる操作のみをTrace機能で記録しておき、得られたスクリプトを手作業で修正する手順を踏むのが簡便である。

Trace機能はPythonスクリプトを自動生成するうえで便利ではあるが、一部記録に対応していない操作もあるので注意が必要である。たとえばバージョン3.14.1では、データの保存、Color Legend(Scalar Bar)の移動といった操作はTrace機能では記録されない。一方、Python state fileとして保存したスクリプトには現在の作業状態に関する情報がほぼすべて含まれるが、View周りの処理の干渉により、特に複数のViewを表示している場合はそのままRun Scriptできない場合も多い。

Pythonスクリプトは定型作業の自動化やバッチ処理を実現するばかりではなく、ループ処理やオブジェクト指向のコーディング手法を組み合わせることにより、手作業では不可能な高度な可視化処理も実現できる。日頃自動処理を必要としないParaViewユーザも、Pythonによる最低限の処理は理解しておくべきである。

タグ: , , , , , , , , , , , , , , , , , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*