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 章 )。 ボタンは、デフォルトモードとアドバンスドモードを切り替えるために使用されます。
設定に加えた変更を適用するには、 Apply
ボタンまたは OK
ボタンを使用します。 OK
は変更を適用してダイアログを閉じますが、 Cancel
は変更を拒否してダイアログを閉じます。このダイアログボックスのオプションに加えられた変更は、すべてのセッションで保持されます。つまり、次回 paraview
を起動したときにも、前に選択したものと同じ設定が使用されます。デフォルトに戻すには、 Restore Defaults
ボタンを使用します。12.3 章 のように、設定ファイルを手動で編集することもできます。 さらに、12.3.1 章 で説明されているように、サイト管理者はこれらに対してサイト全体のデフォルトを提供することができます。
次に、重要なオプションのいくつかを見ていきます。アドバンスモードでのみ利用可能なオプションは、 のアイコンを使って表示されています。上級者向けのオプションは ボタンで切り替えるか、Search
ボックスで検索する必要があります。
12.1.1. 一般設定
General Options
Show Welcome Dialog
: このチェックを外すと、アプリケーション起動時にウェルカムスクリーンを表示しないようになります。効果を確認するには、paraview
を再起動する必要があります。Show Save State On Exit
: これをチェックすると、アプリケーションを終了するときに状態ファイルを保存するようにparaview
が指示されます。Crash Recovery
: これをチェックすると、可視化パイプラインに変更を加える際に、paraview
が断続的にバックアップ状態ファイルを保存します。何らかの理由でparaview
がクラッシュした場合、paraview
を再起動すると、クラッシュが起こる前に保存したバックアップ状態をロードするかどうかを選択することができるようになります。これは \(100\%\) 信頼できるものではありませんが、クラッシュによる可視化状態の喪失を避けるために有用と考えるユーザーもいるかもしれません。Force Single Column Menus
: 複数列のメニューをサポートするプラットフォームでは、すべてのメニュー項目を強制的に単一のスクロール可能な列に表示します。これは、低解像度の画面ですべてのメニュー項目を選択できるようにする場合に便利です。
GUI Font
Override Font
: このチェックボックスをオンにすると、ユーザーインタフェースにカスタムフォントサイズを使用します。これにより、システムのデフォルトのフォントサイズが上書きされます。Font Size
: UI要素に使用するフォントのサイズ。
View Options
Properties Panel Options
Auto Apply
: チェックが入っていると、Properties
パネルで変更した内容が、Apply
ボタンをクリックしなくても自動的に適用されます。同じ設定はMain Controls
ツールバーの ボタンでも切り替えることができます。Auto Apply Active Only
: これにより、自動適用はアクティブソース上のプロパティのみに制限されます。Properties Panel Mode
: これにより、 1.2 章 で説明されているように、Properties
パネルを分割して表示することができるようになります。
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
:paraview
がRender View
および同様のビューに表示するカラー凡例(またはスカラーバー)の管理方法を制御します。
Default Time Step
この設定は、タイムステップを持つデータセットが開かれるたびに、paraview
がアプリケーションによって表示される現在の時刻をどのように更新するかを制御します。Leave current time unchanged, if possible
、Go to first timestep
、Go to last timestep
から選択できます。Animation
Cache Geometry For Animation
: これはアニメーション再生時にジオメトリのキャッシュを有効にし、ループ内のアニメーション再生のスピードアップを図るものです。キャッシュを有効にすると、パイプラインが更新されていないため、Information
パネルなどで報告されるデータ範囲が不正確になる可能性があります。Animation Geometry Cache Limit
: アニメーションキャッシュが有効な場合、この設定は、任意のランクによってキャッシュされるジオメトリの量(キロバイト単位)を制御します。ランクのキャッシュサイズがこの制限に達するとすぐに、ParaView は残りのタイムステップをキャッシュしなくなります。Animation Time Notation
: 注釈ツールバーの時刻の表示表記を設定します。オプションは、Mixed
、Scientific
、およびFixed
です。Animation Time Precision
: アニメーションツールバーに表示される時間の桁数を設定します。
Maximum Number of Data Representation Labels
選択範囲がデータ属性によってラベル付けされている場合、これが使用するラベルの最大数になります。ラベル付けするポイント/セルの数がこの値を超える場合、この数のサブセットが代わりにラベル付けされます。オーバーラップするラベルが多すぎると判読できなくなるため、デフォルトでは100に設定されています。
12.1.2. Camera
設定
このタブでは、 Render View
および同様のビューでの対話方法を制御できます。基本的には、各マウスボタンとキーボード修飾子間のマッピングと、Rotate
、Pan
、Zoom
などの使用可能なインタラクションタイプを設定します。このダイアログボックスでは、インタラクションマッピングを3Dと2Dのインタラクションモード( 4.4.2.2 章 を参照)に別々に設定できます。
12.1.3. Render View
設定
Render View
タブで使用可能な各種オプションについては、7.12.1 章 および 7.12.4 章 を参照してください。
12.1.4. Color Palette
Color Palette
タブ( 図 12.3 )を使用すると、アクティブなカラーパレットの色を変更できます。このタブには、使用可能なカラーカテゴリ、 Surface
、 Foreground
、 Edges
、 Background
、 Text
、 Selection
が一覧表示されます。これらのカテゴリごとに使用する色を手動で設定したり、 Load Palette
オプションを使用して定義済みパレットの1つをロードすることができます。color palettes を理解するために、例を見てみましょう。
paraview
を起動してアクティブビューを分割し、2つの Render View
インスタンスを並べて作成します。paraview
を -dr
コマンドライン引数で起動して、現在の設定がこのデモに影響しないようにすることもできます。次に、左側のビューで Sphere
を Wireframe
として表示し、右側のビューで Cone
を Surface
として表示します。 また、 Cone
の Cube Axis
をオンにします。図 12.4 (左) のように表示されます。
次に、印刷用のイメージを生成するとします。通常、印刷では、背景色を白にし、ワイヤフレームと注釈を黒にします。そのためには、1つの方法として、各ビュー、表示、および立方体軸の各色を変更します。特に大規模なパイプラインでは、それがどれほど退屈になるか想像できるだろう。代替方法として、 Settings
ダイアログを使用して、図 12.3 に示すようにアクティブなカラーパレットを Print
に変更し、 OK
または Apply
をクリックします。 図 12.4 (右)のような表示に変わります。
基本的に、ParaView では、任意の色プロパティをいずれかの色分類項目に リンク できます。カラーパレットを変更すると、パレットカテゴリにリンクされている色プロパティも、カテゴリの色に合わせて自動的に更新されます。図 12.5 に、 Properties
パネルのカラーパレットカテゴリにカラープロパティをリンクする方法を示します。小さなドロップダウンメニューマーカーを使用して、カラーパレットのカテゴリを表示するメニューをポップアップ表示します。いずれか1つを選択して、そのプロパティをカテゴリにリンクします。ボタンをクリックして手動で色を変更すると、リンクが自動的に切断されます。
12.2. カスタムデフォルト設定
このセクションでは、ソース、リーダー、フィルタ、リプレゼンテーション、およびビューのプロパティのカスタムデフォルト設定を指定する方法について説明します。 これを使用すると、たとえば、新しいビューのデフォルトの背景色、グラデーション背景を使用するかどうか、球ソースの解像度、特定のファイル形式からロードするデータ配列、およびその他のほとんどすべてのオブジェクトプロパティのデフォルトの設定を指定できます。
すべての ParaView 実行可能ファイルで同じカスタムデフォルトが使用されます。これは、paraview
実行ファイルで指定されたカスタムデフォルトが pvpython
および pvbatch
のデフォルトとしても使用されることを意味します。これにより、paraview
を使用して可視化を設定したり、pvpython
または pvbatch
を使用して時系列データからアニメーションを生成したりすることが容易になります。
12.2.1. プロパティのデフォルトカスタマイズ
paraview
の Propertiesパネルには、 Properties
、 Display
、View
の3つのセクションがあります。各セクションには2つのボタンがあります。これらのボタンは、 図 12.6 で赤色で囲まれています。ディスクアイコンの付いたボタンは、 Apply
ボタンで適用されたセクションの現在のプロパティ値を保存するために使用します。 Apply
ボタンで変更されたが適用されていないプロパティ値は、カスタムデフォルト設定として保存されません。
円形の矢印(または再ロードアイコン)が付いたボタンは、オブジェクトのカスタムプロパティ設定を ParaView のアプリケーションのデフォルト値に戻すために使用します。現在のプロパティ設定をデフォルト値として保存すると、それらの値は、別の値に変更するかリセットするまで、以降デフォルト値として扱われます。保存されたデフォルト値は設定ファイルに書き込まれるため、ParaView を再度閉じて起動したときに使用できます。
リロードボタンをクリックすると、デフォルトのプロパティ値への変更を取り消すことができます。これにより、現在のビューのプロパティ値が paraview
のアプリケーションのデフォルト値にリセットされます。paraview
のデフォルト値を完全に復元するには、saveボタンをもう一度クリックする必要があります。そうしないと、復元されたデフォルト値は現在のオブジェクトにのみ適用され、そのオブジェクトの新しいインスタンスには、最後にsaveボタンをクリックしたときに保存されたカスタムデフォルト値が適用されます。
12.2.2. 例:カスタム背景色の指定
Render View
のデフォルトの背景色を変更するとします。これを行うには、 Properties
パネルの View
セクションまでスクロールし、現在の背景色を表示するコンボボックスをクリックします。新しい色を選択し、OK
をクリックします。次に、 View (Render View)
セクションのヘッダーまでスクロールし、ヘッダーの右にあるディスクボタンをクリックします。これにより、新しい背景色が新しいビューのデフォルトの背景色として保存されます。これを確認するには、3Dビューの上にあるタブの横の +
記号をクリックして、新しいレイアウトを作成します。 Render View
ボタンをクリックします。デフォルトとして保存したカスタムバックグラウンドカラーで、新しいレンダービューが作成されます。
12.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.3.1. サイト全体の設定の構成
ParaView では、個々の値の設定に加えて、ParaView インストールのサイト全体の値の設定を指定できます。これらのサイト全体の設定は、ユーザー設定ファイルと同じ構造の JSON ファイルで定義する必要があります。実際、サイト設定ファイルを作成する1つの方法は、paraview
で希望する設定をし、プログラムを閉じてから、ユーザー設定ファイルをサイト設定ファイルにコピーすることです。サイト設定ファイルの名前は、ParaView-SiteSettings.json
にする必要があります。
ParaView実行可能ファイルは、複数の場所でサイト設定ファイルを検索します。ParaView を INSTALL
ディレクトリにインストールした場合、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)
ここで、 X
は ParaView のメジャーバージョン番号、 Y
はマイナーバージョン番号です。ParaView 実行可能ファイルは、最初に見つかった ParaView-SiteSettings.json
ファイルを読み込み、指定された順序でこれらのディレクトリを検索します。この種の設定ファイルは、通常、share
ディレクトリ(最初に検索されたディレクトリ)に保存されるため、このディレクトリにサイト設定ファイルを配置することをお勧めします。
ユーザ設定ファイルは、サイト設定よりも優先されます。ユーザーのディレクトリ内の ParaView-SiteSettings.json
ファイルと ParaView-UserSettings.json
ファイルの両方に同じ設定が指定されている場合、ParaView-UserSettings.json
ファイルに指定されている設定が使用されます。これは、カスタムデフォルト設定と Edit > Settings メニューで設定されたアプリケーション設定の両方に当てはまります。
サイト設定ファイルの場所に関する問題をデバッグしやすくするために、 PV_SETTINGS_DEBUG
という名前の環境変数を空の文字列以外に定義できます。これにより、ParaView 実行可能ファイルがサイト設定ファイルを検索している場所を示す詳細出力が有効になります。
12.3.2. サーバーの設定
ParaView の設定に加えて、サーバー設定を使用して、 pvserver
、 pvdataserver
、 pvrenderserver
のコマンドラインオプションのデフォルト値を指定することができます。
サーバー設定ファイルは 12.3 章 で説明したユーザー設定と同じ場所にありますが、ファイル名は ParaViewServer-UserSettings.json
です。
- 以下の接続コマンドラインオプションのみ指定可能:
--connect-id
--hostname
--client-host
--reverse-connection
--timeout
--timeout-command
--timeout-command-interval
--bind-address
サーバー設定ファイルの書式は以下のようになります:
{
"cli-options" : {
"connection" : {
"connect-id" : 17,
"reverse-connection" : true,
"client-host" : "bailey"
}
}
}
設定名は、オプションの "long" バージョンで、先頭の2つのダッシュを除いたものである。
サーバー設定はファイル内で手動で設定するのみで、 ParaView アプリケーションから変更することはできません。
Did you know?
アプリケーション全体の設定ロジックはサーバーの設定にも有効で、 12.3.1 章 で指定された場所にある ParaViewServer-SiteSettings.json
も同じように使用されます。