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"には、読み込むファイルにしたがって、自分で設定する必要があります。
あらかじめ、読み込みたいファイルを読み込んでから、Informationタブ内の
Statics > Type:
を確認するとよいでしょう。
例えば、
| *.vtu | vtkUnstructuredGrid |
| *.vtp | vtkPolyData |
| *.vti | vtkImageData |
などのようになります。
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)
Last-modified: 2020-01-15 (水) 09:48:18

