tabuchi:qtxtop
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
tabuchi:qtxtop [2016/02/23 09:36] – external edit 127.0.0.1 | tabuchi:qtxtop [2020/08/13 13:09] (現在) – mtab | ||
---|---|---|---|
行 1: | 行 1: | ||
====== QtXTop : FLIライブラリを利用して CCD カメラ等を使用するための Stars ドライバ ====== | ====== QtXTop : FLIライブラリを利用して CCD カメラ等を使用するための Stars ドライバ ====== | ||
+ | ===== - 概要 ===== | ||
FLIのライブラリを使用し、FLI のライブラリに認識されるCCDカメラに対して | FLIのライブラリを使用し、FLI のライブラリに認識されるCCDカメラに対して | ||
Stars 経由でコマンドを送って制御する為の Strs ドライバです。 | Stars 経由でコマンドを送って制御する為の Strs ドライバです。 | ||
- | | + | ===== - ダウンロード ===== |
+ | | ||
+ | * {{: | ||
* 2016.02.18 : 実際にX線を使って正しく撮影されているかどうかは確認していません。\\ 光がない状態で、実装されているコマンドを送って応答が正しいこと、撮影コマンドを送った時内部状態が正しく遷移しデータファイルができること、は確認してあります。 | * 2016.02.18 : 実際にX線を使って正しく撮影されているかどうかは確認していません。\\ 光がない状態で、実装されているコマンドを送って応答が正しいこと、撮影コマンドを送った時内部状態が正しく遷移しデータファイルができること、は確認してあります。 | ||
行 10: | 行 13: | ||
* 2016.02.23 : カメラにシャッターがないので、露光と読み出しを連続で行ってしまうと像が流れる。\\ その対策として、Exposure コマンドの中身を3つのコマンド(StartExposure, | * 2016.02.23 : カメラにシャッターがないので、露光と読み出しを連続で行ってしまうと像が流れる。\\ その対策として、Exposure コマンドの中身を3つのコマンド(StartExposure, | ||
- | 履歴 | + | ===== - 履歴 |
* 2016.2.18 : この Wiki ページでの公開を開始しました。 | * 2016.2.18 : この Wiki ページでの公開を開始しました。 | ||
* 2016.2.19 : 更新 | * 2016.2.19 : 更新 | ||
* 2016.2.23 : Exposure を分解した 3つのコマンドを実装。StartExposure, | * 2016.2.23 : Exposure を分解した 3つのコマンドを実装。StartExposure, | ||
+ | * 2020.2.26 : 64bit Windows10 で動作確認したバージョンを upload しました。 | ||
+ | |||
+ | ===== - 簡単な説明 ===== | ||
+ | |||
+ | ==== - 設定ファイル ==== | ||
+ | QtXTop の設定は、同じフォルダに置いた config.cfg に書けます。 | ||
+ | 次にあげるのは設定ファイル(config.cfg)の内容の例です。 | ||
+ | < | ||
+ | STARS_IP 192.168.11.111 # | ||
+ | STARS_PORT 6057 # | ||
+ | KEY_FILE_NAME QtXTop # | ||
+ | NAME_ON_STARS QtXTop # | ||
+ | |||
+ | CAMERA_NO 0 # | ||
+ | </ | ||
+ | |||
+ | ==== - Stars経由でのコマンド ==== | ||
+ | QtXTop は Stars 経由で送られてくる下記のコマンドを認識します。 | ||
+ | |||
+ | ^ コマンド名 ^ 引数 ^ 説明 ^ 凡例/ | ||
+ | ||||| | ||
+ | |IsBusy | 無し | 撮影中は 1 そうでなければ 0 を返す | | | ||
+ | ^ ^ ^ ^ ^ | ||
+ | |GetLibVer | 無し | ライブラリのバージョンを表す文字列を返す | | | ||
+ | |GetModel | 無し | モデル名を表す文字列を返す | | | ||
+ | |GetSerialSTR | 無し | シリアル番号を表す文字列を返す | | | ||
+ | |GetHWRev | 無し | ハードウエアのバージョンを表す数字を返す | | | ||
+ | |GetPixSize | 無し | ピクセルサイズを表す 2つの数字を返す | | | ||
+ | |GetArrayArea | 無し | デバイスのピクセルサイズ? | ||
+ | |GetVisArea | 無し | デバイスの有効サイズ? | ||
+ | |SetTemp | 1つ | 温度を設定する(実数、℃) | | | ||
+ | |GetTemp | 無し | デバイスの CCD温度と、ベース温度を示す2つの数字を返す | | | ||
+ | |GetCCDTemp | 無し | デバイスの CCD温度を返す | | ||
+ | |GetBaseTemp | 無し | デバイスの ベース温度を返す | | ||
+ | |GetCoolerPWR | 無し | クーラーパワーの数値を返す | | ||
+ | ^ ^ ^ ^ ^ | ||
+ | |SetBin | 3つ | bin を設定する。hbin, | ||
+ | |GetBin | 無し | bin を表す3つの数字を返す。 hbin, vbin, rbin の順 | 1 1 1 | | ||
+ | |SetRBIFlushes | 1つ | 何回 RBI Flush を行うかを指定 (デフォルト は 0) | | | ||
+ | |GetRBIFlushes | 無し | 設定されている RBIFlushes の数字を返す | | | ||
+ | |SetRBIExpTime | 1つ | RBI Flush に際して露光を行う時間を指定。\\ デフォルトは 500 (500ミリ秒? | ||
+ | |GetRBIExpTime | 無し | 設定されている RBIExpTime の数字を返す | | | ||
+ | |SetTDIRate | 1つ | 本番撮影の際の TDI Rate を指定。デフォルトは 0 | | | ||
+ | |GetTDIRate | 無し | 設定されている TDIRate の数字を返す | | | ||
+ | ^ ^ ^ ^ ^ | ||
+ | |SetImages | 1つ | 連続して何枚イメージを撮影するかの指定。デフォルトは 1 | | | ||
+ | |GetImages | 無し | 設定されている Images の数字を返す。 | | | ||
+ | |SetExpTime | 1つ | 本番撮影の露光時間を指定。デフォルトは 500 (500ミリ秒? | ||
+ | |GetExpTime | 無し | 設定されている露光時間を返す。 | | | ||
+ | |SetInterval | 1つ | 複数枚イメージを取る際、間を開ける時間。\\ デフォルトは 0。現在内部では使われていない(無効)。 | | | ||
+ | |GetInterval | 無し | 設定されている Interval を返す。 | | | ||
+ | |SetFileName | 1つ | 撮影されたデータを保存するファイル名の設定。\\ 実際の保存の際には、指定された名前にイメージ番号が加わわります。| | | ||
+ | |GetFileName | 無し | 設定されているデータファイル名を返す。 | | | ||
+ | ^ ^ ^ ^ ^ | ||
+ | |Exposure | 無し | 撮影。即 OK が返ってきます。\\ 撮影が終わったかどうかは IsBusy できくか、EvChangedIsBusy 0 を待つかしてください。\\ このコマンドを実行する前に設定した \\ hbin, vbin, rbin, RBIFlushes, RBIExpTime, Images, ExpTime, FileName, TDIRate \\ の数字/ | ||
+ | |StartExposure | 無し | 撮影。即 OK が返ってきます。CCDからのデータ読み出しは行いません。\\ 事前に設定した hbin, vbin, ExpTime, TDIRate の値が使われます。 | | | ||
+ | |DownLoadImage | ||
+ | |RBIFlush | 無し | 決められた条件で CCD に借りの露光動作とデータの空読みを行います。\\ 撮影前のデバイスクリアの動作? \\ rbin, RBIFlushes, RBIExpTime の値が使われます。| | | ||
+ | ^ ^ ^ ^ ^ | ||
+ | |SetUseSeqFNo | 1つ | ファイル名に通し番号を付けるかどうか。 1 : Yes, 0 : No。 \\ Yes にすると、SetFileName したファイル名に通し番号がついた名前で保存されます。 | | | ||
+ | |GetUseSeqFNo | 無し | ファイル名に通し番号を付ける設定かどうかを尋ねる。 1 : Yes, 0 : No | | | ||
+ | |SetSeqFileNo | 1つ | 通し番号の最初の数字を指定。データファイル保存のたびに一つづつ増えます。 | | | ||
+ | |GetSeqFileNo | 無し | 次に使われる通し番号。 | | | ||
+ | |||
+ | ==== - Stars経由で発生するイベント ==== | ||
+ | |||
+ | QtXTop は、下記のイベントを Stars 経由で発生します。 | ||
+ | |||
+ | ^ イベント名 ^ 説明 ^ | ||
+ | |EvChangedIsBusy | QtXTop 側から能動的に発生するイベントメッセージ。\\ 撮影が始まるった時点で 1, 終わった時点で 0 が発生。 | | ||
+ | |||
+ | |||
+ | ===== - その他、チップス等 ===== | ||
+ | |||
+ | ==== - 縦横のピクセル数の取得 ==== | ||
+ | ファイルから画像を復元するときには、縦横のピクセル数が必要になります。 | ||
+ | それは、Stars 経由で GetVisArea を送った時の回答の 4つの数字を x1 y1 x2 y2 とした時、 | ||
+ | 幅 = x2-x1, 高さ = y2-y1 | ||
+ | で求まります。 | ||
+ | | ||
+ | ==== - 画像ファイルの ImageJ での読み込み ==== | ||
+ | |||
+ | ImageJで読む場合は、Import/ | ||
+ | Image type = 16-bit Unsigned、Offset = 0, Little-endian byte orderにチェックを入れると読み込めます。 | ||
- | 簡単な説明 : | + | ==== - ImageJ での画像解析の前に ==== |
+ | - 撮影と同じ露光時間で測定したダークレベルを差し引く | ||
+ | - Process/ | ||
+ | をしておくと、かなり弱い信号まで高いS/ | ||
- | QtXTop の設定ファイル(config.cfg)の内容\\ | + | ==== - 画像の回転 ==== |
- | ----------------------------------------------------------------------------------------\\ | + | FLIGrabで見える画像はカメラで見たそのままですが、保存される.rawファイルは、180°回転像になっています。 |
- | STARS_IP 192.168.11.111 # | + | |
- | STARS_PORT 6057 # | + | |
- | KEY_FILE_NAME QtXTop # | + | |
- | NAME_ON_STARS QtXTop # | + | |
- | \\ | + | |
- | CAMERA_NO 0 # | + | |
- | ----------------------------------------------------------------------------------------\\ | + | |
- | \\ | + | |
- | \\ | + | |
- | ----------------------------------------------------------------------------------------\\ | + | |
- | QtXTop | + | |
- | ----------------------------------------------------------------------------------------\\ | + | |
- | IsBusy : | + | |
- | \\ | + | |
- | GetLibVer : | + | |
- | GetModel : | + | |
- | GetSerialSTR : | + | |
- | GetHWRev : | + | |
- | GetPixSize : | + | |
- | GetArrayArea : | + | |
- | GetVisArea : | + | |
- | SetTemp : | + | |
- | GetTemp : | + | |
- | GetCCDTemp : | + | |
- | GetBaseTemp : | + | |
- | GetCoolerPWR : | + | |
- | \\ | + | |
- | SetBin : | + | |
- | GetBin : | + | |
- | SetRBIFlushes : | + | |
- | GetRBIFlushes : | + | |
- | SetRBIExpTime : | + | |
- | GetRBIExpTime : | + | |
- | SetTDIRate : | + | |
- | GetTDIRate : | + | |
- | \\ | + | |
- | SetImages : | + | |
- | GetImages : | + | |
- | SetExpTime : | + | |
- | GetExpTime : | + | |
- | SetInterval : | + | |
- | GetInterval : | + | |
- | SetFileName : | + | |
- | 実際の保存の際には、指定された名前にイメージ番号を付け加えた名前になります。\\ | + | |
- | GetFileName : | + | |
- | \\ | + | |
- | Exposure : | + | |
- | 撮影が終わったかどうかは IsBusy できくか、EvChangedIsBusy 0 を待つかしてください。\\ | + | |
- | このコマンドを実行する前に設定した hbin, vbin, rbin, RBIFlushes, RBIExpTime, Images, ExpTime,\\ | + | |
- | FileName, | + | |
- | StartExposure : 引数 無し : 撮影。即 OK が返ってきます。CCDからのデータ読み出しは行いません。\\ | + | |
- | 事前に設定した hbin, vbin, ExpTime, TDIRate の値が使われます。\\ | + | |
- | DownLoadImage | + | |
- | 事前に設定した FileName が使われます。\\ | + | |
- | RBIFlush : | + | |
- | 撮影前のデバイスクリアの動作?\\ | + | |
- | rbin, RBIFlushes, RBIExpTime の値が使われます。\\ | + | |
- | \\ | + | |
- | EvChangedIsBusy : | + | |
- | \\ | + | |
- | SetUseSeqFNo : | + | |
- | Yes にすると、SetFileName したファイル名に通し番号がついた名前でデータが保存されます。\\ | + | |
- | GetUseSeqFNo : | + | |
- | SetSeqFileNo : | + | |
- | GetSeqFileNo : | + | |
+ | ===== - What to Do ===== | ||
+ | * 連番のナンバリングは修正すべし\\ SetUseSeqFNo 1のとき、連続ファイルの番号は1ずつ増えて、scan_0001-0000.raw, | ||
+ | * FLIGrabと同時に使っていると、FLIGrab終了時にCCDの冷却が止まってしまう。\\ 起動時に " | ||
+ | ------ | ||
+ | 当 web ページとその下のページに関するお問い合わせ等ございましたら、[[連絡先|連絡先]]にご連絡をお願いします。 \\ | ||
+ | [[start|田渕のページのルート]] | ||
tabuchi/qtxtop.1456220200.txt.gz · 最終更新: 2016/02/23 09:36 by 127.0.0.1