pyvista.DataSetAttributes#

class DataSetAttributes(vtkobject: vtkFieldData, dataset: vtkDataSet | DataSet, association: FieldAssociation)[ソース]#

vtk.DataSetAttributes の Python フレンドリーラッパーです.

このクラスは, dict に似たインタフェースを実装することで,属性タイプごとに現在の配列のいずれかをアクティブな配列として選択する機能を提供します.

データ配列を追加する際に,スカラーやベクトルをアクティブにしたくない場合には, DataSetAttributes.set_array() を使用してください.

方向データ(速度ベクトルなど)を追加する場合は, DataSetAttributes.set_vectors() を使用してください.

非方向性のデータ(温度値や RGBA 値のような多成分スカラー)を追加する場合には, DataSetAttributes.set_scalars() を使用してください.

バージョン 0.32.0 で変更: 演算子 [] は整数を扱えなくなりました. インデックスを使用して配列を取得するには, DataSetAttributes.get_array() を使用します.

パラメータ:
vtkobjectvtkFieldData

DataSetAttribute としてラップする vtk オブジェクト.通常は vtk.vtkCellData, vtk.vtkPointData, または vtk.vtkFieldData のインスタンスとなります.

datasetvtkDataSet

vtkobject を含みます vtkDataSet.

associationFieldAssociation

vtkobject の配列連想型.

備考

ポイント配列をプリントアウトすると,どの配列がアクティブなスカラー,ベクトル,法線,テクスチャー座標であるかが分かります.配列のリストでは, SCALARS がアクティブなスカラー, VECTORS がアクティブなベクトルデータ(つまり,大きさと方向を持つデータ)としてタグ付けされていることを表しています.

点の関連付けをしたデータをDataSetに格納します.

>>> import pyvista as pv
>>> mesh = pv.Cube()
>>> mesh.point_data['my_data'] = range(mesh.n_points)
>>> data = mesh.point_data['my_data']
>>> data
pyvista_ndarray([0, 1, 2, 3, 4, 5, 6, 7])

データ配列を変更し,それがDataSetに反映されることを示します.

>>> data[:] = 0
>>> mesh.point_data['my_data']
pyvista_ndarray([0, 0, 0, 0, 0, 0, 0, 0])

配列を削除します.

>>> del mesh.point_data['my_data']
>>> 'my_data' in mesh.point_data
False

データセットの属性から利用可能な配列を表示します.

>>> import numpy as np
>>> mesh = pv.Plane(i_resolution=1, j_resolution=1)
>>> mesh.point_data.set_array(range(4), 'my-data')
>>> mesh.point_data.set_array(range(5, 9), 'my-other-data')
>>> vectors0 = np.random.random((4, 3))
>>> mesh.point_data.set_vectors(vectors0, 'vectors0')
>>> vectors1 = np.random.random((4, 3))
>>> mesh.point_data.set_vectors(vectors1, 'vectors1')
>>> mesh.point_data
pyvista DataSetAttributes
Association     : POINT
Active Scalars  : None
Active Vectors  : vectors1
Active Texture  : TextureCoordinates
Active Normals  : Normals
Contains arrays :
    Normals                 float32    (4, 3)               NORMALS
    TextureCoordinates      float32    (4, 2)               TCOORDS
    my-data                 int64      (4,)
    my-other-data           int64      (4,)
    vectors1                float64    (4, 3)               VECTORS
    vectors0                float64    (4, 3)

メソッド

DataSetAttributes.clear()

このオブジェクトのすべての配列を削除します.

DataSetAttributes.get(key[, value])

指定されたキーを持つ項目の値を返します.

DataSetAttributes.get_array(key)

このオブジェクトの配列を返します.

DataSetAttributes.items()

(配列名, 配列値)のタプルのリストを返します.

DataSetAttributes.keys()

配列の名前をリストとして返します.

DataSetAttributes.pop(key[, default])

配列を削除して返します.

DataSetAttributes.remove(key)

配列を削除します.

DataSetAttributes.set_array(data, name[, ...])

このオブジェクトに配列を追加します.

DataSetAttributes.set_scalars(scalars[, ...])

データセットのアクティブなスカラーを配列で設定します.

DataSetAttributes.set_vectors(vectors, name)

このデータ属性のアクティブベクタを設定します.

DataSetAttributes.update(array_dict)

他の辞書やデータセットの属性から,このオブジェクトの配列を更新します.

DataSetAttributes.values()

配列をリストとして返します.

アトリビュート

DataSetAttributes.active_normals

法線を返します.

DataSetAttributes.active_normals_name

法線配列の名前を設定します.

DataSetAttributes.active_scalars

アクティブなスカラーを返します.

DataSetAttributes.active_scalars_name

アクティブなスカラーの名前を返します.

DataSetAttributes.active_t_coords

アクティブなテクスチャ座標の配列を返します.

DataSetAttributes.active_t_coords_name

アクティブなテクスチャの座標配列の名前を返します.

DataSetAttributes.active_texture_coordinates

アクティブなテクスチャ座標の配列を返します.

DataSetAttributes.active_texture_coordinates_name

アクティブなテクスチャの座標配列の名前を返します.

DataSetAttributes.active_vectors

アクティブなベクトルをpyvista_ndarrayとして返します.

DataSetAttributes.active_vectors_name

アクティブベクターの名前を返します.

DataSetAttributes.valid_array_len

データセットに追加する際のデータの長さを返します.