Live Programmable Sourceの使い方

Live Programmable Sourceの使い方

可視化ソフトウェアParaViewの"Live Programmable Source"を使用すると、データファイルの更新を監視して、更新されたらファイルの読み込みを行うようなことができます。

Live Programmable Sourceの場所

Live Programmable Sourceはメニューバーの

 Sources >> Data Objects >> Live Programmable Source

にあります。

Output Data Set Type

"Output Data Set Type"には、読み込むファイルにしたがって、自分で設定する必要があります。

output data set

あらかじめ、読み込みたいファイルを読み込んでから、Informationタブ内の

Statics > Type: 

を確認するとよいでしょう。

data type

例えば、

*.vtuvtkUnstructuredGrid
*.vtpvtkPolyData
*.vtivtkImageData

などのようになります。

Scriptの記述

Propertiesタブにある"Script"には以下のように、ファイルを読み込むリーダーと、監視するファイル名を記述します。

監視するファイル名は、SetFileName関数の引数として、絶対パスで指定します。

from paraview.vtk.vtkIOXML import vtkXMLImageDataReader as vtiReader
# adapt here to use the appropriate reader
reader = vtiReader()
reader.SetFileName('/Path/To/Directory/wavelets.vti')
reader.Update()

self.GetOutputDataObject(0).ShallowCopy(reader.GetOutput())

Script (Check Needs Update)の記述

Script (Check Needs Update)には、ファイルを監視するタイミングを記述します。下記は、5秒毎に監視する例です。

import time

if not hasattr(self, '_my_time'):
    setattr(self, '_my_time', time.time())

t = time.time()
last_time = getattr(self, '_my_time')

# adapt here to set the time (in sec) you want to wait between updates
if t - last_time > 5:
    setattr(self, '_my_time', t)
    self.SetNeedsUpdate(True)

添付ファイル: fileoutput_data_set.png 866件 [詳細] filedata_type.png 930件 [詳細]
Last-modified: 2020-01-15 (水) 09:48:18