|
install IRAF
|
Karasu List
|
Oma List
|
Ali List
|
toPageBottom
|
Back to TibetSiteSurvey Page
|
Back to ToshiSasaki's Page
|
| detailed Info on Arithmetic.exe / Microsoft Windows |
[2019/07/04 by TS]
|
Access
|
| Arithmetic.exe on Microsoft Windows | |
| GUI of Arithmetic.exe Q:\1ToshiPrivate\0Tos_Soft\0WindowsSoft\0MonitorImages\Arithmetic_OmaData_20121026_SunMask.jpg |
|
| (ref) Analysis Flow Chart on Site Survey Data Q:\1ToshiPrivate\0Tos_Soft\0WindowsSoft\00_Help\FlowDiagram\Q:\1ToshiPrivate\0Tos_Soft\0WindowsSoft\00_Help\FlowDiagram.jpg |
|
|
Mask image data and text data ( <== MaskRegions_CM1_Karasu_20070315_2.mask / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Karasu) ( <== MaskRegions_CM1_Karasu_20071026_TCalibBlock1.mask / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Karasu) ( <== MaskRegions_CM1_Karasu_20071027_TCalibBlock2.mask / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Karasu) ( <== MaskRegions_CM1_Karasu_20080721_TCalibBlock3.mask / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Karasu ) ( <== MaskRegions_CM1_Karasu_200809_TCB3_Patch.mask / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Karasu) ( <== MaskRegions_CM2_Oma_20121019_2.reg.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Oma) ( <== CM2_Oma_20081119090029F_StaySpot_For2008Nov.bmp(jpg) / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Oma) ( <== CM2_Oma_20081119090029F_StaySpot_For2009Aug3.bmp(jpg) / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Oma) ( <== CM2_Oma_20081119090029F_StaySpot_For2009Oct.bmp(jpg) / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Oma) MaskRegions_CM2_Ali_201201.reg ==> MaskRegions_CM2_Ali_201201.txt ( <== MaskRegions_CM2_Ali_201201.txt, CM2_Ali20111107000003_Mask2.bmp(jpg) ) (2013-07-29) 上記適用で位置がずれているので変更 : for 2012121515094642.fits ( <== MaskRegions_CM2_Ali_20121215.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) ( <== MaskRegions_CM2_Ali_20130531_083418_6.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) ( <== MaskRegions_CM2_Ali_20130609_071214_2.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) ( <== MaskRegions_CM2_Ali_20130611_080114_5.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) ( <== MaskRegions_CM2_Ali_20130611_102514_2.txt / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) ( <== MaskRegions_CM2_Ali_20130629_013624.txt <==???(Note#8: 2013-08-12) / Q:\00SiteSurveyData\00SiteSurveyData\04MaskFrame\Ali_Gar ) |
CM2_OmaMask_2008Nov.jpg CM2_OmaMask_2009Aug3.jpg CM2_OmaMask_2009Oct.jpg CM2_Ali20111107000003_Mask2.jpg |
| Initial Data for Arithmetic.exe Q:\1ToshiPrivate\0Tos_Soft\0WindowsSoft\CloudMon_Arithmetic\Arithmetic.ini | |
[ArithmeticControl] sVersion=20130929 sEditorEXEPath=C:\Appli\1Editor\xyzzy\xyzzy.exe sHELPFilePath=C:\0Tos_Soft\0WindowsSoft\00_Help\HELP_Arithmetic.txt PostFilename=C:\\00SiteSurveyData\\00PostMessage\\PostForArithmetic.txt SourceDirectory=F:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2011\201111\20111109A\20111109AWM ReferenceFile=D:\\00SiteSurveyData\\02FlatField\\20070129Flat_CM1.fits TargetDirectory=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20121213A bLoadFITSDirInitially=1 sFITSFileHead=CM2_Ali sDirExtension1=A sDirExtension2=AWM sFrameStepToBeSelected=1 bDisplayFramesContinuously=1 DisplayTargetOnDS9=0 DisplayFrameOnDS9=0 DisplayFrames=1 DisplayRange=1.500000 GapMSec=150 MaskSunPosition=1 MaskMoonPosition=1 MaskPixels=1 MaskFile=C:\\00SiteSurveyData\\04MaskFrame\\MaskRegions_DS9.reg.txt Sum=0 Mean=0 Subtract=0 SubtractUsingMaskArea=0 SubtractUsingConstant=0 Divide=0 FlatField=0 SaveFrameInFile=0 AllowOverwrite=1 SeqFile=C:\\00SiteSurveyData\\SeqFile\\SeqFile200703_MaskSol20080508113632.csv DS9Directory=C:\Appli\1Viewer\FitsViewer\ds9 DS9_XPAPortNumber=7f000001:50398 DisplayRefFileOnDS9=0 UseMaskAreaFile=0 UseMaskPixelFile=0 MaskAreaFile=D:\00SiteSurveyData\04MaskFrame\Ali_Gar\MaskRegions_CM2_Ali_201201.txt MaskPixelFile=D:\00SiteSurveyData\04MaskFrame\Ali_Gar\CM2_Ali20111107000003_Mask2.bmp bCreateTargetDirAutomatically=1 sSubtTargetDirname=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20120112A\20121213AWS sDivTargetDirname=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20120112A\20121213AWD sFFTargetDirname=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20120112A\20121213AWF sMaskTargetDirname=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20120112A\20121213AWMM sMaskSunTargetDirname=F:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2011\201111\20111109A\20111109AWMMs sMaskLunarDistance=60.0 TargetFile=D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2012\201212\20120112A\20121213AW\CM2_Ali20120101000004CW.fits AdjustMinToZero=0 bMaskDisplay=0 NorthOffsetAngle=-5.26 [SolPos] Mask=1 Show=1 ShowRadius=12 ShowColor=255,0,0 SolarMaskRx=12 SolarMaskRy=12 SolarRx=11 SolarRy=11 LunarRadius=5 LunarMaskRx=5 LunarMaskRy=5 BGSolarRx=15 BGSolarRy=15 SolarX=NA SolarY=NA SolarIntAboveBG=NA SolarArea=NA SolarIntRawSum=NA SolarBGPortion=NA SolarBGMean=NA SolarBGTotal=NA SolarBGArea=NA LunarRx=5 LunarRy=5 BGLunarRx=10 BGLunarRx=10 LunarIntAboveBG=NA LunarArea=NA LunarIntRawSum=NA LunarBGPortion=NA LunarBGMean=NA LunarBGTotal=NA LunarBGArea= SolPosFilename=F:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2011\201111\SolarLunarIntensity_201111.csv SolPosDirectory=F:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2011\201111 SaveInFile=0 Year=2012 Month=01 Day=01 Hour=01 Min=33 Sec=05 Longitude=80:01:36.04 Latitude=+32:19:31.72 Elevation=5032 PressureWS=556.43 PressureCT2=546.71 TemperatureWS=271.3 TemperatureCT2=0 TemperatureCMB=258.96 TemperatureCMB2=257.32 TemperatureCMH=263.66 TemperatureCMH2=261.84 RH_WS=11.32 TimeZone=0 DeltaT=64.954000 DUT1=-0.23 Notes= MaskRx=12 MaskRy=12 BGLunarRy=10 DirectionNorth=180.00000 XFOVCenter=172.809 YFOVCenter=121.088 Scale=1.633 | |
| Explanation on Arithmetic.exe Q:\1ToshiPrivate\0Tos_Soft\0WindowsSoft\00_Help\HELP_Arithmetic.txt | |
HELP of Arithmetic Procedure
晴天率判断 (2015-08-13)
・Clear Sky全快晴 1時間毎に雲を含む画像がない ○
・Fine Sky 快晴 1時間毎に雲量 < 20% ◎(中心円は黒丸●)
・Fair Sky 晴天 1時間毎に雲量 < 50% ◎
・Cloudy Sky 曇天 1時間毎に雲量 > 50% △
・Heavily Cloudy 濃曇天 1時間ベタ雲 ▲
・Rainy 降雨 1時間毎に1フレームに雨滴がある場合 ■
目的:CloudMon 像の初期解析を行う。
1. 像のローカルGUIとds9 上への選択/連続表示
2. 画像のピクセル積分値の計算
3. 画像のピクセル平均値(BLANKピクセルは除く)の計算
4. RefFile画像の画像引算(背景光差し引き)-->赤外背景光の除去
基準画像領域の使用
オフセット値の差し引き
<== ●RefFile画像を温度データから推定できるようにすること
5. RefFile画像の画像割算 <--#6 との違いは何?
6. RefFile画像でのfalt-fielding 処理
7. 画像のマスク画像によるマスクかけ処理と太陽像、月像のマスク処理
太陽像マスク処理
月像マスク処理 <-- masked when ZD(sun)>108deg and D(Sun-Moon) >90 deg
最小値が負値の場合に加算して最小値を0(Zero) にする加算処理
8. 太陽像位置、月像位置の表示
(RA,Dec)によるマーク表示時のマークサイズ(通常 12)、画像中心位置、回転角度オフセット、画像スケールを選択
==> サブウィンドーで設定する。
<== ●月のサイズを変更可能(通常 5)
<== ●太陽、月の座標は IRAF Header から取得
Karasu Oma Ali
画像中心位置(Xc, Yc)pix (162.25,116.21) (159.25, 127.0)(M2中心に) (170.08, 120.85)
回転角度オフセット(度) 12.38 -8.0(-7.012から調整) -4.06
画像スケール(pix/deg) 1.596 1.596(Karasuと同じに) 1.644
(測定日) (2012-11-05) (2012-11-20)
(2013-03-20:2011-01-02 の全日快晴データ使用:20130320_ImageCenter.xlsx)
導出方法:MeasureArea で太陽南中位置を季節の異なる日でpix位置測定
画像中心位置(Xc, Yc)pix:画像スケールを用いて太陽南中位置から導出。
DS9で表示して Zoom 表示でM2中心位置と比較 -> M2中心位置の方が太陽像追随が良い。
回転角度オフセット(度) :太陽南中位置の並びから南中線を求めて、角度オフセットを導出
画像スケール(pix/deg) :太陽南中位置間のスケールで導出
9. 太陽像、月像の強度計算、ファイル出力
使用値:太陽/月位置(xc,yc)、半径(SolRx/SolRy)、背景光外周半径(BGRx, BGRy)
太陽/月位置(xc,yc)は天体歴計算から求められた位置をフレーム変換して求めたピクセル座標。
int xc = atoi(m_sSolPosSolarX)/*-1*/; //IRAF/MaskData/ArithI/O base=1, 四捨五入 in Arith
int yc = atoi(m_sSolPosSolarY)/*-1*/;
int SolRx = atoi(m_sSolPosSolarRx);
int SolRy = atoi(m_sSolPosSolarRy);
int BGRx = atoi(m_sSolPosBGRx);
int BGRy = atoi(m_sSolPosBGRy);
導出値:太陽/月光強度重心(Xgrav,Ygrav)、
m_sSolPosXgrav.Format("%f", xg/*+1*/ );//IRAF/MaskData/ArithI/O base=1, 四捨五入 in Arith
m_sSolPosYgrav.Format("%f", yg/*+1*/ );//IRAF/MaskData/ArithI/O base=1, 四捨五入 in Arith
強度基準Itheshold以上の太陽/月光強度のある背景光を覗いた太陽/月光強度積分、
m_sSolPosSolarIntAboveBG.Format("%ld", SolIntAboveBG );
強度基準Itheshold以上の太陽/月光強度のある太陽面積
m_sSolPosSolarArea.Format("%ld", SolArea );
半径(SolRx/SolRy)内 の太陽/月光強度積分
m_sSolPosSolarIntRawSum.Format("%ld", SolIntSum );
太陽/月位置(xc,yc)を中心として半径(SolRx/SolRy)内の背景光の強度:BGPortion = (long)(BGMean*SolArea);
m_sSolPosBGPortion.Format("%ld", BGPortion );
太陽/月位置(xc,yc)を中心として半径(SolRx/SolRy)の外から背景光外周半径(BGRx, BGRy)までの強度の平均
m_sSolPosBGMean.Format("%f", BGMean );
背景光外周半径(BGRx, BGRy)内の強度積分
m_sSolPosBGTotal.Format("%ld", BGIntSum ); // including Solar intensity
背景光外周半径(BGRx, BGRy)内の面積
m_sSolPosBGArea.Format("%ld", BGArea );
太陽/月位置(xc,yc)を中心として半径(SolRx/SolRy)内 の太陽/月光強度を背景光を引いてを積算する。
背景光は、太陽/月位置(xc,yc)を中心として半径(SolRx/SolRy)の外から背景光外周半径(BGRx, BGRy)までの強度の平均。
太陽/月光最大強度 max(背景光強度を含めている)を求める。
半径(SolRx/SolRy)内 の背景光を引いた太陽/月光強度から太陽/月光強度重心を求める
強度基準Ithesholdとして、背景光ナシの最大太陽/月光強度の1/3以上の太陽/月光強度を用いる。
そのばあい、最大太陽/月光強度が求められていない場合は強度基準Ithesholdとして背景光強度平均を用いる。
----------
-----
太陽像位置、月像位置の表示のみの処理
Direcotryを選択肢、Select w/Step でソースFITSを選択
■ Display Frames continuously を選択
■ Show Solar/Lunar Position を選択
■ Display Frames □ on DS9 (DS9表示なしだと早い) (<== [5] Exec Atithmetic にある)
[5] Exec Atithmetic 押下
==> Arithmetic GUI (左側)に FITS ファイルイメージとSolar/Lunar 位置マークが表示される。
・Mask □display を選択して、中央左画面に Mask 画像が表示される。(ただし上側4/5の範囲のみ)。
・Exec Arithmetic の □Display Frames を選択して、中央右画面に処理後の画像が表示される。
・Display on DS9, on DS9 を選択すると画像がDS9上に表示される(XPAアドレスを正しく設定が必要)が、
処理が遅くなる。
Mask w/Sun & Moon と Mask のみの処理のGUIボタン操作
M : ■ Mask pixels and Solar/Lunar -> Mask のみ ([MaskFile] & [MaskPixel])
□ Mask Sun position
□ Mask Moon position
□ Adjust Min to Zero(0) when ...
■□ Show Solar/Lunar Position -> Off のこと。∵位置計算がNGで左GUI上の表示がずれる。
Ms: ■ Mask pixels and Solar/Lunar -> Mask とSolar/Lunarのマスク両方
■ Mask Sun position
■ Mask Moon position
□ Adjust Min to Zero(0) when ...
■ Show Solar/Lunar Position
太陽、月強度の計算、表示、ファイル保存
□ Save processed frma in file
■ Mask pixels and Solar/Lunar -> Mask のみ ([MaskFile] & [MaskPixel])
□ Mask Sun position
□ Mask Moon position
□ Adjust Min to Zero(0) when ...
■Show Solar/Lunar Position
ファイル保存はサブウィンド Setup Solar Position で
■ Save in File D:\00SiteSurveyData\000_A40M_Images_Analysed\03_Ali\2011\SolarIntensity_201111.txt
(出力ファイルのサンプルはこの文章の最後に添付)
太陽、月強度の表示はサブウィンド Setup Solar Position に表示。
Mask画像の作成については、(text マスクデータとbmp マスクデータ画像の2種類のファイルがある)
\00SiteSurveyData\04MaskFrame\0HowToMakeMaskPixelFile.txt
を参照。花子フォトレタッチで作成、変更可能。
Oma 2009Oct 用Mask画像ファイル: CM2_Oma20081119090029F_StaySpot_For2009Oct.bmp
この画像を花子フォトレタッチで読み込んで、修正後、bmpファイル保存をすれば良い。
●text マスクデータの作成
DS9 を実行。
DS9 File=> XPA => Information で XPA_METHOD: c0a80bfa:50964 を Edit/Copy する。
Arithmetic DS9 XPA Port に入力
レ display on DS9 => Display Frame 押下 => DS9 に fits 画像が表示される。
DS9 階調表示は、マウス右ボタン押下移動で行う。
DS9 => region Circle/Polygon で作図, □ で変形可能
=> save -> edit -> load で確認すること
Save 下データファイルに MaskOutside, MaskInside を加える(下記)。
=> Arithmetic でこのピクセル画text マスクデータをマスクデータとして使用。
--- MaskRegions_CM2_Oma_20121019_2.reg.txt --- (in D:\00SiteSurveyData\04MaskFrame)
# Region file format: DS9 version 4.1
# Filename: Z:/00SiteSurveyData/000_A40M_Images_Analysed/02_Oma/2008/200811/20081124A/20081124AW/CM2_Oma20081124041224CW.fits
#global color=green dashlist=8 3 width=1 font="helvetica 10 normal"
select=1 highlite=1 dash=0 fixed=0 edit=1 move=1 delete=1 include=1 source=1
physical
circle(159.39465,126.95652,116.37631) MaskOutside
circle(159.39465,126.15385,26.0) MaskInside
polygon(157.86058,128.49059,161,128.02676,163.67559,5.4849498,157.86058,5.5562289) MaskInside
polygon(51.870344,192.20658,151.36789,133.37793,144.41137,132.30769,50.230769,186.35452) MaskInside
polygon(175.44816,137.65886,266.41806,193.84615,270.16388,187.95987,176.55633,132.34563) MaskInside
#polygon(178.65886,250.03344,236.45151,220.06689,222.53846,192.2408,163.67559,216.32107) MaskInside
#polygon(158.32441,73.979933,161.53512,79.331104,178.12375,5.4849498,163.73992,5.5492872) MaskInside
●bmp マスクデータ画像の作成
see 0HowToMakeMaskPixelFile.txt (D:\00SiteSurveyData\04MaskFrame\)
MakeAnimation プログラムで fits -> gif ファイルに変換
レ FITS -> GIF
FITS 画像をマウスで1枚クリック => Run 押下
=> Target Directory D:\00SiteSurveyData\04MaskFrame\test にgif化された FITS 画像が出力
(gif ファイルは 90度回転している)
IfranView で、画像 => 画像の情報で、画像解像度 X: 320 Y:240 pixel を確認
花子フォトレタッチでマスクイメージを作成
新規画像作成 320x24
=> 背景画像に 上記作成の gif を IfranView でマウス操作で全画像をコピー
=> 花子フォトレタッチでペーストで挿入(リターンキー押下で確定)
=> レイヤーサブメニューで 新規レイヤーを設定
=> その新規レイヤー上でマスク画像を作成する。(x8 表示)
ツール/を選択枝、●、■、線でサイズを選択して描画。
=> 背景画像を青ボタンをクリックして非表示にし、レイヤーサブメニューで全レイヤー結合
(--> データのないところが白で埋まる)
=> 画像サブメニューで => 画像の色数 => モノクロ
---> ”指定されたスタイルの新しい画像として開きます”-> 別画像として作成される。
=> 画像を保存する: ファイル => 名前をつけて保存 => bmp を選択し、bmp保存設定で、256色とする。
(∵<==Arithmetic では1バイト/ピクセルで読み込む)
IfranView で表示し、画像情報を確認
画像 => 画像情報:
もとの大きさ 320 x 240 Pixels (4:3)
現在の色数 256 (8 BitsPerPixel)
メモリ上のサイズ 76.04 KB (77,864 Bytes)
もし、画像データが0,256値でない場合には、IfranView で読み込み、
画像 => 減色 => 白黒2色(1ビット) => 増色 => 256色(8ビット) の後で、BMPで保存する。
=> Arithmetic でこのピクセル画像をマスクデータとして使用。
実行にあたっては、以下の2つが可能
A. 個別ディレクトリーに基づく処理
[B. SeqFile に従っての連続処理] <== 複数SubDir 処理との切り分けが難しいので、ナシとする。(2012-10-20)
処理の流れ
L996: OnBnClickedArithmetic()
-> first read refernce file: ReadFITS( m_ReferenceFile, ...) w/DataFormat="I2", "I4", "R4"
load Mask data
LoadMaskAreaData(m_MaskAreaFile) // in pDoc->Mask_AreaType[], pDoc->Mask_Pos[], pDoc->nMaskAreas[]
LoadMaskPixelData(m_sMaskPixelFile); // MaskPixel data is stored in pDoc->MaskPixelData[]
get Area data to be averaged
pDoc->measureAreas( pDoc->DataFormat, pDoc->nAxis1,... )
-> treat image froma loop : for( iselect=0; iselect< nLoop; iselect+=iStep )
割込制御(中断など) TreatWndMessage(); // treat window message in order to interrupt this loop
-> 個別 Image 処理 m_CurrentFrame = getSourceFileName( currentFileIndex );
SeqFile による自動処理
SeqFileからのパラメータ解読 retrieveSeqParameters()
出力 Directory がない場合には作成
if( CheckDirectory( m_TargetDirectory ) == FALSE )
CreateDirectory( m_TargetDirectory );
入力ファイル設定 => m_CurrentFrame (fullpath) に保存
getCurrentIndex( m_CurrentFrame, // return fullpath
/*CString */ m_SourceDir,
///*CListBox */m_SourceList,
/*CString * */sourceFileList,
/*int */ NsourceFileList,
/*int **/&index );
-> FITS Header読み込み
Headerデータ pDoc->nHdu = pDoc->ReadFITS( m_CurrentFrame, pDoc->Hdu,
BITPIX, NAXIS1, NAXIS2, DATE-OBS, UT, SITELAT, SITELONG, LONGPOLE,
-> 太陽位置マスク処理 if( m_bMaskSun == TRUE || m_bShowSolarPos == TRUE/*
setSolarVariables();
SendData(m_pSetupSolar, "Get Solar Position" );
==> in SetupSolar.cpp: Run_SPA( &spa );
// get pixel coord of solar position
nSolarMaskAreas = // 1: Sun above Horizon, 0:under ground
GetSolarPixels( SolarMask_AreaType, SolarMask_Pos, SolarMaskFlag, "circle",
(float)atof(m_sSolPosMaskRx), (float)atof(m_sSolPosMaskRy) );
-> FITS データr読み込み // Read data from cuurent FITS file to be stored in short/long/float array
-> Draw current frame DrawCurrentFrame( /*CDC **/dc, /*CRect */rect );
-> 個別オペレーション
1) if( m_Sum == TRUE || m_Mean == TRUE )
pDoc->getAddData( m_CurrentFrame, ... )
==> sumArray[j][i] += Array[j][i];
sumArray[j][i] /= countArray[j][i];
or sumArray[j][i] = BLANK;
pDoc->saveTargetData( m_TargetFile, ... )
2) if( m_Subtract == TRUE )/* operation ="Subtract";*/
if( m_UseMaskArea == TRUE ) pDoc->measureAreas( pDoc->DataFormat, ... )
pDoc->getSubtractData( m_CurrentFrame, ... );
==> subtArray[j][i] = Array[j][i] - refArray[j][i];
pDoc->saveTargetData( m_TargetFile, ... )
3) if( m_Divide == TRUE )/* operation ="Divide";*/
pDoc->getDivideData( m_CurrentFrame, ... )
==> divArray[j][i] = Array[j][i] / refArray[j][i];
or divArray[j][i] = BLANK;
pDoc->saveTargetData( m_TargetFile, ... )
4) if( m_FlatField == TRUE )/* operation ="FlatField";*/
pDoc->getFlatFieldData( m_CurrentFrame, ... )
==> flatArray[j][i] = (short)(Array[j][i] * lrefMean / refArray[j][i]);
or divArray[j][i] = BLANK;
pDoc->saveTargetData( m_TargetFile, ... )
5) if( b_MaskPixels == TRUE )/* operation ="Mask";*/
if( pDoc->nMaskAreas > 0 || m_bUseMaskPixelFile == TRUE )
pDoc->doMaskData( m_CurrentFrame, ..., lArray[][], lmaskArray[][],... )
==>
if( m_bUseMaskPixelFile == TRUE )
if( MaskPixelData[j][i] == 1 )
lmaskArray[j][i] = (long)LBLANK;
else
lmaskArray[j][i] = lArray[j][i];
// nMaskAreas > 0
for( int n=0 ; n
| |
|
install IRAF
|
Karasu List
|
Oma List
|
Ali List
|
toPageTop
|
Back to TibetSiteSurvey Page
|
toToshi
|
Back to SasakiFamily's Page
|
Toshi Sasaki's HOME Page on sasakihome.info Last Modified:
toshi.sasaki@nao.ac.jp