Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dainakai/jetsonparticlemeas


https://github.com/dainakai/jetsonparticlemeas

Last synced: 25 days ago
JSON representation

Awesome Lists containing this project

README

        

# Jetson位相回復微粒子計測システムの使い方
## 1. カメラゲインの調整
等しい露光時間で撮影する2カメラそれぞれのゲインを,輝度値平均が0.5で一致するように調整します.
```
bash cmpGainAdj.sh
```
でゲイン調整用ソフトをコンパイルし,
```
./gainAdjLoop OffsetX OffsetY
```
で実行します.```OffsetX``` および ```OffsetY``` は Camera 2 の適当なセンサーオフセットであり,デフォルトの推奨値は```OffsetX = 332```,```OffsetY = 692```です.

カメラ位置調整等によりセンサーオフセットが大きく変化したときは,記録用に以下を編集してください.
```
./gainAdjLoop 332 692
```

ここで,Camera 1 はシリアルナンバー末尾が5の光軸上にない方のカメラであり,Camera 2 は末尾が6で光軸上にあるカメラです.センサーオフセットは手順2で調整するため,手順1および2は相互補完的に運用してください.

## 2. PIVベクトル場の取得
カメラバンドル調整のために2カメラのずれのベクトル場を取得します.まず,
```
bash cmpPIV.sh
```
で実行ファイルをコンパイルします.実行前に,ベクトル場のプロットファイルである```vecArrayPlot.pdf```を表示しましょう.
```
xdg-open vecArrayPlot.pdf
```

```
./PIVloop OffsetX OffsetY
```
で実行します.センサーオフセットは手順1で用いたものと同じです.手順1で調整したゲインは```gain.dat```から自動的に読み込まれます.

カメラ位置調整等によりセンサーオフセットが大きく変化したときは,記録用に以下を編集してください.
```
./PIVloop 332 692
```
センサーオフセットの調整は以下の手順で行うと良いでしょう.

1. 松四プレートを再生領域に設置し,オフセットをおおまかに調整する.
2. 谷プレートに付け替え,オフセットを微調整する.オフセットは,それぞれ4の倍数である必要があります.要件を満たさない場合は,プログラムはその旨を伝えるエラーを表示し正しく終了します.

谷プレートによるオフセット調整では,正しく配置するとエラーベクトルがでなくなります.エラーベクトルがある場合は,奥行き位置を調整してください.数個のエラーベクトルがやむなく出現する分には後の処理で解消できます.

## 3. ベクトル場の保存
それらしいベクトル場が得られたら,Ctrl+Zでプログラムを終了します.これは本来プロセス終了用のキーインタラプトですが,本システムのCプログラムについてはプログラムが正しく終了するように仕様を変更しています.

その後,以下のJuliaスクリプトで```vecArray.dat```と```vecArrayPlot.dat```を```./vectorResult/```以下の日時で識別できるディレクトリにコピーします.ディレクトリは分単位で生成されるため,手順2は分単位で実行してください.同じ時間・分で手順3を行おうとした場合は,ファイルが存在するためエラーを発します.
```
julia vecMove.jl
```

手順2でエラーベクトルが発生した場合は,当該の相関係数の計算点についてエラーベクトルでない正しいベクトルが得られるまで手順2および3を繰り返します.

## 4. 最適なベクトル場の取得
手順2および3で取得したいくつかのベクトル場から,エラーベクトルを含まないベクトル場を取得し,カレントディレクトリの同名ファイルに上書きします.一日に複数回これまでの操作を行う場合は,```./vectorResult/MMDD/```以下の古いファイルを```./vectorResult/```階層等に手動で別名で保存してください.
```
julia vecOptim.jl
```

## 5. バンドル調整係数の取得
手順4で得た最適ベクトル場から,以下のJuliaスクリプトでバンドル調整のための係数を取得し,```coefa.dat```に保存します.画像サイズとPIVウィンドウサイズを変更する場合はスクリプトの```main()```関数を手動で変更する必要があります.
```
julia getCorr.jl
```

## 6. バンドル調整チェック
手順5で保存した係数を読み込み画像変換を行ったものでPIVをすることでバンドル調整が正しく行われていることを確認します.手順2と同様にベクトル場のプロットは```vecArrayPlot```に保存されます.

```
xgd-open vecArrayPlot.pdf
```
コンパイル
```
bash cmpBundle.sh
```
実行
```
./bundleAdjCheck OffsetX OffsetY
```
カメラ位置調整等によりセンサーオフセットが大きく変化したときは,記録用に以下を編集してください.
```
./bundleAdjCheck 332 692
```

## 7. PR,Gabor再生
バンドル調整済の2画像からPR再生Imposed像を,Camera 2 からGabor再生像をそれぞれ取得します.はじめ.デフォルトで30枚の画像から平均背景画像を生成するため校正版等はすべて除去してください.背景は```./meanBkg1.png```,```./meanBkg2.png```として保存されます.背景取得完了後,5秒カウントの後に再生がスタートします.

コンパイル
```
bash cmpPRImp.sh
```
実行
```
./getPRImposed OffsetX OffsetY
```
カメラ位置調整等によりセンサーオフセットが大きく変化したときは,記録用に以下を編集してください.
```
./getPRImposed 332 692
```

再生像は,通常の8bit画像として```./ImposedOutput/MMDD/MMDDHHMM/```に保存されます.