Vvedenie v IRAF
Etot dokument yavlyaetsya kratkim vvedeniem v IRAF (the Image Reduction and Analysis Facility). IRAF
- eto "universal'nyi paket programm dlya obrabotki i analiza astronomicheskih
dannyh", razrabotannyi gruppoi IRAF v Nacional'noi Opticheskoi Astronomicheskoi
Observatoriii (NOAO). Eto uchebnoe
posobie mozhet stat' horoshim vstupleniem dlya
studentov, kotorye nachinayut nauchnuyu rabotu i nuzhdayutsya v izuchenii IRAF. Eto
posobie otrazhaet tol'ko osnovnye vozmozhnosti IRAF, nekotorye primery,
rassmotrennye v posobii, osnovany na nashem lichnom opyte. Na etih primerah vy
smozhete izuchit' bolee slozhnye programmnye pakety.
Dannoe posobie bylo sostavleno Vol'novoi A.A.(alinus@yandex.ru) i Shul'goi A.P.(babouche@yandex.ru) na osnove dokumenta Dzhosha Valavendera Introduction to IRAF.
Skachat' sam paket programm IRAF mozhno na oficial'nom saite http://iraf.noao.edu/. Takzhe vy mozhete vospol'zovat'sya uzhe gotovym arhivom iraf-2.12.2a.slackware-10.2.tar.gz (40Mb). Fail README.iraf soderzhit kratkoe poyasnenie k nemu).
Etot arhiv byl ustanovlen na Linux Slackware 10.2.
Oglavlenie
- Konfiguraciya i zapusk IRAF
- Vzaimodeistvie s CL.
- Ximtool i otobrazhenie kartinok.
- Razlichnye podskazki pri rabote s CL.
- Pervichnaya obrabotka dannyh izobrazhenii.
- Pervichnaya obrabotka spektroskopicheskih dannyh.
- Obzor obrabotki spektroskopicheskih dannyh.
- Opredelenie osi dispersii.
- Podgotovka APALL.
- Zapusk APALL: opredelenie apertury.
- Zapusk APALL: opredelenie fona.
- Zapusk APALL: opredelenie sleda.
- Zapusk APALL: izvlechenie spektra.
- Kalibrovka spektra po dlinam voln.
- Soglasovanie spektral'nogo razresheniya i izobrazheniya.
- Primenenie spektral'nogo razresheniya.
- Ispol'zovanie splot dlya prosmotra otkalibrovannogo spektra.
- Al'ternativa komande APALL.
- Obrabotka fotometricheskih dannyh.
1. Konfiguraciya i zapusk IRAF
1.1 Predvaritel'nye zamechaniya
Pri rabote s IRAF vy vzaimodeistvuete s dvumya komandnymi sredami: UNIX i IRAF CL (CL podderzhivaet interfeis komandnoi stroki). Chtoby provesti razlichiya mezhdu etimi dvumya komandnymi strokami, my budem prisoedinyat' komandnuyu podskazku k stroke so vsyakoi komandoi, kotoruyu my privodim v kachestve primera. Pri rabote v UNIX my budem ispol'zovat' %, a pri rabote v IRAF CL - cl>. Zamet'te, chto podskazki, kotorye vy vidite pri rabote v vashei sisteme, mogut otlichat'sya ot etih. V etom posobii my predpolagaem , chto chitatel' uzhe neploho razbiraetsya v UNIX. Esli vam neizvesten UNIX, vy mozhete ispol'zovat' posobie Dzhosha Valavendera po UNIX.
Tak zhe kak i UNIX, IRAF chuvstvitelen ko vsem komandam i nazvaniyam failov. Fail image.fits otlichaetsya ot faila Image.fits i ot faila image.FITS, tak chto bud'te ostorozhny s bol'shimi i malen'kimi bukvami.
1.2 Ispol'zovanie komandy mkiraf.
IRAF trebuet konfiguracionnyi fail (login.cl) i papku dlya sohraneniya parametrov pol'zovatelya (uparm). Rekomenduetsya sozdat' papku IRAF v svoei domashnei direktorii (~/iraf/) dlya hraneniya etih failov. Komanda mkiraf sozdaet neobhodimye login.cl i uparm faily v direktorii, v kotoroi vy rabotaete.
% cd % mkdir iraf % cd iraf % mkiraf -- creating a new uparm directory Terminal types: xgterm,xterm,gterm,vt640,vt100,etc. Enter terminal type: xgterm A new LOGIN.CL file has been created in the current directory. You may wish to review and edit this file to change the defaults.
Kogda po scenariyu mkiraf sprashivaet vas tip terminala, napechataite xgterm. U IRAF est' neskol'ko graficheskih interfeisov, kotorye vam zahochetsya ispol'zovat' pri rabote s izobrazheniyami. Eto budet rabotat' dolzhnym obrazom togda, kogda vy zapuskaete IRAF iz xgterm.
1.3 Otkrytie xgterm.
Chtoby otkryt' xgterm, napechataite xgterm v komandnoi stroke UNIX:
Vam sleduet vsegda zapuskat' IRAF iz xgterm. Nekotorye iz komand IRAF ispol'zuyut special'nye svoistva xgterm dlya sozdaniya interaktivnyh graficheskih okon, kotorye vy mozhete ispol'zovat' dlya operacii s dannymi. Obychno vam nuzhen tol'ko odin xgterm, v kotorom rabotaet IRAF. Odnovremenno u vas mogut byt' otkryty obychnye terminaly (t.e. xterm), tak chto vy mozhete videt', kakie faily lezhat v papke, gde vy rabotaete.
1.4 Redaktirovanie vashego faila login.cl.
Prezhde chem vy nachnete rabotu, otredaktiruite fail login.cl, chtoby on otrazhal lokal'nye nastroiki vashei sistemy. V UNIX voidite v papku ~/iraf/ i otkroite login.cl, ispol'zuya vash lyubimyi tekstovyi redaktor. Vo-pervyh, naidite strochku, v kotoroi napisano:
#set stdimage = imt800
Dlya nas eto stroka 27.
Tak zadaetsya defoltnyi razmer otobrazhaemoi oblasti v pikselyah. Znachok reshetki (#) oznachaet, chto eta stroka zakommentirovana i ne chitaetsya IRAF. Esli by eta programma rabotala (bez znachka kommentariya), razmer kartinki byl by 800h800 pikselei. Esli vy ispol'zuete IRAF dlya obrabotki izobrazhenii, poluchennyh na professional'noi observatorii, rekomenduem zadat' parametr 4096, esli vy ispol'zuete kameru v SBO, rekomenduem postavit' 2048. Takim obrazom, udalite znachok kommentariya i zamenite 800 na nuzhnoe znachenie. Naprimer, v nashem login.cl, eta strochka vyglyadit tak (zamet'te, chto znak # ubran iz nachala stroki):
set stdimage = imt4096
Drugaya strochka v login.cl, kotoruyu nado izmenit', vyglyadit tak:
#set imtype = "imh"
Dlya nas eto 34 stroka.
Eto zadaet defoltnyi tip izobrazheniya. V teh sluchayah, kogda v imeni faila net rasshireniya, IRAF avtomaticheski podrazumevaet rasshirenie po umolchaniyu. Tip imh razrabatyvalsya special'no dlya IRAF, odnako bol'shinstvo PZS dannyh poluchayut v formate FITS. Izmenite etu strochku (ne zabud'te ubrat' simvol #):
set imtype = "fits"
1.5 Zapusk IRAF.
Chtoby zapustit' interfeis komandnoi stroki IRAF, ispol'zuite komandu cl (vsegda pomnite, chto zapuskat' IRAF nado iz xgterm, a ne iz obychnogo xterm). Takzhe pomnite, chto IRAF nuzhno zapuskat' iz toi direktorii, gde nahoditsya login.cl.
% cd ~/iraf
% cl
NOAO PC-IRAF Revision 2.12.1-EXPORT Fri Jul 12 15:54:09 MST 2002
This is the EXPORT version of PC-IRAF V2.12 supporting most PC systems.
Welcome to IRAF. To list the available commands, type ? or ??. To get
detailed information about a command, type `help command'. To run a command
or load a package, type its name. Type `bye' to exit a package, or
`logout' to get out of the CL. Type `news' to find out what is new in the
version of the system you are using. The following commands or packages are
currently defined:
dataio. language. noao. proto. utilities.
dbms. lists. obsolete. softools.
images. mscred. plot. system.
cl>
Dal'she my budem rabotat' skoree v IRAF, chem v UNIX. Esli vy zapustili IRAF iz papki, gde net login.cl, vy poluchite takoe soobshenie:
Warning: no login.cl found in login directory
Udobno bylo by sozdat' simvol'nuyu ssylku na login.cl iz domashnei direktorii, chtoby IRAF mozhno bylo zapuskat' iz nee:
% cd ~ % ln -s ~/iraf/login.cl login.cl
Gde ~/iraf/login.cl - mesto nahozhdeniya login.cl. Teper' vy mozhete zapuskat' IRAF iz vashei domashnei direktorii.
2. Vzaimodeistvie s CL.
2.1 Komandy UNIX i IRAF.
Nekotorye osnovnye komandy UNIX sushestvuyut takzhe i v IRAF, naprimer: ls, mkdir, mv, cd, grep i mnogie drugie.
Zametim, chto komanda rm ne rabotaet v IRAF, odnako, ee zamenyayut dve drugie komandy: imdel i del.
Pochti vse upravlenie IRAF osushestvlyaetsya cherez razlichnye komandy. Pohozhie komandy gruppiruyutsya v pakety. Razlichnye pakety s osnovnymi komandami uzhe zagruzheny. Esli vy uzhe zashli v IRAF, napishite komandu ? v CL
cl> ?
dataio. language. noao. proto. utilities.
dbms. lists. obsolete. softools.
images. mscred. plot. system.
Eto spisok dostupnyh paketov. Nekotorye pakety soderzhat v sebe drugie, eto chasto oboznachaetsya tochkoi posle nazvaniya paketa ( t.e. images.imutil). Dlya polucheniya spiska dostupnyh komand, napishite ?? v CL.
cl> ??
clpackage:
dataio. language. noao. proto. utilities.
dbms. lists. obsolete. softools.
images. mscred. plot. system.
language:
access clear eparam jobs print set
back defpac error keep printf show
beep defpar flprcache kill putlog sleep
bye deftask fprint logout radix stty
cache defvar fscan lparam redefine task
cd dparam gflush mktemp reset time
chdir edit hidetask osfn scan unlearn
cl. ehistory history package scanf update
clbye envget imaccess prcache service wait
noao:
artdata. digiphot. nobsolete. onedspec.
astcat. focas. nproto. rv.
astrometry. imred. observatory surfphot.
astutil. mtlocal. obsutil. twodspec.
utilities:
curfit entab polyfit surfit ucase
detab lcase split translit urand
proto:
binfil hfix irafil rskysub
bscale imcntr joinlines suntoiraf
epix imextensions mimstatistics text2mask
fields imscale mskexpr
fixpix interp mskregions
tv:
display iis. imedit imexamine tvmark wcslab
dataio:
bintxt mtexamine rfits txtbin wtextimage
export rcardimage rtextimage wcardimage
import reblock t2d wfits
plot:
calcomp gkidir imdkern phistogram sgidecode surface
contour gkiextract implot pradprof sgikern velvect
crtpict gkimosaic nsppkern prow showcap
gdevices graph pcol prows stdgraph
gkidecode hafton pcols pvector stdplot
imutil:
chpixtype imdelete imheader imslice listpixels
hedit imdivide imhistogram imstack minmax
hselect imexpr imjoin imstatistics sections
imarith imfunction imrename imsum
imcopy imgets imreplace imtile
immatch:
geomap gregister imcombine skymap wcscopy wregister
geotran imalign linmatch skyxymatch wcsmap xregister
geoxytran imcentroid psfmatch sregister wcsxymatch xyxymatch
imgeom:
blkavg im3dtran imshift magnify shiftlines
blkrep imlintran imtranspose rotate
imfit:
fit1d imsurfit lineclean
imfilter:
boxcar fmedian frmedian gauss laplace mode rmode
convolve fmode frmode gradient median rmedian
imcoords:
ccfind ccsetwcs ccxymatch starfind wcsreset
ccget ccstd imcctran wcsctran
ccmap cctran skyctran wcsedit
images:
imcoords. imfit. immatch. tv.
imfilter. imgeom. imutil.
user:
adb cp fc lpq mv rlogin sps vi
bc csh find lprm nbugs rsh strings w
buglog date finger ls nm rtar su wc
cal dbx ftp mail od ruptime sync wtar
cat df gdb make pg rusers telnet xc
cls diff generic man ps rwho tip
clw du grep mkpkg pwd sh top
comm emacs less mon rcp spell touch
system:
allocate devstatus lprint page sort
concatenate directory match pathnames spy
copy diskspace mkdir phelp tail
count files mkscript protect tee
deallocate gripes movefiles references type
delete head netstatus rename unprotect
devices help news rewind
lists:
average lintran rimcursor tokens words
columns rgcursor table unique
Kak vidite, eto obychno dlinnyi spisok.
2.2 Rabota s komandami.
Davaite poprobuem seichas porabotat' s nekotorymi iz etih komand. Zdes' predpolagaetsya, chto u vas uzhe est' neskol'ko izobrazhenii, s kotorymi mozhno rabotat'. Esli vy rabotaete s izobrazheniyami dlya ASTR 3510/3520 oni skoree vsego polucheny s pomosh'yu SBO. Esli tak, udostover'tes', chto oni perevedeny v nuzhnyi format. S etogo momenta nazvanie lyubogo izobrazheniya, s kotorym vy rabotaete, budet zamenyat'sya na imagename, inogda k nemu budet dobavlyat'sya "hvostik", oznachayushii fil'tr, naprimer imagename_V.
Naprimer, vospol'zuemsya komandoi imstat:
cl> imstat imagename # IMAGE NPIX MEAN STDDEV MIN MAX 030_n2392_300_V 173400 33556. 574.5 253. 63567.
Zametim, chto kogda my pechataem nazvanie izobrazheniya, my mozhem otbrosit' rasshirenie .fits, potomu chto v faile login.cl my ustanovili tip izobrazheniya fits, i IRAF po umolchaniyu dopisyvaet nazvaniyu izobrazheniya rasshirenie .fits.
imstat pokazyvaet osnovnye dannye ob izobrazhenii.
2.3 Izmenenie parametrov komand v CL.
Kazhdaya komanda IRAF imeet nabor parametrov , kotorye opredelyayut deistviya komandy. Eto glavnym obrazom vhodnye i vyhodnye dannye, a takzhe opcii, kotorye vhodyat v komandu. Chtoby uvidet' parametry, kotorye ispol'zuyutsya v komande, ispol'zuite komandu lpar.
cl> lpar imstat
images = "030_n2392_300_V" List of input images
(fields = "image,npix,mean,stddev,min,max") Fields to be printed
(lower = INDEF) Lower limit for pixel values
(upper = INDEF) Upper limit for pixel values
(nclip = 0) Number of clipping iterations
(lsigma = 3.) Lower side clipping factor in sigma
(usigma = 3.) Upper side clipping factor in sigma
(binwidth = 0.1) Bin width of histogram in sigma
(format = yes) Format output and print column labels ?
(cache = no) Cache image in memory ?
(mode = "ql")
Zdes' dva vida parametrov: te, kotorye trebuyut vvedeniya, kogda my zaprashivaem komandu, i parametry po umolchaniyu, kotorye ne nuzhdayutsya v opredelenii (skrytye parametry). Parametry, trebuyushie vvedeniya, ne imeyut poyasnitel'noi frazy v spiske lpar. V sluchae imstat edinstvennym trebuemym parametrom, yavlyaetsya nazvanie izobrazheniya (ili spisok nazvanii izobrazhenii), dlya kotoryh vy hotite poluchit' informaciyu. Esli vy propustite kakoi-nibud' iz etih parametrov, IRAF soobshit vam ob etom.
Vtoroi tip parametrov zaklyuchen v skobki v spiske lpar. Ih ne nado opredelyat', kogda vy pol'zuetes' komandoi, esli vy ih ne opredelili, togda ispol'zuyutsya znacheniya po umolchaniyu.
Chtoby uznat', chto oboznachat kazhdyi iz parametrov, vy mozhete posmotret' spravochnuyu stranicu dlya etoi komandy.
cl> help imstat
IMSTATISTICS (Feb01) images.imutil IMSTATISTICS (Feb01)
NAME
imstatistics -- compute and print image pixel statistics
USAGE
imstatistics images
PARAMETERS
images
The input images or image sections for which pixel statistics are to
be computed.
fields = "image,npix,mean,stddev,min,max"
The statistical quantities to be computed and printed.
lower = INDEF
The minimum good data limit. All pixels are above the default value
of INDEF.
upper = INDEF
The maximum good data limit. All pixels are above the default value
of INDEF.
V spravke napisano bol'she, no my opustili ostavsheesya. Verhnyaya strochka rasskazyvaet o nazvanii komandy i paketa, v kotorom ona nahoditsya. Razdel USAGE opredelyaet cl komandu i poryadok vvoda (v dannom sluchae tol'ko odin). Razdel PARAMETERS opisyvaet vse parametry i vvodimye dannye. Chtoby opredelit' dopolnitel'nye (skrytye) parametry v cl, ispol'zuite format parametername=value. Naprimer:
cl> imstat imagename binwidth=0.4 # IMAGE NPIX MEAN STDDEV MIN MAX 030_n2392_300_V 173400 33556. 574.5 253. 63567.
Zametim, chto snachala opredelyaetsya neobhodimye vhodnye parametry v tom poryadke, v kotorom oni opisany v spravke, zatem opredelyayutsya dopolnitel'nye (skrytye) parametry. Nekotorye skrytye parametry dvoichny (u nih est' tol'ko dva znacheniya, da ili net). Chtoby opredelit' ih, mozhno napechatat' parametername=yes ili parametername=no v cl, ili ukorochennyi variant parametername+ ili parametername- dlya yes ili no sootvetstvenno.
Nado upomyanut' ob eshe odnom ukorochennom variante: v IRAF ne nuzhno pechatat' polnoe nazvanie komandy ili parametra, mozhno ukazat' tol'ko neskol'ko pervyh bukv tak, chtoby okonchanie dlya nih bylo edinstvennym. My uzhe eto ispol'zovali: polnoe nazvanie komandy imstat - imstatistics. Naprimer:
cl> imstat imagenam