6. データの選択

一般的な視覚化プロセスには、可視化シーンの設定と、結果の解析を実行して洞察を得るという2つのコンポーネントがあります。このプロセスが反復的であることは珍しくありません。多くの場合、入力データセットから関連情報を抽出するために使用する必要のあるフィルタからドライブを検索し、そのデータを最も適切に表すビューを選択します。結果を評価する方法の1つは、対象となる要素を特定することによってデータを検査するか、調査することです。ParaView のデータ選択メカニズムは、このようなユースケース専用に設計されています。この章では、ParaView でデータを選択し、これらの選択をデータ分析に利用するさまざまな方法について詳しく説明します。

6.1. 選択機能について

大まかに言うと、選択機能(セレクション、selection)とはデータセットから要素(セル、点、表形式データセットの場合は行など)を選択することです。データはリーダーまたはソースを使用して ParaView に取り込まれ、フィルタを使用して変換されるため、選択部分を作成するときは、ソース、フィルタ、またはそのようなパイプラインモジュールの出力として生成されたデータセットから要素を選択します。

選択部分を作成する方法は多数あります。いくつかのビューでは、特定の選択部分を作成できます。たとえば、データ属性をスプレッドシートとして表示する SpreadSheet View では、任意の行をクリックするだけでその行を 選択 できます。もちろん、通常のスプレッドシートベースのアプリケーションのように、 キーと CTRL (または )キーを使用して複数の行を選択することもできます。

これは無駄な作業のように見えますが、スプレッドシートの行を強調表示しても、ほとんど何も達成できません。これを重要なツールに変えているのは、選択部分がビュー間で リンクされる という事実です(可能な限り)。リンクされた選択とは、特定のビューのデータセットから要素を選択することを意味します。 同じ データセットを表示している他のすべてのビューでも、選択した要素がハイライト表示されます。

../_images/UnderstandingLinkedSelections.png

図 6.1 ビュー間でリンク選択を行うと、ビュー内の要素を選択して、選択したデータを表示する他のすべてのビューに表示できます。このデモでは、 SpreadSheet View の行を選択すると、 3D View の対応する点がハイライト表示されます。

これを簡単にするために、簡単なデモを試してみましょう。:

新規の paraview セッションから始めて、Sources > Wavelet メニューを使用してサンプルデータセットを作成し、 Apply ボタンをクリックします。デフォルト設定で paraview を使用する場合、データセットのアウトラインがデフォルトの Render View に表示されます。次に、ビューを分割して SpreadSheet View を作成します。 SpreadSheet View には、 Wavelet ソースで生成されたデータが自動的に表示されます。 SpreadSheet View のヘッダーを詳しく調べると、データセットに関連付けられた Point Data または点属性がビューに表示されていることがわかります。 これで、同じデータセット、つまり Wavelet ソースによって生成されたデータが2つのビューに表示されました。次に、 SpreadSheet View の行をクリックしてハイライト表示します。行の選択を開始するとすぐに、 Render View はスペース内のいくつかの点を小さなマジェンタ色の点としてハイライト表示し始めます ( 図 6.1 )。 これは、リンクされた選択の動作です。何が起こっているのかというと、 SpreadSheet View で行をハイライト表示すると、その行に対応する点(ビューに Point Data )を選択するための選択範囲が作成されます。ビュー間の選択項目のリンクにより、データセット(この場合、 Render View )を表示している他のビューでも、選択した点がハイライト表示されます。

もちろん、点ではなくセルを選択する場合は、 Attribute コンボボックスを Cell Data にフリップして SpreadSheet View をセルの表示に切り替えてから、行をハイライト表示します。 Render View は、選択したセルを点ではなくワイヤフレームとして表示します。

逆に、 Render View で選択項目を作成すると、 SpreadSheet View で選択したエレメントもハイライト表示されます。このような選択を作成する方法については、この章の後半で説明します。

最初の注意点は、新しい選択部分を作成すると、既存の選択部分がクリアされることです。したがって、アプリケーション内には、任意の時点で最大1つのアクティブな選択部分があります。後に述べるように、いくつかの見解は既存の選択部分を拡張する方法を提供します。

2番目の注意点は、選択部分は一時的( transient )であることです。つまり、元に戻す/やり直したり、状態ファイルに保存してロードバックしたりすることはできません。また、フィルタやその他の変換を選択部分自体に適用することもできません。ただし、事前に定義された選択部分を使用してデータセットをサブセット化し、抽出されたサブセットにフィルタやその他の分析を適用する場合もあります。そのために、 Extract SelectionPlot Selection Over Time というフィルタを使用して、でアクティブな選択部分をフィルタパラメータとして取得し、選択した要素で構成される新しいデータセットを作成できます。

3番目の注意点は、選択部分のタイプが異なることです。例えば、idベースの選択では、選択された要素はインデックスで識別されます。例えば、錐台状の選択 (3D空間で定義された錐台と交差する要素を選択)やクエリー・ベースの選択(選択された要素は、指定されたクエリー文字列に一致する要素)など。

6.2. ビューを使用した選択部分を作成する

ビューは、対話形式で選択を作成するための便利なメカニズムです。 Render View のようなビューでは複数のタイプの選択部分を作成できますが(点とセルを選択するためのIDまたは錐台状の選択部分)、 SpreadSheet ViewLine Chart View のようなビューでは1つのタイプ(点またはセルのIDベースの選択部分)しかサポートしていません。

6.2.1. Render Viewでの選択

Render View で選択部分を作成するには、ビューフレームの上部にあるツールバーを使用します。ParaView でセル、点、またはブロックを選択するには、インタラクティブと非インタラクティブの2つの方法があります。

ParaView は、非対話型選択ボタンの一つをクリックすると、non-interactive selection mode になります。pqSurfaceSelectionCell pqSurfaceSelectionPoint pqFrustumSelectionCell pqFrustumSelectionPoint pqPolygonSelectSurfaceCell pqPolygonSelectSurfacePoint pqSelectBlock あなたが作成している選択のタイプはクリックしたボタンに依存します。非対話型選択モードに入ると、カーソルは十字線に切り替わり、クリックとドラッグで選択領域を作ることができます。マウスを離すと、ParaView は選択領域内の任意の要素に対して選択範囲を作成しようとし、デフォルトのインタラクションモードに戻ります。

ビューに表示されているセルに対して選択範囲を作成するには、pqSurfaceSelectionCell ボタンを使用します。可視点を選択するには、代わりに pqSurfaceSelectionPoint ボタンを使用します。可視セル(および点)は、現在画面上にレンダリングされているセル(または点)だけです。したがって、閉じられている要素や小さすぎて画面上にレンダリングされていない要素は選択されません。画面上に描いた選択された矩形が形成するビューである錐台と交差するすべてのデータ要素を選択したい場合は、 pqFrustumSelectionCell ボタン(点の場合は pqFrustumSelectionPoint ボタン)を使用します。 この場合、選択された錐台で定義された3D空間内にあるすべての要素(可視か否かを問わず)が選択されます。

ビューに表示されているブロックの選択範囲を作成するには、pqSelectBlock ボタンを使用します。ブロックには錐台選択機能はありません。

ほとんどの選択モードでは選択領域を矩形として定義できますが、pqPolygonSelectSurfaceCell (およびポイント用の pqPolygonSelectSurfacePoint )では、選択領域を閉じた多角形として定義することができます。ただし、これはサーフェス要素に限定されます(つまり、錐台に基づく選択はできません)。

ParaView は、インタラクティブな選択ボタンの一つをクリックすると、interactive selection mode になります。pqSurfaceSelectionCellDataInteractive pqSurfaceSelectionPointDataInteractive pqSurfaceSelectionCellInteractive pqSurfaceSelectionPointInteractive のいずれかのインタラクティブ選択ボタンをクリックすると、インタラクティブ選択モードになります。インタラクティブな選択モードでは、可視要素(セルまたは点)に対して操作を行います。ParaView は、カーソルを移動させるとデータセットの要素をハイライトします。要素はクリックすることで選択できます。異なる要素を繰り返しクリックすると、その要素が選択範囲に追加されます。押し込まれた対話型選択ボタンをクリックするか、Esc キーを押すと対話型選択モードが終了する。このモードは、非インタラクティブな選択モードに入ったときにも終了します。pqSurfaceSelectionCellDataInteractive を使うと、カーソルの下にあるセルと同じ値を持つカレントカラー配列のセルをすべて選択できます( idtype 配列に対してのみ利用可能)。pqSurfaceSelectionPointDataInteractive を使用すると、ポイントデータ配列に対して前のアイコンと同じことを行うことができます。pqSurfaceSelectionCellInteractive ボタンを使ってデータセットのセルをインタラクティブに選択し、pqSurfaceSelectionPointInteractive ボタンを使ってポイントをインタラクティブに選択することができます。

エレメントが選択されている場合は、ClearSelection ボタンを使用して選択を解除できます。

これらのボタンのいくつかには、S (可視セル選択)、D (可視点選択)、F (錐台状のセル選択)、G (錐台状の点選択)などのホットキーもあります。これらのキーはキーボード上で S で始まり、ツールバーボタン自体と同じ順序で並んでいます。

../_images/FrustumCellSelection.png

図 6.2 選択したセルを識別するために使用した錐台が示すdisk_out_ref.ex2データセットでの錐台セル選択の結果。その錐台内にあるすべてのセルまたは錐台と交差するすべてのセルが選択されます。選択したときにビューアングルから見えるかどうかは関係ありません。

Did you know?

選択モードでクリックしてドラッグするときに、CTRL (または )キーを押したままにしておくと、現在の選択範囲を拡大することができます。paraview は、現在の選択範囲を追加します。また、 を使って現在の選択範囲から引くこともできますし、CTRL (または ) +| SHIFT| でトグルもできます。ツールバーの選択修飾ボタンも同じ効果があります。 追加 : pqSelectPlus、 削除 : pqSelectMinus、 トグル: pqSelectToggle です。ただし、これらの修飾子は、選択されたデータが現在の選択範囲と異なる場合は機能しません。その場合、現在の選択項目は(通常通り)クリアされ、その後、新しい選択項目が作成されます。

6.2.2. SpreadSheet Viewで選択

SpreadSheet View で選択部分を作成するには、スプレッドシートの対応する行をクリックします。CTRL (または )および キーを使用して、選択に追加できます。 ビューに現在表示されているデータ属性、つまり Point DataCell Data 、または Row Data に基づいて、点、セル、または行が選択されます。

6.2.3. Line Chart Viewで選択

Line Chart View では、プロットされたデータ値に対応する要素を選択することができます。選択時のインタラクションは Render View に似ています。デフォルトではインタラクションモードになっています。選択モードに入ると、ビューツールバーにある長方形の選択範囲 pqSelectChart または多角形の選択範囲 pqSelectChartPolygon を作成するためのボタンを使って選択範囲を作成することができるようになります。選択モードになったら、クリック&ドラッグで選択領域を定義できます。マウスを離すと選択範囲が作成されます。

新しい選択範囲が作成されると、デフォルトでは、ビュー内の既存の選択範囲はすべて消去されます。ビューツールバーの選択修正ボタンは、新しい選択が選択された要素に追加されるか pqSelectPlus 、選択された要素からポイントを削除するか pqSelectMinus、またはトグルするか pqSelectToggle をコントロールするために使用されます。これらの修飾ボタンは相互に排他的であり、モーダルです。すなわち、クリックして解除するか、他の修飾ボタンを押すまで押されたままです。CTRL (または ) と は、選択範囲に追加したり、選択範囲から減算したりするのにも使用されます。

../_images/SelectingInLineChartView.png

図 6.3 Line Chart View で選択すると、属性条件に一致する要素を検索できます。この可視化では、 Line Chart View の左上隅を選択してdisk_out_ref.ex2データセット内のTemp(温度)に対するPres(圧力)をプロットする散布図を生成することにより、データセット内の高Pres、低Temp領域の要素を簡単に見つけることができます。

6.3. Find Data パネルを使用して選択部分を作成する

ビューは、対話形式で選択部分を作成するメカニズムを提供します。グラフビューおよび SpreadSheet View での選択機能を使用すると、空間的な位置ではなく、特定のデータプロパティを持つ要素を選択できます( 図 6.3 )。特定の条件に一致する要素を選択するための、より豊富なデータベースの選択については、paraviewFind Data メカニズムを使用できます。

データ検索パネルには Edit メニュー、 :View メニュー、またはキーボードショートカット VMain Controls ツールバーの pqFindData ボタンでアクセスすることができます。データ検索パネル(Find Data )は、このダイアログの使い方を反映して、3つのセクションに分けることができます。 Create Selection セクションでは、選択条件を定義します。このセクションでは、どの要素(セルや点)を選択するかを指定します。 Selected Data セクションは、直近の選択結果を表示します。これらはスプレッドシートのビューと同様に表形式で表示されます。最後に、Selection Display セクションでは、選択した要素をアクティブビューにどのように表示するかを変更することができます。

../_images/FindDataPanel.png

図 6.4 Find Data パネルを使用すると、特定の条件に一致するデータ要素を検索できます。この例では、Wavelet1 データセット内のすべての Points を選択しています。RTData\(>= 150\) です。

Find Data パネルでは、 Create Selection セクションにあるウィジェットを使って選択項目を作成することができます。まず、data producer を選択します。これは、要素を選択したいソースやフィルタのことです。次に、element type を選択します。セルを選択する場合は Cell を、点を選択する場合は Point を、といった具合に選択します。次に、選択条件を定義します。一番左のコンボボックスは、対象となる配列を選択するために使用します。選択できるオプションは、データセットで現在利用可能なデータ配列が反映されています。次のコンボボックスは、演算子を選択するためのものです。選択できる項目は以下の通りです。

  • is は1つの値にマッチします。

  • is in range は、最小値と最大値で指定された値の範囲にマッチします。

  • is one of` はコンマで区切られた値のリストにマッチします。

  • is >= は、指定した値以上のすべての値にマッチします。

  • is <= は、指定した値以下のすべての値にマッチします。

  • is min は、現在のタイムステップの配列の最小値にマッチします。

  • is max は、現在のタイムステップの配列の最大値にマッチします。

  • is <= mean は、平均以下の値にマッチします。

  • is >= mean は、平均以上の値にマッチします。

  • is mean は、指定された許容差内の平均と等しい値にマッチします。

選択した演算子に基づいて、入力ウィジェットがこのコンボボックスの横に表示され、対応する値を入力します。たとえば、is between の場合は、2つのテキスト入力ウィジェットで範囲を定義するための最小値と最大値を入力します。

複数の選択条件を組み合わせることができます。例えば、Temp >= 100 and Pres <= mean を持つすべてのポイントを選択したい場合、 Plus ボタンを使って2つの式を設定するだけです。

選択条件が満たされたら、 Find Data ボタンをクリックします。成功すると、 Current Selection スプレッドシートが更新され、選択した要素が表示されます。 Attribute コンボボックスを使用して、スプレッドシートに表示する要素属性を切り替えます。

ビューでの選択と同様に、一度選択範囲を作成すると、選択されたデータを表示するどのビューでも、可能であれば選択された要素を強調表示します。例えば、Render View では選択された要素を示す色のついたワイヤーフレームが表示され、 SpreadSheet View では行がハイライトされるといったように。Selection Display セクションでは、アクティブビューでの選択範囲の表示方法を変更することができます。現在のところ、主に Render View 用に設計されています。しかし、将来的には、他のビューの選択属性の変更もサポートする予定です。利用可能なオプションでは、選択された要素を表示するために使用する色と、セルやポイントのラベルに使用するデータ属性を選択することができます。ラベルのフォーマット、色、フォントなどをより細かくコントロールするには、 pqAdvanced を使用します。これにより、Edit Label Properties ダイアログ ( 図 6.5) がポップアップ表示されます。

../_images/SelectionLabelPropertiesDialog.png

図 6.5 選択ラベルパラメータを制御するための Selection Label Properties ダイアログ

Did you know?

Find Data ダイアログを使用すると、新しい選択部分を作成するだけでなく、ダイアログの外部から行った現在の選択内容を検査することもできます。たとえば、6.2.1 章 で説明されているオプションを使用して Render View の要素を選択すると、 Current Selection ダイアログの Find Data コンポーネントが新しく選択された要素を反映して更新されます。さらに、抽出ボタン(これについては、 6.6 章 で説明します)を使用して、表示プロパティを変更し、この選択を抽出することができます。

6.4. Pythonで選択部分を作成する

選択部分を作成するもう1つの方法は、ParaViewのPythonスクリプトインタフェースを使用することです。 ParaViewの Render View および Find Data ダイアログで使用できる選択操作に似たPython関数があります。例を見てみましょう。

# import the selection module
from paraview.selection import *

renderView1 = GetActiveView()

# Create an initial rectangular selection in the render view
SelectSurfacePoints(Rectangle=[200, 321, 600, 744], View=renderView1)

# Add points within a polygon in the active view
SelectSurfacePoints(Polygon=[180, 200, 190, 400, 322, 300], Modifier='ADD')

# Subtract points with another rectangle
SelectSurfacePoints(Rectangle=[300, 400, 500, 700], Modifier='SUBTRACT')

# Now extract and show the selected points into another dataset
ExtractSelection()
Show()

# Clear the selection
ClearSelection()

このスクリプトはまず paraview.selection モジュールを使用します。次に、アクティブなレンダービューへの参照を作成し、選択機能に渡します。最初の選択関数は、矩形領域内のレンダービューに表示される点を選択します。長方形は、左下と右上の点(200, 321)と(600, 744)によって定義され、ピクセル座標で指定されます

2番目の選択は、点(180, 200)、(190, 400)、および(322, 300)によって定義されるポリゴン内の可視点です。この呼び出しでは、選択関数が既存の選択を変更し、新しく選択した点が選択に追加されるようにします。 これは、 Modifier という名前の関数パラメータで制御されます。Modifier}パラメータの他のオプションは、 ``'SUBTRACT''TOGGLE'None です。 ModifierNone に設定されていると、 以前の選択が新しい選択に置き換えられます。最後に SelectSurfacePoints を呼び出すと、最初の2つの選択部分の組み合わせである現在の選択部分から点が差し引かれます。

このスクリプト例の最後の行は、現在アクティブソースから現在選択されている点を抽出し、画面に表示します。最後に、ClearSelection 関数で選択をクリアします。

次の例に示すように、点またはセルID番号による選択も可能です。

from paraview.selection import *

# Select cell 1 from all blocks in a multiblock data set on process 0
SelectIDs(IDs=[0, 1], FieldType='CELL')

# Add cell 3 from block 4 on process 0 and cell 5 from block 6 on process 1
# to the selection
SelectCompositeDataIDs(IDs=[4, 0, 3, 6, 1, 5], Modifier='ADD')

最後に、PythonセレクションAPIを使用して、クエリ式による選択も可能です。 たとえば、次の例では、現在アクティブソース内の EQPS という名前のセル変数に、最大値を持つセルが選択されます:

from paraview.selection import *

QuerySelect(QueryString='EQPS == max(EQPS)', FieldType='CELL')

選択関数の完全な一覧を以下に簡単に説明します。これらの関数に関する完全なドキュメントについては、たとえば、 help(SelectSurfaceCells) のように任意の関数に対して help 関数を実行します。

  • SelectSurfacePoints - 長方形またはポリゴン領域内の可視点を選択します。

  • SelectSurfaceCells - 矩形またはポリゴン領域内の可視セルを選択します。

  • SelectSurfaceBlocks - 矩形領域内の可視ブロックを選択します。

  • SelectPointsThrough - 表示設定に関係なく、矩形領域内のすべての点を選択します。

  • SelectCellsThrough - 表示設定に関係なく、長方形領域内のすべてのセルを選択します。

  • SelectGlobalIDs - グローバルIDで属性を選択します。

  • SelectPedigreeIDs - 系統IDによって属性を選択します。

  • SelectIDs - 属性IDによって属性を選択します。

  • SelectCompositeDataIDs - 複合属性IDによって属性を選択します。

  • SelectHierarchicalDataIDs - 階層データIDによって属性を選択します。

  • SelectThresholds - 関連付けられた配列の値をしきい値にすることで、ソースの属性を選択します。

  • SelectLocation - 場所によって点を選択します。

  • QuerySelect - クエリ式による選択。

  • ClearSelection - パラメータとして渡されたソースの選択をクリアします。

6.5. 選択部分を表示する

Find Data パネルでは、アクティブなビューの選択部分の Selection Display Properties を簡単に変更することができます。 データ検索ダイアログの Current Selection セクションには、スプレッドシートビューで選択されている要素が表示されます。ビューツールバーの pqSelect ボタンをチェックして、選択された要素のみを表示させれば、通常の SpreadSheet View も同じように表示させることができます。

6.6. 選択部分を抽出する

これまでに説明したメカニズムで作成される選択部分のタイプはすべて一時的なもので、主にデータのハイライトに使用されます。選択した要素を抽出し、その結果を新しいデータセットとして保存したり、選択した要素にのみ他のフィルタを適用するなど、選択したサブセットに対してさらに操作を行う場合は、セレクション抽出フィルタのいずれかを使用する必要があります。 Extract Selection および Plot Selection Over Time フィルタは、このフィルタカテゴリに分類されます。

6.6.1. Extract selection

../_images/ExtractSelectionPanel.png

図 6.6 Extract Selection フィルタに対するプロパティを示す Properties パネル

Extract Selection フィルタは、選択された要素を新しいデータセットとして抽出し、さらにフィルタリングを行うために使用します。このフィルタを作成する方法は複数あります。guilabel:Filters メニューを使用して、従来の方法でフィルタを作成することができます。フィルタが作成されるとき、もしアクティブな選択範囲があれば、フィルタは自動的にその選択範囲をコピーして便利にしてくれます。アクティブな選択範囲を抽出するもう一つの方法は、Find Data パネル ( 図 6.4) にある Extract ボタンを使用することです。

Properties パネルには、選択を定義するものが表示されます。選択を更新するには、この章で前述した任意のメカニズムを使用して新しいアクティブな選択を作成し、 Extract Selection フィルタの Properties パネルの Copy Active Selection ボタンをクリックします。

デフォルトでは、フィルタは選択した要素のみを抽出するように設定されています。このフィルタは、選択されている要素をマークするだけで、入力データセット全体を渡すこともできます。そのためには、 Properties パネルの Preserve Topology チェックボックスをオンにします。

6.6.2. Plot selection over timeフィルタ

../_images/PlotSelectionOverTime.png

図 6.7 Plot Selection Over Timeparaview で実行されます。フィルタを使用すると、選択したセルのセットまたは時間データセット内の点について、時間の経過に伴う属性の変化を簡単にプロットできます。

Plot Selection Over Time は、選択した要素を入力データセットから抽出するという点で、 Extract Selection に似ています。ただし、ここでの目的は、単に結果を抽出するのではなく、選択した要素の属性を時間の経過とともにプロットすることです。

図 6.7 は このフィルタの使用例を示しています。このケースでは、ビューベースの選択メカニズムを使用して Render View で選択した2つのセルについて、ひずみ(または EQPS)セル属性が時間とともにどのように変化するかを確認したいと思います。選択されたセルは、左側のビューでハイライトされている要素です。セルを選択した後、 Filters > Data Analysis メニューを使用して Plot Selection Over Time フィルタを作成します(Plot Selection Over Time を使用しても構いません。(Data Analysis ツールバーから pqPlotSelectionOverTime を使用することもできます。) Extract Selection フィルタと同様に、このフィルタを作成すると、アクティブな選択範囲がコピーされます。このフィルタを作成した後、フィルタの Properties パネルにある Copy Active Selection ボタンを使って、選択範囲を変更することができます。Apply を押すと、paraview はここに示すような可視化を表示します。

選択を定義するためにビューを使用する代わりに、 Find Data ダイアログを使用することもできます。この場合、時間の経過とともに各要素をプロットするのではなく、選択したサブセットのサマリーを時間の経過とともにプロットします。選択したサブセットは時間の経過とともに要素の数が変化する可能性があるため、これは重要です。サマリーには、使用可能な変数の最小値、最大値、中央値などの量が含まれます。フィルタの Properties パネルで Plot Selection Over Time フィルタの Only Report Selection Statistics プロパティをチェックすることで、常にこれらの静的な(ビュー内の特定の要素を選択して選択範囲を作成した場合でも)を生成するようにできます。

6.7. 選択部分のフリーズ

選択部分を抽出する場合、ビューまたは Find Data パネルを使用して選択部分を定義できます。抽出フィルタは実際に ParaView の他のフィルタと同様であるため、入力データセットが変更されたり、フィルタのプロパティが変更されたり、現在の時刻が変更されたりするたびに再実行されます。フィルタが再実行されるたびに、選択( selection )および抽出( extraction )操作が実行されます。したがって、 Render View を使用してidベースの選択を作成した場合、フィルタは要求されたidに含まれる要素を識別し、それらを渡します。錐台状の選択では、錐台に含まれる要素が決定され、抽出されます。同様に、 Find Data パネルを使用して作成されたクエリーベースの選択では、クエリーが再評価されます。これにより、タイムステップが変更されたさまざまな要素が選択される可能性があります。たとえば、ひずみが最大のセルを選択すると、選択したセルは時間ステップごとに異なる可能性があります。最後の時間ステップで最大の歪みを持つセル内の変化をプロットするとします。これを行うにはどうすればよいでしょうか。答えは、 Find Data パネルの Freeze Selection ボタンを使用することです。これは、任意のタイプの選択(錐台状、クエリベース)を、現在選択されている要素IDに一致するidベースの選択に変換します。これで、このフリーズされたIDベースの選択を Extract Selection または Plot Selection Over Time で使用できるようになりました。

6.8. Selection Editor パネルによる選択範囲の保存と結合

ビューと Find Data パネルを使用して、さまざまなタイプの選択範囲を作成することができます。作成した選択範囲を保存したり、組み合わせたりするには、 Selection Editor パネルを使用します。このパネルは、View → Selection Editor からアクセスすることができます。

../_images/SelectionEditorPanel.png

図 6.8 Selection Editor パネルは、選択範囲を結合するために使用します。この例では、フラストレート、ブロックセレクタ、コンポジットID、クエリのセレクションを組み合わせています。

Selection Editor パネルでは、選択範囲を保存したり、ブーリアン式を用いて選択範囲を結合したりすることができます。このパネルには、静的でユーザが編集可能な情報がいくつか表示されます。

  • 情報のみの Data Producer フィールドは、アクティブな選択オブジェクトのソースに基づいて設定されます。選択されているオブジェクトが変更されると、データプロデューサーも変更され、以前のデータプロデューサーから保存された選択項目は削除されます。

  • 情報のみの Element Type フィールド(セルまたは点)は、アクティブな選択範囲の要素タイプに基づいて設定されます。選択範囲を保存した後、新しい選択範囲が別の要素タイプで作成された場合、ParaViewは保存されている既存の選択範囲をすべて削除するかどうか確認し、要素タイプを新しい選択範囲の要素タイプに変更します。

  • ユーザが編集可能な Expression 文字列で、保存された選択範囲をアクティブな単一の選択範囲に結合する方法を定義します。この文字列は、保存された選択範囲に新しい選択範囲を追加する際に自動的に埋められます。つまり、結合された選択範囲は、保存されたすべての選択範囲の合計となります。選択範囲は、not (!) 演算子、or (|) 演算子、and (&) 演算子、xor (^) 演算子を用いて結合することができます。また、括弧を使用して優先順位を定義することも可能です。

  • ユーザーが編集可能なテーブルには、自動的に割り当てられた選択範囲の名前(s0, s1, s2など)と、Expression プロパティで使用される名前、そして選択範囲のタイプがリストアップされています。保存された選択範囲テーブルで選択範囲がハイライトされ、ParaViewのアクティブビューが Render View である場合、ハイライトされた選択範囲はその Render View に表示されます。選択範囲のハイライトを解除すると、その選択範囲は Render View に表示されなくなります。

保存されたセレクションテーブルの横にあるいくつかのボタンで、保存されたリストへのセレクションテーブルの追加と削除をコントロールします。

  • + (Add Active Selection) ボタンを押すと、アクティブな選択範囲を保存された選択範囲のリストに追加することができます。

  • - (Remove Selected Selection) 選択した保存済み選択範囲を保存済み選択範囲のリストから削除するボタンです。

  • X (Remove All Selections) 保存されている選択項目をすべて削除するボタンです。

  • 保存された選択範囲をアクティブにする Activate Combined Selections ボタンです。

../_images/SelectionEditorViewResult.png

図 6.9 図 6.8 で示されるように、選択範囲を組み合わせた結果です。