6. データの選択
一般的な視覚化プロセスには、可視化シーンの設定と、結果の解析を実行して洞察を得るという2つのコンポーネントがあります。このプロセスが反復的であることは珍しくありません。多くの場合、入力データセットから関連情報を抽出するために使用する必要のあるフィルタからドライブを検索し、そのデータを最も適切に表すビューを選択します。結果を評価する方法の1つは、対象となる要素を特定することによってデータを検査するか、調査することです。ParaView のデータ選択メカニズムは、このようなユースケース専用に設計されています。この章では、ParaView でデータを選択し、これらの選択をデータ分析に利用するさまざまな方法について詳しく説明します。
6.1. 選択機能について
Broadly speaking, selection refers to selecting elements (either cells, points, table rows, etc.) from datasets. Since data is ingested into ParaView using readers or sources and transformed using filters, when you create a selection, you are selecting elements from the dataset produced as the output of source, filter, or any such pipeline module.
選択部分を作成する方法は多数あります。いくつかのビューでは、特定の選択部分を作成できます。たとえば、データ属性をスプレッドシートとして表示する SpreadSheet View
では、任意の行をクリックするだけでその行を 選択 できます。もちろん、通常のスプレッドシートベースのアプリケーションのように、⇧ キーと CTRL (または ⌘ )キーを使用して複数の行を選択することもできます。
これは無駄な作業のように見えますが、スプレッドシートの行を強調表示しても、ほとんど何も達成できません。これを重要なツールに変えているのは、選択部分がビュー間で リンクされる という事実です(可能な限り)。リンクされた選択とは、特定のビューのデータセットから要素を選択することを意味します。 同じ データセットを表示している他のすべてのビューでも、選択した要素がハイライト表示されます。
これを簡単にするために、簡単なデモを試してみましょう。:
Starting with a fresh paraview
session, create a sample dataset
using the Sources > Alphabetical > Wavelet menu, and then click the Apply
button. If you
are using paraview
with a default setup, that should result in a
dataset outline being shown in the default Render View
. Next, let's split
the view and create SpreadSheet View
. The SpreadSheet View
will
automatically show the data produced by the Wavelet
source. Upon closer
inspection of the header in the SpreadSheet View
, we see that the view
is showing the Point Data
or point attributes associated with the dataset.
Now we have the same dataset, the data produced by the Wavelet
source,
shown in two views. Now, highlight a few rows in the SpreadSheet View
by clicking on them. As soon as you start selecting rows, the Render View
will start highlighting some points in space as tiny magenta specks
( 図 6.1). That's linked selection in
action! What is happening is that, as you highlight rows in the SpreadSheet View
,
you are creating a selection for selecting points (since the view is
showing Point Data
) corresponding to the rows. Due to the linking of
selections between views, any other view that is showing the dataset (in this
case, the Render View
) will also highlight the selected points.
もちろん、点ではなくセルを選択する場合は、 Attribute
コンボボックスを Cell Data
にフリップして SpreadSheet View
をセルの表示に切り替えてから、行をハイライト表示します。 Render View
は、選択したセルを点ではなくワイヤフレームとして表示します。
逆に、 Render View
で選択項目を作成すると、 SpreadSheet View
で選択したエレメントもハイライト表示されます。このような選択を作成する方法については、この章の後半で説明します。
最初の注意点は、新しい選択部分を作成すると、既存の選択部分がクリアされることです。したがって、アプリケーション内には、任意の時点で最大1つのアクティブな選択部分があります。後に述べるように、いくつかの見解は既存の選択部分を拡張する方法を提供します。
The second thing to note is that selections are transient, i.e., they cannot
be undone/redone or saved in state files and loaded back. Nor can you apply
filters or other transformation to the selections themselves. There are cases,
however, where you may want to subset your dataset using the selection defined
interactively and then apply filters and other analysis to that extracted
subset. For that, there are filters available, namely Extract Selection
and Plot Selection Over Time
, that can capture the active selection as
filter parameters and then produce a new dataset that consists of the
selected elements.
3番目の注意点は、選択部分のタイプが異なることです。例えば、idベースの選択では、選択された要素はインデックスで識別されます。例えば、錐台状の選択 (3D空間で定義された錐台と交差する要素を選択)やクエリー・ベースの選択(選択された要素は、指定されたクエリー文字列に一致する要素)など。
6.2. ビューを使用した選択部分を作成する
ビューは、対話形式で選択を作成するための便利なメカニズムです。 Render View
のようなビューでは複数のタイプの選択部分を作成できますが(点とセルを選択するためのIDまたは錐台状の選択部分)、 SpreadSheet View
や Line Chart View
のようなビューでは1つのタイプ(点またはセルのIDベースの選択部分)しかサポートしていません。
6.2.1. Render Viewでの選択
Render View
で選択部分を作成するには、ビューフレームの上部にあるツールバーを使用します。ParaView でセル、点、またはブロックを選択するには、インタラクティブと非インタラクティブの2つの方法があります。
ParaView enters a non-interactive selection mode when you click one of the non-interactive selection buttons: The type of selection you are creating will depend on the button you clicked. Once in non-interactive selection mode, the cursor will switch to cross-hair and you can click and drag to create a selection region. Once you release the mouse, ParaView will attempt to create a selection for any elements in the selection region and will go back to default interaction mode.
To create a selection for cells visible in the view, use the button. For selecting visible points, use the button instead. Visible cells (and points) are only those cells (or points) that are currently rendered on the screen. Thus, elements that are occluded or are too small to be rendered on the screen will not be selected. If you want to select all data elements that intersect the view frustum formed by the selection rectangle you drew on the screen, use the button for cells, the button for points, and the button for blocks. In this case, all elements, visible or otherwise, that are within the 3D space defined by the selection frustum are selected.
ビューに表示されているブロックの選択範囲を作成するには、 ボタンを使用します。ブロックには錐台選択機能はありません。
ほとんどの選択モードでは選択領域を矩形として定義できますが、 (およびポイント用の )では、選択領域を閉じた多角形として定義することができます。ただし、これはサーフェス要素に限定されます(つまり、錐台に基づく選択はできません)。
ParaView は、インタラクティブな選択ボタンの一つをクリックすると、interactive selection mode になります。 のいずれかのインタラクティブ選択ボタンをクリックすると、インタラクティブ選択モードになります。インタラクティブな選択モードでは、可視要素(セルまたは点)に対して操作を行います。ParaView は、カーソルを移動させるとデータセットの要素をハイライトします。要素はクリックすることで選択できます。異なる要素を繰り返しクリックすると、その要素が選択範囲に追加されます。押し込まれた対話型選択ボタンをクリックするか、Esc キーを押すと対話型選択モードが終了する。このモードは、非インタラクティブな選択モードに入ったときにも終了します。 を使うと、カーソルの下にあるセルと同じ値を持つカレントカラー配列のセルをすべて選択できます( idtype
配列に対してのみ利用可能)。 を使用すると、ポイントデータ配列に対して前のアイコンと同じことを行うことができます。 ボタンを使ってデータセットのセルをインタラクティブに選択し、 ボタンを使ってポイントをインタラクティブに選択することができます。
エレメントが選択されている場合は、 ボタンを使用して選択を解除できます。
これらのボタンのいくつかには、S (可視セル選択)、D (可視点選択)、F (錐台状のセル選択)、G (錐台状の点選択)などのホットキーもあります。これらのキーはキーボード上で S で始まり、ツールバーボタン自体と同じ順序で並んでいます。
Did you know?
選択モードでクリックしてドラッグするときに、CTRL (または ⌘ )キーを押したままにしておくと、現在の選択範囲を拡大することができます。paraview
は、現在の選択範囲を追加します。また、⇧ を使って現在の選択範囲から引くこともできますし、CTRL (または ⌘ ) +| SHIFT| でトグルもできます。ツールバーの選択修飾ボタンも同じ効果があります。 追加 : 、 削除 : 、 トグル: です。ただし、これらの修飾子は、選択されたデータが現在の選択範囲と異なる場合は機能しません。その場合、現在の選択項目は(通常通り)クリアされ、その後、新しい選択項目が作成されます。
6.2.2. SpreadSheet Viewで選択
SpreadSheet View
で選択部分を作成するには、スプレッドシートの対応する行をクリックします。CTRL (または ⌘ )および ⇧ キーを使用して、選択に追加できます。 ビューに現在表示されているデータ属性、つまり Point Data
、 Cell Data
、または Row Data
に基づいて、点、セル、または行が選択されます。
6.2.3. Line Chart Viewで選択
Line Chart View
では、プロットされたデータ値に対応する要素を選択することができます。選択時のインタラクションは Render View
に似ています。デフォルトではインタラクションモードになっています。選択モードに入ると、ビューツールバーにある長方形の選択範囲 または多角形の選択範囲 を作成するためのボタンを使って選択範囲を作成することができるようになります。選択モードになったら、クリック&ドラッグで選択領域を定義できます。マウスを離すと選択範囲が作成されます。
新しい選択範囲が作成されると、デフォルトでは、ビュー内の既存の選択範囲はすべて消去されます。ビューツールバーの選択修正ボタンは、新しい選択が選択された要素に追加されるか 、選択された要素からポイントを削除するか 、またはトグルするか をコントロールするために使用されます。これらの修飾ボタンは相互に排他的であり、モーダルです。すなわち、クリックして解除するか、他の修飾ボタンを押すまで押されたままです。CTRL (または ⌘) と ⇧ は、選択範囲に追加したり、選択範囲から減算したりするのにも使用されます。
6.3. Find Data パネルを使用して選択部分を作成する
ビューは、対話形式で選択部分を作成するメカニズムを提供します。グラフビューおよび SpreadSheet View
での選択機能を使用すると、空間的な位置ではなく、特定のデータプロパティを持つ要素を選択できます( 図 6.3 )。特定の条件に一致する要素を選択するための、より豊富なデータベースの選択については、paraview
の Find Data
メカニズムを使用できます。
The Find Data
panel can be accessed from the Edit menu, View menu,
or by using the keyboard shortcut V or the
button on the Main Controls
toolbar.
The Find Data
panel can be split into three sections,
reflecting how you would use this dialog. The Create Selection
section
helps you define the selection criteria. This identifies which elements, cells or
points, are to be selected. The Selected Data
section shows the
results from the most recent selection. They are shown in a tabular view similar
to the Spreadsheet view. Finally, the Selection Display
section
lets you change how the selected elements are displayed in the active view.
Find Data
パネルでは、 Create Selection
セクションにあるウィジェットを使って選択項目を作成することができます。まず、data producer を選択します。これは、要素を選択したいソースやフィルタのことです。次に、element type を選択します。セルを選択する場合は Cell を、点を選択する場合は Point を、といった具合に選択します。次に、選択条件を定義します。一番左のコンボボックスは、対象となる配列を選択するために使用します。選択できるオプションは、データセットで現在利用可能なデータ配列が反映されています。次のコンボボックスは、演算子を選択するためのものです。選択できる項目は以下の通りです。
is
は1つの値にマッチします。is in range
は、最小値と最大値で指定された値の範囲にマッチします。is one of
matches a list of comma-separated valuesis >=
は、指定した値以上のすべての値にマッチします。is <=
は、指定した値以下のすべての値にマッチします。is min
は、現在のタイムステップの配列の最小値にマッチします。is max
は、現在のタイムステップの配列の最大値にマッチします。is <= mean
は、平均以下の値にマッチします。is >= mean
は、平均以上の値にマッチします。is mean
は、指定された許容差内の平均と等しい値にマッチします。
選択した演算子に基づいて、入力ウィジェットがこのコンボボックスの横に表示され、対応する値を入力します。たとえば、is between
の場合は、2つのテキスト入力ウィジェットで範囲を定義するための最小値と最大値を入力します。
複数の選択条件を組み合わせることができます。例えば、Temp >= 100 and Pres <= mean を持つすべてのポイントを選択したい場合、 ボタンを使って2つの式を設定するだけです。
選択条件が満たされたら、 Find Data
ボタンをクリックします。成功すると、 Current Selection
スプレッドシートが更新され、選択した要素が表示されます。 Attribute
コンボボックスを使用して、スプレッドシートに表示する要素属性を切り替えます。
Similar to selecting in views, once you create a selection, any view showing the
selected data will also highlight the selected elements, if possible. For example, the
Render View
will show a colored wireframe marking the selected elements,
SpreadSheet View
will highlight the rows, and so on. The Selection Display
section lets you change how the selection is displayed in the active view.
Currently, it is primarily designed for Render View
. In the
future, however, it could support changing selection attributes for other views as well.
The available options allow you select the color to use to show the selected
elements, as well as the data attributes to use to label the cells/points. For finer
control on the label formatting, color, font, etc., toggle the
button on. That will pop up the Edit Label Properties
dialog
( 図 6.5).
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
です。 Modifier
が None
に設定されていると、 以前の選択が新しい選択に置き換えられます。最後に SelectSurfacePoints
を呼び出すと、最初の2つの選択部分の組み合わせである現在の選択部分から点が差し引かれます。
このスクリプト例の最後の行は、現在アクティブソースから現在選択されている点を抽出し、画面に表示します。最後に、ClearSelection
関数で選択をクリアします。
次の例に示すように、点またはセルID番号による選択も可能です。
from paraview.selection import *
# Select cell 1 from all blocks in a multiblock dataset 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')
When updating a selection that is part of a pipeline (i.e. via the
ExtractSelection filter) one needs to perform a new selection and update the
Selection
property of the ExtractSelection filter. For example:
from paraview import simple
wavelet = simple.Wavelet()
simple.Show()
simple.Render()
SELECTION_SUITE = [
[-1, 0], # select cell 0 from the unique block of the dataset
[-1, 0, -1, 1], # select cells 0 and 1 from the unique block of the dataset
[-1, 0, -1, 1, -1, 2],
]
simple.SelectIDs(IDs=SELECTION_SUITE[0], Source=wavelet)
extract = simple.ExtractSelection(Input=wavelet)
for ids in SELECTION_SUITE[1:]:
# clear previous selection
simple.ClearSelection()
# perform a new selection.
simple.SelectIDs(IDs=ids, Source=wavelet)
# get the selection object accosiated with the current selection on output port 0
selection = wavelet.GetSelectionInput(0)
# update Selection property of extract filter
extract.Selection = selection
# run the extraction filter using the latest property values
extract.UpdatePipeline()
The selection line width as follows:
disp = GetDisplayProperties()
disp.SelectionLineWidth = 5
最後に、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
セクションには、スプレッドシートビューで選択されている要素が表示されます。ビューツールバーの ボタンをチェックして、選択された要素のみを表示させれば、通常の SpreadSheet View
も同じように表示させることができます。
6.6. 選択部分を抽出する
これまでに説明したメカニズムで作成される選択部分のタイプはすべて一時的なもので、主にデータのハイライトに使用されます。選択した要素を抽出し、その結果を新しいデータセットとして保存したり、選択した要素にのみ他のフィルタを適用するなど、選択したサブセットに対してさらに操作を行う場合は、セレクション抽出フィルタのいずれかを使用する必要があります。 Extract Selection
および Plot Selection Over Time
フィルタは、このフィルタカテゴリに分類されます。
6.6.1. Extract selection
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フィルタ
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
ツールバーから を使用することもできます。) 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 からアクセスすることができます。
The Selection Editor
panel allows you to save selections and combine them using
a boolean expression. This panel shows several pieces of static and editable information:
情報のみの
Data Producer
フィールドは、アクティブな選択オブジェクトのソースに基づいて設定されます。選択されているオブジェクトが変更されると、データプロデューサーも変更され、以前のデータプロデューサーから保存された選択項目は削除されます。情報のみの
Element Type
フィールド(セルまたは点)は、アクティブな選択範囲の要素タイプに基づいて設定されます。選択範囲を保存した後、新しい選択範囲が別の要素タイプで作成された場合、ParaViewは保存されている既存の選択範囲をすべて削除するかどうか確認し、要素タイプを新しい選択範囲の要素タイプに変更します。An editable
Expression
string that defines how to combine the saved selections into a single active selection. This string is automatically filled while adding new selections to the saved selections, meaning that the combined selection will be the union of all saved selections. Selections can be combined using the not (!
) operator, or (|
) operator, and (&
) operator, and xor (^
) operator. Parentheses are available to define precedence as well.An editable table lists an automatically assigned name for the selection (s0, s1, s2, etc.), which is used in the
Expression
property, and the type of the selection. When a selection is highlighted in the saved selections table and ParaView’s active view is aRender View
, the highlighted selection will be shown in thatRender View
. When a selection is unhighlighted, it is no longer shown in theRender View
.
保存されたセレクションテーブルの横にあるいくつかのボタンで、保存されたリストへのセレクションテーブルの追加と削除をコントロールします。
+
(Add Active Selection) ボタンを押すと、アクティブな選択範囲を保存された選択範囲のリストに追加することができます。-
(Remove Selected Selection) 選択した保存済み選択範囲を保存済み選択範囲のリストから削除するボタンです。X
(Remove All Selections) 保存されている選択項目をすべて削除するボタンです。保存された選択範囲をアクティブにする
Activate Combined Selections
ボタンです。