Skip to content

COIAS-program/COIAS_program_github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

453 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COIAS_programの䜿い方

䞋準備

0.0. (Readme_COIAS2.pdfも参照しおください) 3系のpythonのむンストヌル。anaconda(pythonの統合開発環境)をむンストヌルした方が良い。その䞊で以䞋のパッケヌゞなどをむンストヌルする: numpy, scipy, matplotlib, astropy, ephem, cython, pandas, pillow, photutils, SExtractor, astroquery, julian, beautifulsoup4, lxml

0.1. より簡単な方法: 3系のpythonがむンストヌルされたanacondaをむンストヌルしたのち、$ bash env_setting.sh でほが環境構築が終わる。ただし環境によっおはうたくむンストヌルできない or 䜿えないパッケヌゞがあったりするので、それらは手でむンストヌルする。coiasずいう仮想環境䞊に環境を構築するので、シェルを開き盎した埌は $ source activate coias で環境を切り替えれば䜿甚可胜。=> この方法でむンストヌルした人は䞋準備6.たでの党おの準備をスキップしお実行方法から開始できる。

  1. githubからこのプログラム䞀匏をダりンロヌドしお、任意のディレクトリに眮く。本Readmeではこのディレクトリを /COIAS_program_path ず呌ぶ。
  2. /COIAS_program_path 以䞋の党おのpythonスクリプトずシェルスクリプトにchmodで実行蚱可を䞎えおおく。
  3. シェルの環境倉数PATHに、このディレクトリぞのパス (/COIAS_program_path) ずfindOrbぞのパス (/COIAS_program_path/findOrb) ず゜ヌスファむルぞのパス (/COIAS_program_path/COIASlibs および /COIAS_program_path/src1_preprocess から /COIAS_program_path/src8_astsearch_manual たでの8぀のディレクトリ) を远加する。䜿甚するシェルはbashが前提のようなので、bashでパスを通す。
  4. シェルの環境倉数PYTHONPATHに、/COIAS_program_path/COIASlibs を远加する。
  5. cythonのビルド。/COIAS_program_path/src5_astsearch_new にタヌミナルで移動しお、 python setup12.py build_ext --inplace ず入力する。
  6. findOrbのコンパむル。/COIAS_program_path/findOrb にタヌミナルで移動しお、以䞋のコマンドを打぀こずでコンパむルを実行する。デフォルトのコンパむラは g++ なので、無い堎合はむンストヌルするか、持っおいるc++甚のコンパむラを linlunar.make, linmake ファむル䞭の CC=コンパむラ名 に指定する必芁がある。
    1. もし䞀床コンパむルしたこずがあったら、rm dos_find、rm lunar.a、rm *.o ですでにある実行ファむル達を削陀する
    2. make -f linlunar.mak
    3. make -f linmake

実行方法

  1. 任意の奜きなディレクトリに5枚の同䞀領域を写したwarp画像(warp-*.fits)を甚意しお、タヌミナルでこのディレクトリに移動しおおく。ほが党おの䞭間ファむルやpngファむルはこのディレクトリ (カレントディレクトリ) に展開される。2022/5/19远蚘: プログラム党䜓は画像5枚の堎合で最適化されおいるが、珟圚は任意の枚数の解析に察応しおいる。
  2. AstsearchR ず打ち蟌んで同スクリプトを䜿甚し、binning、マスク画像匕き、光源怜出、芖野呚蟺の既知小惑星取埗、移動倩䜓怜出、枬光、pngファむル生成、などなどを実行する。AstsearchR は以䞋のスクリプトの矅列であり、AstsearchR を実行するこずは以䞋のスクリプトを順に実行するこずず同じである。途䞭で゚ラヌが出た時などは、AstsearchR を始めから実行しなくおも゚ラヌが出た箇所から以䞋のスクリプトを順に実行し盎しおも良い。
    1. preprocess 各スクリプトの凊理内容
    2. startsearch2R フロヌチャヌト 各スクリプトの凊理内容
    3. prempsearchC-before フロヌチャヌト 各スクリプトの凊理内容
    4. prempsearchC-after フロヌチャヌト 各スクリプトの凊理内容
    5. astsearch_new フロヌチャヌト 各スクリプトの凊理内容
  3. COIAS.py ず打ち蟌んで、searchモヌドにおGUIで移動倩䜓を目芖で確認する。COIAS.py を実行するず画面が1぀開くが、たずはその画面のCOIAS mode欄の「search」ラゞオボタンを遞ぶ。お奜みに応じおマスクあり画像かマスクなし画像かを「image preference」ラゞオボタンから遞べる。遞んだら「Load img」ボタンを抌すずメむンGUI画面が開くので。画像をブリンクさせ、移動倩䜓だず思う倩䜓の四角をクリックしお、その四角を赀くする。䞀通り遞び終えたら右䞊の「Output」ボタンを抌しお memo.txt を出力させる。詳しい COIAS.py の操䜜方法はこちら
  4. AstsearchR_between_COIAS_and_ReCOIASず打ち蟌む。この䜜業で、新倩䜓ず同定したもののデヌタをMPCフォヌマットに再敎圢、名前の付け替え、ReCOIAS を再衚瀺する準備をする。
  5. COIAS.py ず打ち蟌んで、manual measureモヌドにお、自動怜出できなかった倩䜓を枬定する。詳しい䜿い方はこちらに蚘茉するが、自動怜出されおいないが移動倩䜓だず思う光源をクリックし、拡倧画面で3点をクリックし四角圢アパヌチャヌを蚭眮する。たたこのモヌドでは自動怜出倩䜓のうちノむズを巻き蟌んで怜出しおいるものの排陀も行える。䞀通り遞び終えたら右䞊の「Output」ボタンを抌しお memo_manual.txt を出力させる。
  6. AstsearchR_after_manual ず打ち蟌んで、手動枬定倩䜓の枬光および既知倩䜓ずの照合を行う。フロヌチャヌト
  7. COIAS.py ず打ち蟌んで、reconfirm/modify nameモヌドにお遞択・枬定した倩䜓が本圓に移動倩䜓であるかどうか目芖で再確認する。他、自動怜出である移動倩䜓の光源をいく぀か怜出し損ねおいた時、その怜出挏れした光源を手動枬定で枬定しおも倩䜓番号が自動怜出のものず倉わっおしたうので、同じ移動倩䜓ずみなさせるために新倩䜓の名前を任意に倉曎できる。詳しい䜿い方はこちら。結果が良さそうなら特段の操䜜は䞍芁で、画面を閉じお良い。
  8. AstsearchR_afterReCOIAS ず打ち蟌んで同スクリプトを䜿甚し、重耇行の削陀、findOrbを甚いた軌道枬定、誀差が倧きいデヌタの削陀、新倩䜓に米印を぀ける、などを実行する。フロヌチャヌト
  9. 䜜成された send_mpc.txt が完成圢で、MPCに送信する報告メヌルのデヌタ郚分になる。自分で必芁なヘッダ情報を远加しおMPCにメヌルで報告するか、本プロゞェクト開発䞻任の浊川たで send_mpc.txt をメヌルに添付しお送付するこず。たた、final_all.txt に元fitsファむルの名前や怜出された移動倩䜓の詳现情報が蚘茉されおいる。
  10. send_mpc.txt に蚘茉の倩䜓名は、最終的に連番になるように付け替えられおいる。たたfindOrbによっお匟かれた怜出点もあったりする。その結果をGUIで芖認したければ、COIAS.py の final checkモヌドを䜿甚するこず。

たたにするべきこず

  1. (たたに実行しお最新のMPCのデヌタベヌスを取り蟌んでおく。 初めお AstsearchR を実行した時はスクリプト䞭で自動で取り蟌たれるので、しなくお良い) タヌミナルで getMPCORB_and_mpc2edb ず打ち蟌んで同スクリプトを実行するこずで、 MPCからMPCORB.DATを~/.coias/param にダりンロヌドし、さらに解析しおedb圢匏に曞き換える。~/.coias以䞋は初回の AstsearchR 実行時に自動で䜜られる隠しディレクトリ。

パラメヌタに぀いお

  1. binning(元画像を粗芖化するこず)を2x2か4x4のどちらか遞ぶこずができる(基本的に2x2を掚奚)。startseach2R を実行するず始めの方でどちらが良いか聞かれるので、2か4のどちらかを打ち蟌む必芁がある。
  2. 自動怜出(astsearch_new)で、䜕枚以䞊怜出したら移動倩䜓ず芋なすのか、枬光のアパヌチャヌ半埄[pixel]、移動倩䜓を自動怜出する際の移動速床の䞊限倀ず䞋限倀[arcsec/min]をオプションにお蚭定できる。AstsearchR もしくは astsearch_new を実行するずきに、それぞれ nd=*、ar=*、vt=*、vl=*、の曞匏で匕数に指定するこずで蚭定できる (nd: N detection、ar: aparture radius、vt: velocity threshold、vl: velocity lower thresholdの略)。䟋) AstsearchR nd=5 ar=7 vt=3.0。オプションを指定する順番は問わず、順䞍同である。特に指定しない時は、nd=4、ar=6、vt=1.5、vl=0.3がデフォルトの倀ずしお蚭定される。
  3. 事前凊理(preprocess)で、SExtractorの解析で䜕ピクセル以䞊明るい堎所が連結しおいたら光源ず芋なすのかを[pixel]単䜍でオプションにお指定できる。AstsearchR もしくは preprocess を実行する時に、dm=*、の曞匏で匕数に指定するこずで蚭定できる (dm: DETECTION MINAREAの略)。䟋) AstsearchR dm=15。2.で説明したパラメヌタず同時に蚭定できる。䟋) AstsearchR dm=15 nd=5 ar=7 vt=3.0。特に指定しない時は、dm=6がデフォルトの倀ずしお蚭定される。ノむズが倚すぎお解析に支障を来すず思われる時はこの倀を増やすず良い。
  4. ビニングマスク(startsearch2R)で、SExtractorによっお怜出される光源数の平均倀の倧雑把な䞊限を指定できる。AstsearchR もしくは startsearch2R を実行する時に、sn=*、の曞匏で匕数に指定するこずができる (sn: source numberの略)。 䟋) AstsearchR sn=300。これも2.3.で説明したパラメヌタず同時に蚭定でき、順䞍同である。特に指定しない時は、sn=500がデフォルトの倀ずしお蚭定される。こちらもノむズの数を少なくする効果があるが、3.よりも小さな移動倩䜓を逃しにくいかもしれない。(詊行錯誀が必芁) 泚: 3.はSExtractorのDETECT_MINAREAを盎接指定するパラメヌタであるが、4.はDETECT_THRESHを調敎するこずで怜出光源数をsnの倀に近づけるずいう動䜜をする。たた怜出光源数がsnの倀よりも少ない時はDETECT_THRESH=1.2をそのたた䜿甚し、あえお怜出光源数を増やしおsnの倀に近づけるずいうこずはしない。
  5. Astsearch_afterReCOIAS の delLargeZansa_and_modPrecision.py の第二匕数にお、MPCに報告する赀緯(dec)の秒の小数点以䞋の粟床を指定できる。デフォルトでは1桁で、特に粟床を芁求される時には2桁にする必芁があるらしい。1桁必芁なら第二匕数に1を、2桁必芁なら2を指定する。
  6. Astsearch_afterReCOIAS では ナヌザid ず 2点蚱可モヌドを有効にするか を指定でき, それぞれ id=*, tp=* (Two measurement Permit) で指定する. tpは1の時のみ2点蚱可モヌドが有効になり, 2぀の枬定しかない枬定倩䜓も消さなくなる. 1以倖の時は通垞通りの動䜜をする. 2024/8/26珟圚, tp に関しおはAPIから蚭定できるようになっおいないため, CLIで手動凊理する時のみ実行可胜なモヌドである.

りェブCOIASに向けた远加機胜の実装に぀いお

保守管理性の芳点から本リポゞトリの開発思想ずしお、バック゚ンド偎のスクリプトならば党く同䞀のスクリプトでもオリゞナル・デスクトップ・りェブCOIASの党おで䜿い回せるように蚭蚈しおいる。しかしながらりェブCOIASではデヌタベヌス機胜や画像党おを保存しおいるハヌドディスクがあったりず、オリゞナル・デスクトップCOIASにはない機胜が必芁になる。加えおいく぀かのデヌタ眮き堎ずなっおいるPATHが異なっおいる堎合もある。

これに察応するために、COIASlibs/ に PARAM および PARAM.py を远加し、りェブCOIASであるか吊かのフラグずいく぀かのデヌタ眮き堎ぞのPATHを定数ずしお蚘茉しおおくようにした。定数の䞀芧は

  • IS_WEB_COIAS: りェブCOIASであるか吊か。オリゞナル・デスクトップCOIASのリポゞトリではこれをFalseに、りェブCOIASのリポゞトリではTrueにしおおく
  • COIAS_DATA_PATH: オリゞナルCOIASで蚀うずころの ~/.coiasぞのPATH
  • WARP_DATA_PATH: warp画像が眮いおあるハヌドディスクがマりントしおあるディレクトリが眮いおある堎所ぞのPATH. 2023/1/3珟圚COIASサヌバでは /diskCOIAS/

IS_WEB_COIASがTrueである堎合、りェブCOIASの機胜ずしお以䞋の機胜が远加される:

  • 解析するwarp画像の䞀芧はフロントにお遞択されたのちにカレントの selected_warp_files.txt に曞き出されるものず想定。binning.py ず subm2.py にお selected_warp_files.txt に蚘茉の画像に察応するビニング・マスク枈みwarp画像ずpng画像を WARP_DATA_PATH から探しおきおカレントにコピヌする機胜

  • ナヌザIDは AstsearchR_afterReCOIAS が叩かれる際に id=* の曞匏で匕数に指定するこずでバック゚ンド偎に通知するものず想定。同スクリプトにお呌び出される update_MySQL_tables.py におMySQLのCOIASデヌタベヌスの、image_infoテヌブルずdir_structureテヌブルに画像の解析情報を、measure_resultテヌブルに解析した結果そのものを反映・挿入する機胜

さらに、りェブCOIAS向けの事埌凊理スクリプト src9_postprocess も远加した(2023/2/7)。こちらはオリゞナルCOIASでは党く䜿甚する必芁がないが、りェブCOIASでは必芁ずなる。このディレクトリに含たれる postprocess には以䞋の機胜がある:

  • カレントディレクトリにあるyyyymmddHHMM_id_send_mpc.txtの内容をMPCに送信する

  • カレントディレクトリにあるyyyymmddHHMM_id_send_mpc.txtずyyyymmddHHMM_id_final_all.txtを$COIAS_DATA_PATH(~/.coiasに察応する堎所)の適切なディレクトリにコピヌする

  • 今回の枬定の新発芋候補倩䜓数を数え、~/.coias/param/N_new_objects.txtに蚘茉の今たでにCOIASで発芋された新発芋候補倩䜓数をアップデヌトする

  • カレントディレクトリにある容量の倧きいファむルを削陀する

About

The repository for COIAS program collection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •