ISOCAM Interactive Analysis (CIA)

東大・理・天文学教育研究センター
田辺 俊彦

日本とISOCAM チームとの協定により、ISOCAM チームによって開発された ISCAM Interactive Analysis (CIA) を東京大学理学部天文センターのワークステーショ ンに導入した。 CIA は、IDL 上で開発された解析ソフトであるが、一部 C 及び C++ による executable を使用しており、machine-dependent である。 現在は、Solaris 版のみ配布が許されている。 日本においては、ただ一か所のみの導入が許されているので、使用されたい方は、 田辺まで連絡されたい。 詳しい使い方は、ISOCAM Interactive Analysis User's Manual に書かれている。

ここでは、ごくごく簡単に CIA によるデータ解析について述べる。

CIA によるデータ解析は、Edited Raw Data (ERD) を用いる。 Standard Processed Data (SPD) や Auto Analysis Results (AAR) は、基本的に用いない。

CIA では、まず、x_slicer というコマンドにより ERD (CAM Edited Raw Data, cier.fit) を raster scan の場合は raster の各点各点毎の、CVF の場合 は各波長ポジション毎のデータに切り分けの作業を行う。 切り分けられたデータを Science CAM Data (SCD) といい、cscd*.cubという名前 でハードディスクの上に展開される。 また、同時にcssc*.cub という名前のファイルも作られるが、これは、同じ CONFIGURATION の SCD をテーブルにしたようなもので Set of Science CAM Data (SSCD) という。 この時、ERD (cier.fit) と共に CD-ROM によって配布される望遠鏡の pointing 情報 (Instrument Instantaneous Pinting History, iiph.fit) 、観測中 の ISOCAM の状態 (Compact Status Data, csta.fit) も同時に SCD に取 り込まれる。 次に、get_sscdraster、get_sscdcvf あるいは get_sscdstruct というコマン ドにより、一つの CONFIGURATION の全データを読み込んで cia 特有の構造体 (Prepared Data Structure, PDS) を作る。 この段階で、CIA の内部に備わっている calibration data (CAL-G file) も同時 に PDS の中に取り込まれる。 PDS には、raster PDS、CVF PDS、general PDS がある。 上に述べたことから明らかなようにこの PDS は、データ解析に必要な全ての情報 を持っている。

例として、raster PDS と CVF PDS を最後に付ける。

この raster は、NGC 1783 (TARGET) 領域を 7 (RASTERCOL) 7 (RASTERLINE) で space craft Y-axis に沿って (RASTER_ORIENTATION) raster scan したもので、 raster の step size は、どちらの方向も 24 (M_STEPCOL, N_STEPLINE) である。 さらに、filter は LW10 (FLTRWHL)、中心波長は 11.5 m (WAVELENGTH)、 pixel field of view は 3 (PFOV) 、fundamental integration time は 2.10007 sec (TINT)、 gain は 2 (GAIN) などということもこの PDS を 見れば判る。 この場合、raster 点の数は 49 (NSCD) であり、最終的に合成される image は、 80 pixels (NX_RASTER) 80 (NY_RASTER) の大きさ (つまり、 ) になる。 この例では、全 frame 数は 878 (NBR_FRAME) であり、その生データが、cube と いう名前の array に格納されている。 FROM と TO という array には、各 scan 点のデータが何番目の frame から始まり、 何番目の frame で終っているかという情報が入っている。 先にも触れた calibration data (この場合は、dark, flat, point spread function など) は、PDS の中の構造体 calg の中に収められている。

後の CIA における作業は、基本的にこの PDS の中の空の部分を少しづつ埋めていく という形で進められる。 例えば、MASk という array では、cosmic ray などのために除去すべき pixel に flag が立てられ、IMAGE という array には、何枚かづつとられた各 scan 点の frame の重ね併せデータが入れられ、最終的な一枚の合成画像は、RASTER という array に入れられる。 現時点では、raster の最終的なイメージデータは、ADU pixel-1 s-1 と いう単位を持っている。

CVF データも同様である。 この CVF の例は、NGC 419 (TARGET) 領域を LW-CVF1 (CVF_NAME) によって、 9.143 m (WAVELENGTH_START) から 4.956 m まで、波長 step 2 (CVF_INCR) (つまり 0.1 m おき (CVF_NAME)) で波長 scan しているもので、この間の 39 波長点 (NSCD) でデータがとられている。 pixel field of view は 6 (PFOV)、fundamental integration time は 5.4018 sec (TINT)、 gain は 2 (GAIN) である。 raster 同様観測された全 frame は、cube という array に入っており、calibration data は、calg という構造体に収められている。 CIA による作業は、raster とほぼ同様であり、最終的には PDS の IMAGE という array を完成させることにある。 ただし、CVF の場合 raster より進んでいて、response という構造体に各波長での response が含まれていて、最終的な結果は、Jy pixel-1 s-1 となって 出てくる。

CIA における具体的な手順は、

dark subtraction

deglitching (cleaning of cosmic ray events)

memory effect correction

flat fielding

であり、memory effect の補正以外は、2次元検出器によるデータ整約と同じである。

Example of raster PDS

>> help, /struct, n1783_lw10_red

** Structure <441528>, 45 tags, length=5810248, refs=1:
   SSCD_NAME       STRING    'CSSCN1783LW10____97012909590520'
   AOT             STRING    'raster'
   SAD_NAME        STRING    'CSADN1783LW10_00_97012910064469'
   TARGET          STRING    'NGC 1783'
   NSCD            INT             49
   NBR_FRAME       INT            878
   TAB_FRAME       FLOAT     Array(49)
   ADU_SEC_COEFF   FLOAT     Array(49)
   INFO            STRUCT    -> <Anonymous> Array(1)
   CCIM            STRUCT    -> <Anonymous> Array(1)
   CALG            STRUCT    -> <Anonymous> Array(1)
   CHANNEL         STRING    'LW'
   RA_RASTER       DOUBLE           74.785309
   DEC_RASTER      DOUBLE          -65.985847
   ANGLE_RASTER    DOUBLE           45.558598
   RASTER_ROTATION DOUBLE           135.55860
   RASTER_ORIENTATIONSTRING    'SPACECRAFT Y_AXIS'
   M_STEPCOL       FLOAT           24.0000
   N_STEPLINE      FLOAT           24.0000
   RASTERCOL       INT              7
   RASTERLINE      INT              7                        
   PFOV            FLOAT           3.00000
   TINT            FLOAT           2.10007
   GAIN            BYTE         2
   FLTRWHL         STRING    'LW10'
   WAVELENGTH      FLOAT           11.5000
   FROM            INT       Array(49)
   TO              INT       Array(49)
   CUBE            FLOAT     Array(32, 32, 878)
   MASK            BYTE      Array(32, 32, 878)
   OTF             BYTE      Array(878)
   IMAGE           FLOAT     Array(32, 32, 49)
   RMS             FLOAT     Array(32, 32, 49)
   NPIX            FLOAT     Array(32, 32, 49)
   DARK            FLOAT     Array(32, 32)
   FLAT            FLOAT     Array(32, 32)
   DU              FLOAT     Array(878)
   DV              FLOAT     Array(878)
   TABFLATCOEF     FLOAT     Array(49)
   NX_RASTER       INT             80
   NY_RASTER       INT             80
   RASTER          FLOAT     Array(80, 80)                   
   RMSRASTER       FLOAT     Array(80, 80)
   NPIXRASTER      FLOAT     Array(80, 80)
   HISTORY         STRING    Array(40)

>> hs, n1783_lw10_red.info

** Structure <45aaa8>, 16 tags, length=4216, refs=2:
   SCD_NAME        STRING    Array(49)
   RA              DOUBLE    Array(49)
   DEC             DOUBLE    Array(49)
   ROLL            DOUBLE    Array(49)
   CRPIX1          FLOAT     Array(49)
   CRPIX2          FLOAT     Array(49)
   GAIN            FLOAT     Array(49)
   OFFSET          INT       Array(49)
   TINT            FLOAT     Array(49)
   ENTWHL          STRING    Array(49)
   SELWHL          STRING    Array(49)
   FLTRWHL         STRING    Array(49)
   PFOV            FLOAT     Array(49)
   N_ACCU          FLOAT     Array(49)
   N_RASTER        INT       Array(49)
   M_RASTER        INT       Array(49)

>> hs, n1783_lw10_red.ccim                                 

** Structure <45b058>, 3 tags, length=602112, refs=2:
   IMAGE           FLOAT     Array(32, 32, 49)
   RMS             FLOAT     Array(32, 32, 49)
   NPIX            FLOAT     Array(32, 32, 49)

>> hs, n1783_lw10_red.calg

** Structure <457778>, 7 tags, length=12320, refs=2:
   DARK            FLOAT     Array(32, 32)
   DARK_NAME       STRING    'UNDEFINED'
   FLAT            FLOAT     Array(32, 32)
   OFLAT_NAME      STRING    'UNDEFINED'
   DFLAT_NAME      STRING    'UNDEFINED'
   PSF             FLOAT     Array(32, 32)
   PSF_NAME        STRING    'CCGLWPSF_96061912392532'

Example of CVF PDS

CIA> help, /struct, cvf1
** Structure <b46708>, 35 tags, length=4157032, refs=1:
   AOT             STRING    'cvf'
   TARGET          STRING    'NGC 419 '
   SSCD_NAME       STRING    'CSSCN419_CVF1____97013110382488'
   SAD_NAME        STRING    'CSADN419_CVF1_19_97040322250449'
   CVF_NAME        STRING    'LW-CVF1       9.14300      0.100000'
   NSCD            INT             39
   CHANNEL         STRING    'LW'
   NBR_FRAME       INT            727
   TAB_FRAME       INT       Array(39)
   PFOV            FLOAT           6.00000
   ASTR            STRUCT    -> ASTR_STRUC Array(1)
   ADU_SEC_COEFF   FLOAT     Array(39)
   TINT            FLOAT           5.04018
   GAIN            INT              2
   ENTWHL          STRING    Array(39)
   SELWHL          STRING    Array(39)
   CVF_INCR        INT             -2
   WAVELENGTH_STARTFLOAT           9.14300
   WAVELENGTH_END  FLOAT           4.95600
   FROM            INT       Array(39)
   TO              INT       Array(39)                       
   IMAGE           FLOAT     Array(32, 32, 39)
   CUBE            FLOAT     Array(32, 32, 727)
   TABFLATCOEF     FLOAT     Array(39)
   MASK            BYTE      Array(32, 32, 727)
   OTF             BYTE      Array(727)
   DU              FLOAT     Array(727)
   DV              FLOAT     Array(727)
   NPIX            INT       Array(32, 32, 39)
   RMS             FLOAT     Array(32, 32, 39)
   DARK            FLOAT     Array(32, 32)
   FLAT            FLOAT     Array(32, 32)
   CALG            STRUCT    -> <Anonymous> Array(1)
   RESPONSE        STRUCT    -> <Anonymous> Array(39)
   HISTORY         STRING    Array(40)

CIA> hs, cvf1.astr 
** Structure ASTR_STRUC, 8 tags, length=96:
   CD              DOUBLE    Array(2, 2)
   CDELT           FLOAT     Array(2)
   CRPIX           FLOAT     Array(2)
   CRVAL           DOUBLE    Array(2)
   CTYPE           STRING    Array(2)
   LONGPOLE        FLOAT           180.000
   PROJP1          FLOAT          -1.00000
   PROJP2          FLOAT          -2.00000

CIA> hs, cvf1.calg
** Structure <4dfe40>, 7 tags, length=12320, refs=2:
   DARK            FLOAT     Array(32, 32)
   DARK_NAME       STRING    'CCGLWDARK_96072615424101'
   FLAT            FLOAT     Array(32, 32)
   OFLAT_NAME      STRING    'CCGLWOFLT_96072915584037'
   DFLAT_NAME      STRING    'CCGLWDFLT_96080115021433'
   PSF             FLOAT     Array(32, 32)
   PSF_NAME        STRING    'CCGLWPSF_96061912392532'

CIA> hs, cvf1.response
** Structure <5f8ef0>, 5 tags, length=172, refs=2:
   WAVELENG        FLOAT           9.14300
   FCVF            INT            339
   SENSITIV        FLOAT           116.420
   TRANSMIS        FLOAT          0.936662
   TRANS           FLOAT     Array(39)



next up previous
Next: About this document

Takao Nakagawa Mon Nov 10 10:50:48 JST 1997