ソフトウェアの説明 のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ソフトウェアの説明 へ行く。
- 1 (2012-05-21 (月) 14:33:36)
- 2 (2012-05-21 (月) 17:20:54)
- 3 (2012-05-21 (月) 17:56:53)
- 4 (2012-06-27 (水) 19:08:41)
- 5 (2012-09-12 (水) 16:52:11)
- 6 (2012-09-21 (金) 17:15:19)
- 7 (2012-09-24 (月) 03:59:59)
- 8 (2012-09-26 (水) 11:49:23)
- 9 (2012-09-30 (日) 16:16:41)
- 10 (2012-10-05 (金) 13:23:11)
- 11 (2012-10-12 (金) 19:57:59)
- 12 (2012-10-13 (土) 14:07:32)
- 13 (2012-11-03 (土) 15:06:17)
- 14 (2012-11-06 (火) 20:34:23)
- 15 (2012-11-07 (水) 23:14:35)
- 16 (2013-01-22 (火) 11:29:13)
- 17 (2013-01-29 (火) 18:03:36)
- 18 (2013-03-16 (土) 11:03:27)
- 19 (2013-03-29 (金) 20:21:38)
- 20 (2013-10-30 (水) 20:41:14)
- 21 (2015-05-10 (日) 23:11:52)
- 22 (2016-02-13 (土) 12:13:57)
- 23 (2018-05-09 (水) 23:37:08)
- 24 (2018-09-17 (月) 16:37:47)
- 25 (2019-05-18 (土) 21:17:52)
- 26 (2021-02-04 (木) 16:36:10)
NIC-Top に戻る
nic_software.txt
NICコマンド類の説明
20110730 禅野 20120502 高橋: calfocus.sh を追加
NICの操作コマンドはほぼすべて /usr/local/nic/bin/ に入れてある。 それらについて簡単に解説してみる。
NICの操作コマンドを使うには、次の2点が設定されていなければならない。 1. 環境変数 PATH に /usr/local/nic/bin を含める。 2. 環境変数 NIC_DEF_FILE を設定する。現在は
NIC_DEF_FILE=/usr/local/nic/nic.def でなければならない。
(NIC制御PCにユーザ nicop でログインする場合は ~/.bash_profile
で設定するようにしてある)
コマンド名の後ろに [sh] とかあるのは、コマンドファイルの種類を示している。 [sh]: sh スクリプト。 [bash]: bash スクリプト。 [tcl]: Tcl スクリプト。 [perl]: Perl スクリプト [C]: C言語で書かれたソースをコンパイルしてできたバイナリ。 [= Lo]: Lo というコマンドへのシンボリックリンクであることを示す。 C言語のソースは ~/src/ にある。
観測用コマンド †
観測者が直接使うようなもの
Lo [bash] TL [= Lo] DL [sh] PLo [bash] PTL [= PLo]
これらについては観測マニュアルを参照のこと。
xstop [sh]
データ取得コマンド(Loなど)の実行を中止したい場合に このコマンドを使う。引数なし。このコマンドは 単に「止まってね」という目印をつけるだけなので その目印をまじめにチェックしてるコマンドしか 止まらない。
cg3_init [sh]
COGITO3(VMEラック)の電源を入れた直後はこのコマンドを 実行してCOGITO3を初期化する。引数なし。 中身は、単に簡単なクロックパターンを走らせるだけ。
shutter [sh]
シャッターを動かすコマンド。 shutter open shutter close shutter pol と使う。単に shutter とすると現在位置を表示する。 現在位置はステータスファイル /usr/local/nic/shutter.status に書かれている。 モータードライバの電源を切ったままこのコマンドを使うと ステータスファイルの中身と実際とが食い違うことになる。 この場合、明らかに現在位置がわかっていれば、 shutter -set open などとして、ステータスファイルだけを更新することができる。 シャッターが中途半端な位置で止まったりした場合は shutter -init とした上で shutter open などとする。
pol [sh]
半波長板を動かすコマンド。 観測者が使うのは pol in pol out で、半波長板を出し入れするときだけと思われる。 半波長板を回転させるためには pol 0 pol 225 pol 450 pol 67.5 などとするが、これらは普通、偏光観測用のスクリプト(PLo, PTL) から呼ばれる。 ステータスファイルは /usr/local/nic/pol.status shutter 同様に -set オプションなどが使える。 pol -h でヘルプが表示される。
counter_check [sh]
現在の画像保存ディレクトリ名と、次の画像ファイルにつけられる 番号を表示する。引数なし。
counter_set [sh]
次の画像ファイルにつけられる番号を手動で設定する。 counter_set 201 とすると、次に Lo や DL で取る画像ファイル名は j110729_0201.fits などになる。 すでに存在する番号を指定した場合は上書きされるので注意。
datavol [sh]
現在の画像保存ディレクトリの総容量を表示する。引数なし。
dark [sh]
ダークフレームを取るためのスクリプトだが未完成。
disp3 [sh]
引数に番号を指定すると現在の画像保存ディレクトリの中から その番号のついたFITS画像をds9に表示する。 disp3 18 とすると j110730_0018.fits, h110730_0018.fits, k110730_0018.fits を表示する。 -d オプションで画像ディレクトリを指定できる。 たぶん使わない。
poldisp [sh]
PTL で偏光の試し撮りをすると、最後に生データのまま 0-45(Q), 22.5-67.5(U) の引き算を行った画像を表示する。 U画像が表示されたあとにQ画像が表示される。 poldisp u poldisp q とするとこれらの画像を切り替えて表示できる。 たぶん使わない。
niclean [sh]
作業ディレクトリにある、FITSヘッダ用テンプレートファイル などを消去する。おかしな情報がFITSヘッダに入ったり、 望遠鏡がヘンな方向を向いたりする場合に使うといいかも しれない。欲しい情報まで消えるかもしれないので注意。
telescop [sh]
なゆた望遠鏡システムと通信するかどうかを決めるコマンド。 telescop control ... 望遠鏡と通信する。 telescop status ... 望遠鏡情報ファイルだけ読み出す。 telescop off ... なにもしない。 これのステータスファイルは /usr/local/nic/tel.use 基本的には開発者のメンテナンス用コマンド。
focus [sh]
望遠鏡のフォーカスを調節するコマンド。 focus -6.03 などと使う。引数なしで focus とすると現在のフォーカス値を 表示する。
calfocus.sh [sh]
Ishiguro et al. (2011) ドーム温度とフォーカス位置の 依存関係を使って、フォーカス位置の推定値を出す。 ただし、あまり厳密ではない。 calfocus.sh dome_temp(摂氏) (例) calfocus.sh 12.3
point2 [sh]
望遠鏡を目標にポインティングさせるためのコマンド。 これを使うにはあらかじめ目標リストファイルを作っておく。 リストファイルには Albireo 2000 19 30 43.38 +27 57 35.0 などと、目標名、分点、RAの時、分、秒、Decの時、分、秒を 空白区切りで書いた行を並べる。(目標名には空白を含められない) そうしておいて、そのリストファイルの名前と目標名とを指定する。 point2 ~/catalog/my_objlist.txt Albireo という感じに使う。
point [sh]
これは point2 から呼び出されるが、観測者が直接使ってもよい。 point 2000 19 30 43.38 +27 57 35.0 などと使う。
offset [sh]
望遠鏡をすこしだけ動かすためのコマンド。 offset ra_offset dec_offset と、RA, Dec のオフセットを、どちらも角度秒で指定する。
telwait [sh]
望遠鏡が指定位置まで到達するのを待つ。引数なし。 現在は RA, Dec どちらも2秒角以内に入るまで待つが ちょっとゆるすぎる? 変更するにはこの telwait というファイルを直接編集する。 これで待てるのはポインティングするときで、 offset を動かした場合には対応していない。
以下のコマンドは観測者が直接使うことはないと思われる †
望遠鏡操作関連コマンド †
do_point.sh [sh]
point/offsetコマンドの下請けコマンド。 これは望遠鏡非依存で、実際にはさらに 望遠鏡依存の do_point_tel.* を呼び出す。
do_point_tel.nayuta [sh]
なゆた望遠鏡用の point/offset 下請けコマンド。 ここで望遠鏡向けのコマンド文字列を組み立てる。 実際に望遠鏡と通信するのはさらに下請けがやる。
telcontrol [C]
なゆた望遠鏡のUCCコマンドサーバとソケット通信する プログラム。
nayuta_cmd.sh [sh]
telcontrol コマンドはときどき RESULT=NG で失敗 するので、3回くらい再試行するためのスクリプト。 nayuta_cmd.sh MT CMD OFFSET=ON という感じで使う。
nayuta_status.sh [sh]
なゆた望遠鏡のステータスのうちキーワードを指定して その値を得る。 例えば nayuta_cmd.sh UCC CMD STAT=ENCL とやると ALARM=08 00 00 ENC_CTRL_MODE=ASYNC ENC_REAL_ANG=72.800000 ENC_CMD_ANG_ANS=73.000000 ENC_DRIVE=ON ... という感じでずらずらとステータスが得られるが、 その中から ENC_REAL_ANG を知りたい場合、 nayuta_status.sh ENCL ENC_REAL_ANG とすると 72.800000 と表示される。
nayuta_wait.sh [sh]
なゆた望遠鏡の RA, Dec, Focus について、 現在位置が設定値±しきい値以下になるまで待つ。 オプションは ra|dec|focus、しきい値、タイムアウト秒。 タイムアウトを省略すると600秒まで待つ。 nayuta_wait.sh ra 1 60 などと使う。RA, Decの場合のしきい値は角度秒で指定する。
telinfo.sh [sh]
UCCの望遠鏡情報ファイル Telescope.inf を読み出して FITSヘッダ用のテンプレートファイルを作る。
telinfo_extra.sh [sh]
望遠鏡情報ファイルに入っていない情報で、FITSヘッダに 入れたいものがある場合、個別に値を取ってきてヘッダに 追加するためのスクリプト。 現在は、DOME_FLAT_COUNT を追加している。 ほかにも入れたいキーワードがある場合はこのファイルに 直接記述していく。
COGITO3関連コマンド †
cogito3_reset [sh] cogito3_start [sh] cogito3_status [sh] cogito3_wait [sh] cogito3_read_cpg [= cogito3_rw_mem] cogito3_read_prg [= cogito3_rw_mem] cogito3_read_frma [= cogito3_rw_mem] cogito3_read_frmb [= cogito3_rw_mem] cogito3_write_cpg [= cogito3_rw_mem] cogito3_write_prg [= cogito3_rw_mem] cogito3_write_frma [= cogito3_rw_mem] cogito3_write_frmb [= cogito3_rw_mem] cogito3_rw_mem [sh]
COGITO3を操作するためのコマンド群。 VME-PCI通信用のデバイスドライバを通して COGITO3を操作する。 以前は btp というデバイスドライバを使っていたが vmedrv に変更したので書き直した。 引数などは以前と同じ。cogito3_statusだけ少し変更した。 以前のものは ~/doc/old/cg3cntl_bin/ にある。
vmes_io [C] vmes_mem [C]
cogito3_* コマンドの実体。 vmedrv 付属の vmeslib を使っている。 ソースは ~/src/vmes_rw/
クロックパターンのバイナリファイルを作るためのコマンド †
patmake_new [perl] calcstep [C] cnm2map.sh [sh] cpbfill [C] cpgp2bin [C] cps2cpi [C] loopextract.sh [sh] map2sds.sh [sh] prgp2bin [C] prp2exptime [C] sdsprs2prp.sh [sh]
これらはクロックパターン記述ファイルからクロックパターンの バイナリファイルを作成する。 詳しくは ~/src/patmake_bin/ を参照。
画像読み出しのための、クロックパターン作成と実行に関するコマンド †
readout_1_12M.sh [sh] readout_1_8M.sh [sh] readout_3_12M.sh [sh] readout_4_12M.sh [sh] readout_5_12M.sh [sh]
読み出しモード別の、画像読み出しスクリプト。 クロックパターンをその場で作成し、COGITO3へ転送し、パターンを 走らせる。
pat_make_run [sh]
クロックパターン記述ファイル(.prs)の名前を引数に与えると クロックパターンのバイナリファイルを作成してCOGITO3へ 転送し、パターンを走らせて、完了するまで待つ。
pat_run [sh]
pat_make_run と同じだがバイナリファイルの作成はせず すでに存在するバイナリファイルを使う。
cg3_sel_frm [sh]
引数は a または b で、それぞれ FRMA, FRMB という クロックパターンを走らせる。 cg3_sel_frm b とすると、観測装置側からは FRM B にアクセスすることになり、 PC側からは FRM A が読み書きできるようになる。
画像データの転送と、FITSファイル作成に関するコマンド †
transfer_data_1_12M.sh [sh] transfer_data_1_8M.sh [sh] transfer_data_3_12M.sh [sh]
COGITO3の画像メモリからPCへデータを転送するためのスクリプト。 できあがるのはJHK各バンドのバイナリデータファイル。
makefitsfile.sh [sh]
画像のバイナリファイルからFITSファイルを作るスクリプト。 バイナリファイルをFITSファイルにし、画像を回転させ、 FITSヘッダを書き込む。
makefts [C]
バイナリデータからFITSファイルを作るコマンド。
reordering [C]
検出器のクワドラントを考慮してちゃんとした1枚の画像になるように ピクセルのデータを並べ直す。入出力ともにFITSファイル。
reorder3 [C]
3バンド同時撮像モードを使った場合、 画像メモリから転送されたバイナリデータはJHKのデータが混ざっている。 それをJHKに分離して、ついでにピクセルの並び替えもやる。 入出力ともにバイナリデータ。
applytemplate [C]
FITSヘッダ用テンプレートファイルを使ってFITSヘッダを書き込む プログラム。テンプレートとは、ヘッダの内容が1行につき key = value / comment という形式で書かれたファイル。詳しくはcfitsioのドキュメントを参照。
imarith [C]
これはcfitsioのexampleからそのまま使っている。 FITS画像の引き算や割り算に使う。
モーター制御関連コマンド †
Cのソースは ~/src/motor/ にある。
motion_run.sh [sh]
モーター動作定義ファイル /usr/local/nic/motion.def にしたがって、3つのモーター(シャッター、pol出し入れ、pol回転) を制御するためのスクリプト。
motion_wait.sh [sh]
モーターの動作が完了するまで待つ。 現在は、3つのモーターを識別することができず、 すべてが動作停止するまで待ってしまう。
motion_register.sh [sh]
モーター動作定義ファイルの内容をモーター制御ボードの EEPROM (CmdBuffer) に登録するためのスクリプト。 これが何かわからないまま使うべきではない。
motion_setdata [C]
モーター動作をCmdBufferに書き込むプログラム。 わからないまま使うべきではない。
motion_start [C]
CmdBufferを指定して動作を開始する。
motion_status [C]
モーターが動いているかどうかを表示する。 現在は4軸すべてごっちゃにしている。
motion_loopstat [C]
モーターのステータスを表示するプログラム。 これをバックグラウンドでいいから動かしておかないと モーターが動作しないようだ。不思議。
motioncalcindex.sh [sh]
CmdBufferのアドレスを計算する。
その他のコマンド †
nextdatafile.sh [sh]
画像ファイルを保存するときに、その名前を連番で作っていく スクリプト。画像保存ディレクトリの自動作成も行う。
echodate [tcl]
現在時刻をFITSヘッダテンプレート形式で表示する。 とりあえずNIC制御PCの時計を使っている。
ra_print [C] dec_print [C]
RA, Dec を "+12:34:56.7" といった文字列から 角度秒(arcsec)に変換したり、逆に角度秒から 文字列を作ったりするコマンド。 引数なしで実行すると使い方が表示される。
dither [C]
ディザリング用の、オフセット量を計算するプログラム。
/usr/local/nic/ にあるファイル †
motion.def nic.def pol.status shutter.status site.def tel.use