Several basic UNIX commands also exist within IRAF: ls
, mkdir
, mv
, cd
, grep
, and many more.
Note that rm
does not work within IRAF, however there are two tasks which take it's place: imdel
and del
.
Most interactions you have with IRAF will be through the various tasks. Tasks are grouped into packages of similar tasks. Several packages with the basic tasks are already loaded for you. Once you are in IRAF, type ?
at the CL.
cl> ?
dataio.
language. noao.
proto. utilities.
dbms.
lists. obsolete.
softools.
images.
mscred.
plot.
system.
This is a list of the packages available to you (note some of these may already be loaded, some may not). Some packages can be contained within others, this is usually specified by a dot in between the package names (i.e. images.imutil). To get a list of tasks available type ??
at the 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
As you can see this is usually a long list.
Now lets try working with some of the tasks. At this point I am assuming that you have a few images to play with. If you are working with images for ASTR 3510/3520 your images are probably from SBO. If so, be sure to convert them into the proper format. From now on I will use imagename
to represent the name of whatever image you are working with, sometimes I will append a descriptive tag on the end of imagename
, such as imagename_V
to represent the V filter.
As an example of how we will use IRAF tasks, I will use the task imstat
as an example. Try using the imstat task:
cl> imstat imagename
#
IMAGE NPIX
MEAN STDDEV
MIN MAX
030_n2392_300_V
173400 33556.
574.5 253. 63567.
Note that when typing the image filename into IRAF, we can leave off the .fits extension. Because we set imtype to fits in our login.cl, IRAF will assume any imagename is a .fits extension.
imstat
returns some of the basic image statistics as you can see.
Each IRAF task has a set of parameters which control the behavior of the task. These are essentially the inputs, outputs, and options you can invoke with a task. To view the parameters as currently set for a task, use the lpar
command.
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")
There are two types of parameters, those that are required to be input when you invoke a task and those which have defaults which you do not need to specify (hidden parameters). The required parameters are those which are not enclosed by parenthesis in the lpar
list. In the case of imstat
, the only required parameter input is the image name (or list of image names) for which you want statistics. If you omit one of these parameters, IRAF will prompt you for input.
The second type of parameter is enclosed in parenthesis in the lpar
list. These do not need to be set when you invoke the task, if you do not specify them, then the default value listed by lpar
will be used.
To see what each of the parameters controls, we can look at the help page for that task:
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.
There is more of the help page, but I won't reproduce the rest here. The top line tells us the task name, the package in which it is found. The USAGE section specifies the cl command and order of the inputs (in this case just one). The PARAMETERS section describes all the parameters and inputs.
To specify an optional (hidden) parameter at the cl, use the parametername=value
format. For example:
cl> imstat imagename binwidth=0.4
#
IMAGE NPIX
MEAN STDDEV
MIN MAX
030_n2392_300_V
173400 33556.
574.5 253. 63567.
Notice that I specified the required inputs first, in the order described in the help page, then I specified the optional (hidden) parameter. Some hidden parameters are boolean (they have only two values, yes or no). To specify them we can type
parametername=yes
or parametername=no
at the cl, a convenient shortcut is to use type parametername
+ or parametername-
which are shorthand for yes and no respectively.
I should mention another convenient shortcut here: IRAF does not require that you type the full name of the task or parameter, as long as you type enough so that there is only one possible completion of the word. I've already been using this: the full name for the task I described as imstat
is imstatistics
. An example, using all of these shortcuts:
cl> imstat imagename binw=0.4 format-
030_n2392_300_V 173400 33556.36 574.462 253. 63567.
The parameter editing method we used in the last section is useful for a single invocation of a task, but if we want to use that same parameter every time we invoke a task, we would like to change the parameter permanently. We do this using the epar
task. If we invoke epar, we are able to edit each of the parameters, when we exit the editor, the changes are saved, so that even if we exit IRAF and come back later, the changes to the parameters will still be there.
Running epar imstat
will bring up a page similar to what we saw with lpar imstat
, however we can now interact with the parameter list. Use the arrow keys to move up and down in the list, when you get to the parameter you want to edit, start typing, when you're done hit enter, the move to the next parameter you want to edit. Once you're done editing the parameter values, you can exit two ways: CTRL-c will exit and cancel all your changes, CTRL-d will exit saving your changes.
Try this: use epar
to edit imstat. Change the line which initially reads
(fields = "image,npix,mean,stddev,min,max") Fields to be printed
to read
(fields = "image,npix,mode,mean,stddev,min,max") Fields to be printed
this simply adds a field to the output which contains the mode of the image.
cl> imstat imagename
#
IMAGE NPIX
MODE MEAN
STDDEV
MIN MAX
030_n2392_300_V
173400 33487.
33556. 574.5
253. 63567.
Now imstat
will always print the mode of the image (a useful statistic to be discussed later).