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

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

このセクションでは, 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
PolyData (0x7fa3906fa8c0)
  N Cells:    5131
  N Points:   2669
  N Strips:   0
  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 Arrays:   0


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

a lesson basic

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

dataset = examples.download_frog()
dataset
ImageData (0x7fa3906fbdc0)
  N Cells:      31594185
  N Points:     31960000
  X Bounds:     0.000e+00, 4.990e+02
  Y Bounds:     0.000e+00, 4.690e+02
  Z Bounds:     0.000e+00, 2.025e+02
  Dimensions:   500, 470, 136
  Spacing:      1.000e+00, 1.000e+00, 1.500e+00
  N Arrays:     1


これは 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
ImageData (0x7fa3906fba00)
  N Cells:      300763
  N Points:     314432
  X Bounds:     0.000e+00, 6.700e+01
  Y Bounds:     0.000e+00, 6.700e+01
  Z Bounds:     0.000e+00, 6.700e+01
  Dimensions:   68, 68, 68
  Spacing:      1.000e+00, 1.000e+00, 1.000e+00
  N Arrays:     1


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

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

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

Sphinx-Galleryによるギャラリー