基本的な使い方のレッスン

基本的な使い方のレッスン#

このセクションでは, pyvista.examples.downloads モジュールと外部ファイルを使用して,PyVistaで3Dデータを読み取り,プロットする方法を説明します.

import pyvista as pv
from pyvista import examples

# Set the default plot theme to the "document" theme.
# pv.set_plot_theme('document')

既存データの活用#

PyVistaにデータを取り込む方法は主に2つあります.ゼロから自分で作成するか, 互換性のあるファイルフォーマット のいずれかからデータセットを読み込むかです.これから始めるので,ファイルをロードしてみましょう.

# If you have a dataset handy, like a surface model, point cloud, or VTK file,
# you can use that. If you don't have something immediately available, PyVista
# has a variety of files you can download in its `pyvista.examples.downloads
# <https://docs.pyvista.org/api/examples/_autosummary/pyvista.examples.downloads.html>`_
#


dataset = examples.download_saddle_surface()
dataset
PolyDataInformation
N Cells5131
N Points2669
N Strips0
X Bounds-2.001e+01, 2.000e+01
Y Bounds-6.480e-01, 4.024e+01
Z Bounds-6.093e-01, 1.513e+01
N Arrays0


これは pyvista.PolyData であり,事実上,点,線,面を含むサーフェスデータセットであることに注意してください.このデータセットを使って,すぐにプロットすることができます.

a lesson basic

これはかなり基本的なプロットです. show_edges=True などのパラメータを追加したり, color を別の値に設定して色を変更することで,プロット方法を変更することができます.これらのことは,PyVistaのAPIドキュメントである pyvista.plot() に記載されていますが,ここでは別のデータセットを見てみましょう.これは体積のデータセットです.

dataset = examples.download_frog()
dataset
HeaderData Arrays
ImageDataInformation
N Cells31594185
N Points31960000
X Bounds0.000e+00, 4.990e+02
Y Bounds0.000e+00, 4.690e+02
Z Bounds0.000e+00, 2.025e+02
Dimensions500, 470, 136
Spacing1.000e+00, 1.000e+00, 1.500e+00
N Arrays1
NameFieldTypeN CompMinMax
MetaImagePointsuint810.000e+002.540e+02


これは pyvista.ImageData で,一貫した間隔を持つ一様な点の集合を含むデータセットです.このデータセットをプロットするとき,個々のセルを,そのセルに関連するデータの内容に基づいてプロットする,volumetric plottingを有効にするオプションがあります.

dataset.plot(volume=True)
a lesson basic

ファイルから読み込む#

あなたの環境にアクセスできるのであれば,ファイルから直接データセットを読み込むことができます.これは,VTKがサポートしている多くのファイルフォーマットの1つであり,PyVistaが meshio のようなライブラリに依存できるように,サポートしていない多くのファイルフォーマットでもあり得ます.

以下の例では,VTKの鉄タンパク質データセット ironProt.vtkpyvista.read() を使ってファイルからロードしています.

dataset = pv.read("ironProt.vtk")
dataset
HeaderData Arrays
ImageDataInformation
N Cells300763
N Points314432
X Bounds0.000e+00, 6.700e+01
Y Bounds0.000e+00, 6.700e+01
Z Bounds0.000e+00, 6.700e+01
Dimensions68, 68, 68
Spacing1.000e+00, 1.000e+00, 1.000e+00
N Arrays1
NameFieldTypeN CompMinMax
scalarsPointsuint810.000e+002.550e+02


これもまた pyvista.ImageData で,ボリューム的にプロットすることができます.

dataset.plot(volume=True)
a lesson basic
Open In Colab

Total running time of the script: (0 minutes 4.822 seconds)

Sphinx-Galleryによるギャラリー