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関数の引数として、絶対パスで指定します。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
 
-
!
 
 
 
 
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秒毎に監視する例です。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 
 
 
 
 
 
 
 
-
!
 
 
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 20件 [詳細] filedata_type.png 20件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-01-15 (水) 09:48:18 (82d)