12. ParaViewのカスタマイズ

ParaView は、ユーザーの好みやニーズに合わせてさまざまな方法でカスタマイズできます。カスタマイズオプションには、アプリケーションの一般的な動作の設定、フィルタ、表現、ビューに使用されるデフォルトのプロパティ値のカスタマイズ、paraview クライアントの機能のカスタマイズなどがあります。 この章では、ParaView をカスタマイズするさまざまな方法について説明します。

12.1. 設定

他の大きなアプリケーションと同様に、paraview はアプリケーションの動作の一部をカスタマイズするメカニズムを提供します。これらは application settings と呼ばれます。または単に settings です。このような設定は、Edit > Settings メニュー(MacOSでは ParaView > Preferences )からアクセスできる Settings ダイアログを使用して変更できます。1.2 章7.12.1 章7.12.4 章 など、このダイアログボックスの一部をすでに見てきました。本節では、このダイアログボックスで使用できるその他のオプションについて詳しく説明します。

Settings ダイアログはいくつかのタブに分かれています。 General タブには、その他の設定のほとんどがまとめられています。 Camera タブでは、 Render View および同様のビューのマウス操作マッピングを変更できます。 7.12.1 章 および 7.12.4 章 で説明した Render View タブには、 Render View および同様のビューのレンダリングに関するオプションがあります。 Color Palette タブは、アクティブなカラーパレットを変更するために使用します。

このダイアログの使い方は、Properties パネルとあまり変わりません。一番上には Search ボックスがあり、入力テキストにマッチするプロパティを検索することができます( 1.1.2 章 )。pqAdvanced ボタンは、デフォルトモードとアドバンスドモードを切り替えるために使用されます。

設定に加えた変更を適用するには、 Apply ボタンまたは OK ボタンを使用します。 OK は変更を適用してダイアログを閉じますが、 Cancel は変更を拒否してダイアログを閉じます。このダイアログボックスのオプションに加えられた変更は、すべてのセッションで保持されます。つまり、次回 paraview を起動したときにも、前に選択したものと同じ設定が使用されます。デフォルトに戻すには、 Restore Defaults ボタンを使用します。12.2.3 章 のように、設定ファイルを手動で編集することもできます。 さらに、12.2.4 章 で説明されているように、サイト管理者はこれらに対してサイト全体のデフォルトを提供することができます。

次に、重要なオプションのいくつかを見ていきます。アドバンスモードでのみ利用可能なオプションは、 pqAdvanced のアイコンを使って表示されています。上級者向けのオプションは pqAdvanced ボタンで切り替えるか、Search ボックスで検索する必要があります。

12.1.1. 一般設定

../_images/SettingsDialog.png

図 12.1 General 設定タブを表示する paraviewSettings ダイアログ

  • General Options

    • Show Welcome Dialog : このチェックを外すと、アプリケーション起動時にウェルカムスクリーンを表示しないようになります。効果を確認するには、paraview を再起動する必要があります。pqAdvanced

    • Show Save State On Exit : これをチェックすると、アプリケーションを終了するときに状態ファイルを保存するように paraview が指示されます。pqAdvanced

    • Crash Recovery : これをチェックすると、可視化パイプラインに変更を加える際に、paraview が断続的にバックアップ状態ファイルを保存します。何らかの理由で paraview がクラッシュした場合、paraview を再起動すると、クラッシュが起こる前に保存したバックアップ状態をロードするかどうかを選択することができるようになります。これは \(100\%\) 信頼できるものではありませんが、クラッシュによる可視化状態の喪失を避けるために有用と考えるユーザーもいるかもしれません。pqAdvanced

    • Force Single Column Menus : 複数列のメニューをサポートするプラットフォームでは、すべてのメニュー項目を強制的に単一のスクロール可能な列に表示します。これは、低解像度の画面ですべてのメニュー項目を選択できるようにする場合に便利です。

  • GUI Font

    • Override Font : このチェックボックスをオンにすると、ユーザーインタフェースにカスタムフォントサイズを使用します。これにより、システムのデフォルトのフォントサイズが上書きされます。

    • Font Size : UI要素に使用するフォントのサイズ。

  • View Options

    • Default View Type : paraview が起動すると、デフォルトで Render View が作成されます。このオプションを使用すると、デフォルトで作成される Render View の代わりに、作成されるビューの種類を変更することができます。デフォルトで何もビューを作成しない場合は、 None を選択することもできます。 pqAdvanced

  • Properties Panel Options

    • Auto Apply : チェックが入っていると、Properties パネルで変更した内容が、Apply ボタンをクリックしなくても自動的に適用されます。同じ設定は Main Controls ツールバーの pqAdvanced ボタンでも切り替えることができます。

    • Auto Apply Active Only : これにより、自動適用はアクティブソース上のプロパティのみに制限されます。 pqAdvanced

    • Properties Panel Mode : これにより、 1.2 章 で説明されているように、 Properties パネルを分割して表示することができるようになります。 pqAdvanced

  • Data Processing Options

    • Auto Convert Properties : 複数のフィルタが、点データ配列やセルデータ配列など、1つのタイプの配列に対してのみ機能します。このようなフィルタを使用する前に、 Point Data To Cell Data または Cell Data To Point Data フィルタを適用する必要があります。これらのフィルタを明示的に追加する必要がないようにするには、このチェックボックスをオンにします。このチェックボックスをオンにすると、ParaView は、セル配列をポイント配列に変換したり、ポイント配列をポイント配列に変換したり、マルチコンポーネント配列から1つのコンポーネントを抽出したりするなど、フィルタが必要とするデータ配列を自動的に変換します。

  • Color/Opacity Map Range Options

    • Transfer Function Reset Mode : この設定は、ParaView がカラーおよび不透明度マップの範囲をリセットする方法(または伝達関数)の初期設定を制御します。新しく作成したカラー/不透明度マップ( 3.2.2 章 )の Automatic Rescale Range Mode の初期値を設定します。この設定は、カラーマップの作成後に、カラーマップごとに変更できます。

    • Scalar Bar Mode : paraviewRender View および同様のビューに表示するカラー凡例(またはスカラーバー)の管理方法を制御します。

  • Default Time Step この設定は、タイムステップを持つデータセットが開かれるたびに、paraview がアプリケーションによって表示される現在の時刻をどのように更新するかを制御します。Leave current time unchanged, if possibleGo to first timestepGo to last timestep から選択できます。

  • Animation

    • Cache Geometry For Animation : これはアニメーション再生時にジオメトリのキャッシュを有効にし、ループ内のアニメーション再生のスピードアップを図るものです。キャッシュを有効にすると、パイプラインが更新されていないため、Information パネルなどで報告されるデータ範囲が不正確になる可能性があります。pqAdvanced

    • Animation Geometry Cache Limit : アニメーションキャッシュが有効な場合、この設定は、任意のランクによってキャッシュされるジオメトリの量(キロバイト単位)を制御します。ランクのキャッシュサイズがこの制限に達するとすぐに、ParaView は残りのタイムステップをキャッシュしなくなります。pqAdvanced

    • Animation Time Notation : 注釈ツールバーの時刻の表示表記を設定します。オプションは、 MixedScientific、および Fixed です。

    • Animation Time Precision : アニメーションツールバーに表示される時間の桁数を設定します。

  • Maximum Number of Data Representation Labels 選択範囲がデータ属性によってラベル付けされている場合、これが使用するラベルの最大数になります。ラベル付けするポイント/セルの数がこの値を超える場合、この数のサブセットが代わりにラベル付けされます。オーバーラップするラベルが多すぎると判読できなくなるため、デフォルトでは100に設定されています。

12.1.2. Camera 設定

../_images/SettingsDialogCamera.png

図 12.2 Camera 設定タブを表示する paraviewSettings ダイアログ

このタブでは、 Render View および同様のビューでの対話方法を制御できます。基本的には、各マウスボタンとキーボード修飾子間のマッピングと、RotatePanZoom などの使用可能なインタラクションタイプを設定します。このダイアログボックスでは、インタラクションマッピングを3Dと2Dのインタラクションモード( 4.4.2.2 章 を参照)に別々に設定できます。

12.1.3. Render View 設定

Render View タブで使用可能な各種オプションについては、7.12.1 章 および 7.12.4 章 を参照してください。

12.1.4. Color Palette

../_images/SettingsDialogColorPalette.png

図 12.3 Color Palette 設定タブを表示する paraviewSettings ダイアログ

Color Palette タブ( 図 12.3 )を使用すると、アクティブなカラーパレットの色を変更できます。このタブには、使用可能なカラーカテゴリ、 SurfaceForegroundEdgesBackgroundTextSelection が一覧表示されます。これらのカテゴリごとに使用する色を手動で設定したり、 Load Palette オプションを使用して定義済みパレットの1つをロードすることができます。color palettes を理解するために、例を見てみましょう。

paraview を起動してアクティブビューを分割し、2つの Render View インスタンスを並べて作成します。paraview-dr コマンドライン引数で起動して、現在の設定がこのデモに影響しないようにすることもできます。次に、左側のビューで SphereWireframe として表示し、右側のビューで ConeSurface として表示します。 また、 ConeCube Axis をオンにします。図 12.4 (左) のように表示されます。

../_images/ColorPaletteDemo1.png
../_images/ColorPaletteDemo2.png

図 12.4 Print カラーパレットをアクティブパレットとしてロードした場合の効果。左側はオリジナルの表示で、右側は Print パレットをロードした後の結果。

次に、印刷用のイメージを生成するとします。通常、印刷では、背景色を白にし、ワイヤフレームと注釈を黒にします。そのためには、1つの方法として、各ビュー、表示、および立方体軸の各色を変更します。特に大規模なパイプラインでは、それがどれほど退屈になるか想像できるだろう。代替方法として、 Settings ダイアログを使用して、図 12.3 に示すようにアクティブなカラーパレットを Print に変更し、 OK または Apply をクリックします。 図 12.4 (右)のような表示に変わります。

基本的に、ParaView では、任意の色プロパティをいずれかの色分類項目に リンク できます。カラーパレットを変更すると、パレットカテゴリにリンクされている色プロパティも、カテゴリの色に合わせて自動的に更新されます。図 12.5 に、 Properties パネルのカラーパレットカテゴリにカラープロパティをリンクする方法を示します。小さなドロップダウンメニューマーカーを使用して、カラーパレットのカテゴリを表示するメニューをポップアップ表示します。いずれか1つを選択して、そのプロパティをカテゴリにリンクします。ボタンをクリックして手動で色を変更すると、リンクが自動的に切断されます。

../_images/LinkToColorPalette.png

図 12.5 ポップアップメニューを使用すると、 Properties パネルのカラーパレットカテゴリにカラープロパティをリンクできます。

12.2. カスタムデフォルト設定

このセクションでは、ソース、リーダー、フィルタ、リプレゼンテーション、およびビューのプロパティのカスタムデフォルト設定を指定する方法について説明します。 これを使用すると、たとえば、新しいビューのデフォルトの背景色、グラデーション背景を使用するかどうか、球ソースの解像度、特定のファイル形式からロードするデータ配列、およびその他のほとんどすべてのオブジェクトプロパティのデフォルトの設定を指定できます。

すべての ParaView 実行可能ファイルで同じカスタムデフォルトが使用されます。これは、paraview 実行ファイルで指定されたカスタムデフォルトが pvpython および pvbatch のデフォルトとしても使用されることを意味します。これにより、paraview を使用して可視化を設定したり、pvpython または pvbatch を使用して時系列データからアニメーションを生成したりすることが容易になります。

12.2.1. プロパティのデフォルトカスタマイズ

paraview の Propertiesパネルには、 PropertiesDisplayView の3つのセクションがあります。各セクションには2つのボタンがあります。これらのボタンは、 図 12.6 で赤色で囲まれています。ディスクアイコンの付いたボタンは、 Apply ボタンで適用されたセクションの現在のプロパティ値を保存するために使用します。 Apply ボタンで変更されたが適用されていないプロパティ値は、カスタムデフォルト設定として保存されません。

円形の矢印(または再ロードアイコン)が付いたボタンは、オブジェクトのカスタムプロパティ設定を ParaView のアプリケーションのデフォルト値に戻すために使用します。現在のプロパティ設定をデフォルト値として保存すると、それらの値は、別の値に変更するかリセットするまで、以降デフォルト値として扱われます。保存されたデフォルト値は設定ファイルに書き込まれるため、ParaView を再度閉じて起動したときに使用できます。

../_images/SaveRestoreSettingsButtons.png

図 12.6 Properties パネルでデフォルトのプロパティ値を保存および復元するためのボタン

リロードボタンをクリックすると、デフォルトのプロパティ値への変更を取り消すことができます。これにより、現在のビューのプロパティ値が paraview のアプリケーションのデフォルト値にリセットされます。paraview のデフォルト値を完全に復元するには、saveボタンをもう一度クリックする必要があります。そうしないと、復元されたデフォルト値は現在のオブジェクトにのみ適用され、そのオブジェクトの新しいインスタンスには、最後にsaveボタンをクリックしたときに保存されたカスタムデフォルト値が適用されます。

12.2.2. 例:カスタム背景色の指定

Render View のデフォルトの背景色を変更するとします。これを行うには、 Properties パネルの View セクションまでスクロールし、現在の背景色を表示するコンボボックスをクリックします。新しい色を選択し、OK をクリックします。次に、 View (Render View) セクションのヘッダーまでスクロールし、ヘッダーの右にあるディスクボタンをクリックします。これにより、新しい背景色が新しいビューのデフォルトの背景色として保存されます。これを確認するには、3Dビューの上にあるタブの横の + 記号をクリックして、新しいレイアウトを作成します。 Render View ボタンをクリックします。デフォルトとして保存したカスタムバックグラウンドカラーで、新しいレンダービューが作成されます。

12.2.3. JSONを使用したデフォルト設定の構成

カスタムのデフォルト設定は JSON 形式のテキストファイルに保存されます。paraview のユーザインタフェースを使用してほとんどのデフォルト値を設定することをお勧めしますが、JSON 設定ファイルを直接編集して設定することもできます。手動で編集する前に、設定ファイルのバックアップコピーを作成しておくことをお勧めします。

ParaView 実行可能ファイルは、ParaView-UserSettings.json という名前のファイルとの間で読み書きが行われます。これは、コンピューターのホームディレクトリにあります。Windowsの場合、このファイルは %APPDATA%/ParaView/ParaView-UserSettings.json にあります。ここで、 APPDATA 環境変数は通常 C:/Users/USERNAME/AppData/Roaming のようなものです。ここで、USERNAME はログイン名です。Unixライクなシステムでは、~/.config/ParaView/ParaView-UserSettings.json です。このファイルは、ユーザーインタフェースを使用して paraview 実行ファイルでデフォルト設定を変更した場合に作成されます。これらのデフォルトの設定は、以降のバージョンの ParaView で使用できます。

カスタムのデフォルト設定を指定するファイルの簡単な例を次に示します。

{
  "sources" : {
    "SphereSource" : {
      "Radius" : 3.5,
      "ThetaResolution" : 32
    },
    "CylinderSource" : {
      "Radius" : 2
    }
  },
  "views" : {
    "RenderView" : {
      "Background" : [0.0, 0.0, 0.0]
    }
  }
}

ファイルの階層構造に注意してください。階層の最初のレベルは、設定を指定するオブジェクトが参照するグループを指定します(この例では "sources")。2番目のレベルでは、設定を指定するオブジェクトに名前を付けます。最後に、3番目のレベルでは、独自のデフォルトの設定を指定します。デフォルト値はリテラル(定数)、文字列、または配列(角括弧で囲まれたコンマ区切りリテラルで表される)に設定できることに注意してください。

グループとオブジェクトの名前は、ディレクトリ ParaView/ParaViewCore/ServerManager SMApplication/Resources (Windowsでは ParaView\ParaViewCore\ServerManager\SMApplication\Resources)内の ParaView ソースコード内のXMLプロキシ定義ファイルから取得されます。グループ名は、 ProxyGroup 要素の name 属性で定義されます。オブジェクト名は、 Proxy 要素の name 属性から取得します(または vtkSMProxy サブクラスの要素)。プロパティ名は、オブジェクトの *Property XML要素の name 属性から取得されます。

Did you know?

Edit > Settings メニューの paraview で使用できるアプリケーション全体の設定も、このユーザ設定ファイルに保存されます。そのため、アプリケーションの設定を変更した場合、"settings"という名前のグループの下にいくつかのエントリが表示されます。

12.2.4. サイト全体のデフォルト設定の構成

ParaView では、個々のカスタムデフォルト値の設定に加えて、ParaView インストールのサイト全体のカスタムデフォルト値の設定を指定できます。これらのサイト全体のカスタムデフォルトは、ユーザー設定ファイルと同じ構造の JSON ファイルで定義する必要があります。実際、サイト設定ファイルを作成する1つの方法は、paraview で希望するカスタムデフォルト値を設定し、プログラムを閉じてから、ユーザー設定ファイルをサイト設定ファイルにコピーすることです。サイト設定ファイルの名前は、ParaView-SiteSettings.json にする必要があります。

ParaView実行可能ファイルは、複数の場所でサイト設定ファイルを検索します。ParaViewINSTALL ディレクトリにインストールした場合、ParaView 実行可能プログラムは、次のディレクトリ内のサイト設定ファイルを指定された順序で検索します。

  • INSTALL/share/paraview-X.Y ( INSTALLshareparaview-X.Y in Windows systems)

  • INSTALL/lib (INSTALLlib in Windows systems)

  • INSTALL

  • INSTALL/.. (INSTALL/lib in Windows systems)

ここで、 XParaView のメジャーバージョン番号、 Y はマイナーバージョン番号です。ParaView 実行可能ファイルは、最初に見つかった ParaView-SiteSettings.json ファイルを読み込み、指定された順序でこれらのディレクトリを検索します。この種の設定ファイルは、通常、share ディレクトリ(最初に検索されたディレクトリ)に保存されるため、このディレクトリにサイト設定ファイルを配置することをお勧めします。

ユーザ設定ファイルのカスタムデフォルトは、サイト設定のカスタムデフォルトよりも優先されます。ユーザーのディレクトリ内の ParaView-SiteSettings.json ファイルと ParaView-UserSettings.json ファイルの両方に同じデフォルトが指定されている場合、ParaView-UserSettings.json ファイルに指定されているデフォルトが使用されます。これは、オブジェクトプロパティ設定と Edit > Settings メニューで設定されたアプリケーション設定の両方に当てはまります。

サイト設定ファイルの場所に関する問題をデバッグしやすくするために、 PV_SETTINGS_DEBUG という名前の環境変数を空の文字列以外に定義できます。これにより、ParaView 実行可能ファイルがサイト設定ファイルを検索している場所を示す詳細出力が有効になります。