Trame#

Kitware's Trame は,インタラクティブで強力なビジュアル分析アプリケーションを作成するためのオープンソースプラットフォームです.Pythonをベースとし,VTK,ParaView,Vegaなどのプラットフォームを活用することで,ウェブベースのアプリケーションを数分で作成することができます.

Trameとは?#

Trameはリアクティブなウェブアプリケーションを構築するためのPythonフレームワークです.

  • すべてのロジックとUI定義は,プレーンなPython で行うことができます

  • ラップトップ,デスクトップ,クラスター,クラウド上で動作し,あらゆる場所(携帯電話,タブレット,ラップトップ,ワークステーション)で表示されます.

Trameについてさらに詳しく

Trameドキュメンテーション

チュートリアルを通じて,Trameを実際に体験してください.

Trameチュートリアル

ウェブアプリケーションにおける3Dビジュアライゼーション#

PyVistaとTrameは,リアクティブなWebアプリケーションで3D視覚化のための最先端機能を提供するために,見事に連携します.

  1. Trameはリアクティブでステートフルなウェブアプリケーションを構築するためのハイレベルなフレームワークを提供します.

  2. PyVistaは3Dビジュアライゼーションのためのハイレベルなフレームワークを提供し,VTKを "Pythonic" な方法で公開する.

ハイレベルなフレームワーク1 + ハイレベルなフレームワーク2 = 3Dビジュアライゼーションを前面に押し出したパワフルなウェブアプリケーションを作るための合理的なアプローチです.

次のコードは,UI に PyVista プロッタを組み込んだシンプルな Trame アプリケーションを作成します.このコードは,PyVistaですべてのTrameアプリケーションを構築するためのベースとして使用できます.

import pyvista as pv
from pyvista import examples
from pyvista.trame.ui import plotter_ui
from trame.app import get_server
from trame.ui.vuetify3 import SinglePageLayout

# Always set PyVista to plot off screen with Trame
pv.OFF_SCREEN = True

server = get_server()
state, ctrl = server.state, server.controller

mesh = examples.load_random_hills()

pl = pv.Plotter()
pl.add_mesh(mesh)

with SinglePageLayout(server) as layout:
    with layout.content:
        # Use PyVista's Trame UI helper method
        #  this will add UI controls
        view = plotter_ui(pl)

server.start()
PyVistaを使ったシンプルなTrameアプリケーション

注釈

PyVistaのJupyterバックエンドはTrameで動いています! 最近JupyterでPyVistaを使っているなら,ずっとTrameを使っているはずです.JupyterバックエンドはマイクロTrameアプリケーションです.

Trame アプリケーション#

既存のアプリを使用する

from trame.app.demo import Cone

app = Cone("demo")
await app.ui.ready
app.ui

Pan3Dを試す: pip install pan3d

from pan3d import DatasetBuilder

builder = DatasetBuilder(viewer=True)

builder.import_config('example_sst_xarray.json')

# Show viewer in cell output
await builder.viewer.ready
builder.viewer.ui

演習#

これらの例をJupyterで実行するのではなく,スタンドアロンのスクリプトとして実行すること.

スタート

Getting started

アクターの色をコントロールします

Control the Color of an Actor

VTK/PyVistaとTrameの使用

Using VTK/PyVista and Trame

スカラー配列の制御

Control Scalar Array

スカラー範囲の制御

Control Scalar Range

VTK,PyVista,Trameの使用

Using VTK, PyVista, and Trame

Sphinx-Galleryによるギャラリー