naoya-ozawa / ProfileMonitorViewerCNS

A profile monitor viewer using Basler pylon for the CNS experiment
0 stars 0 forks source link

Using ROOT libraries with Pylon SDK #3

Closed naoya-ozawa closed 4 years ago

naoya-ozawa commented 4 years ago

The variable Version_t conflicts between these two libraries.

Currently, I run Pylon 5 (Linux version) and sample C++ codes on WSL Ubuntu 18.04 on the CCD-ThinkPad.

Possible workarounds are:

  1. Use other histogramming libraries (OpenCV?)
  2. Use Python (with the pypylon package)
  3. Use camera streaming libraries other than Pylon
naoya-ozawa commented 4 years ago

2 --> これを試してみるべし

naoya-ozawa commented 4 years ago

2 --> これを試してみるべし

ヒスト描画はこれ

naoya-ozawa commented 4 years ago

ここまでに達成されたこと

simplehistostream.pyで、

ができた。

plt.pause(0.5) としても1 fpsくらいになってしまうので、かなり遅い。実装にplt.pause() の代わりに animationを使うべきかもしれない。

気になること

  1. ログの横軸は時間にする?
    • 画像取得のFPSが安定しないので、時間:輝度にしたほうがわかりやすいか?
  2. 動作が異常に遅い
    • animation を使う?
    • pypylon の grabstrategies.py サンプルで使用されている方法に変更する?
  3. データ記録の方法は?
    • 画像取得while loop の各段階で画面を保存
    • 輝度情報は時間:輝度でtxtデータ/csvデータに格納したい
  4. スクリプトを走らせる/止めるタイミング
    • 画面上にSTOPボタンがあって簡単に止められるとよい?
    • 現状では Ctrl+C あるいは画面を消すことで止められる
    • while loop は無限にしておいたほうがよいが、Ctrl+Cや画面消去がうまく反応しない場合に困る
naoya-ozawa commented 4 years ago
naoya-ozawa commented 4 years ago
naoya-ozawa commented 4 years ago

2 --> PyQtGraph もいけるかもしれない

naoya-ozawa commented 4 years ago

2 --> FuncAnimation を使ったストリーミングを実装した。

maxで5 fps程度が達成され、90秒後でも3 fpsくらいは保てるが、2000秒くらい走らせ続けると、1fps程度まで落ちてくる。

このように、さらなる高速化はPyQtGraph等で可能と期待される。

naoya-ozawa commented 4 years ago

4 --> q を打つと画像取得&ストリーミングが終了するように設定した。

また2で FuncAnimation を導入する際にwhileループは無くなったので、現状 q するまで無限ループになっている。

naoya-ozawa commented 4 years ago

補足

現在の simplehistostream.pymatplotlib/FuncAnimation を使う方法として完成させておき、さらにこれをモジュール化して PyQtGraph で実装したものを histostream.py としてもよいか?

naoya-ozawa commented 4 years ago

3 --> 若干遅いが、実装した。

元画像保存については、pypylonsave_image.pyの例を借用した。

naoya-ozawa commented 4 years ago

commit d7585a5af791678e02fa14c08598d9e7e933fac8 で最低限の機能は実装された。

基本動作およびToDoはwikiに改めて記述する。