1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# MKNOBSFILE -- Create a catalog of observations suitable for input to
# FITPARAMS or the evaluation routines EVALFIT and INVERTFIT from a list of
# APPHOT/DAOPHOT text or ST table databases. This script is optimized for
# creating an observations file from a large number of observations of
# single stars. MKNOBSFILE is generally the preprocessor of choice for standard
# star observations.
procedure mknobsfile (photfiles, idfilters, imsets, observations)
file photfiles {prompt="The input list of APPHOT/DAOPHOT databases"}
string idfilters {prompt="The list of filter ids"}
file imsets {prompt="The input image set file"}
file observations {prompt="The output observations file"}
bool wrap {yes, prompt="Format output file for easy reading ?"}
file obsparams {"", prompt="The input observing parameters file"}
string obscolumns {"2 3 4 5", prompt="The format of obsparams"}
real minmagerr {0.001, min=0.0, prompt="The minimum error magnitude"}
file shifts {"", prompt="The input x and y coordinate shifts file"}
file apercors {"", prompt="The input aperture corrections file"}
int aperture {1,
prompt="The aperture number of the extracted magnitude"}
real tolerance {5.0,
prompt="The tolerance in pixels for position matching"}
bool allfilters {no, prompt="Output only objects matched in all filters"}
bool verify {no, prompt="Verify interactive user input ?"}
bool verbose {yes, prompt="Print status, warning and error messages ?"}
begin
# Declare local variables.
string tfiles, timsets, tidfilters, tobsfile, tformat, tobscolumns
string tdatafile, tinfields
# Get the parameters and test for the existence of various files.
tfiles = photfiles
tidfilters = idfilters
timsets = imsets
if (! access (timsets))
error (0, "The image set file " // timsets // " does not exist")
tobsfile = observations
if (access (tobsfile))
error (0,
"The output catalog file " // tobsfile // " already exists")
tformat = "f" // tobsfile // ".dat"
if (access (tformat))
delete (tformat, go_ahead+, verify-, default_action+,
allversions+, subfiles+, > "dev$null")
if (obsparams == "") {
tobscolumns = ""
} else {
tobscolumns = obscolumns
if (! access (obsparams))
error (0,
"The obsparams file " // obsparams // " does not exist")
}
if (shifts != "") {
if (! access (shifts))
error (0,
"The shifts file " // shifts // " does not exist")
}
if (apercors != "") {
if (! access (apercors))
error (0,
"The apercors file " // apercors // " does not exist")
}
# Create temporary file names to store the intermediate image list.
tdatafile = mktemp ("tmp$")
# Change columns named "MAG" and "MERR" to "MAG[1]" and "MERR[1]"
# in any ST tables files. Non-ST format files are skipped.
tbcrename (tfiles, "MAG,MERR", "MAG\[1],MERR\[1]")
# Add the image, ifilter, itime and xairmass columns to any
# files in ST tables format. Non-ST format files are skipped.
tbkeycol (tfiles, "IMAGE,IFILTER,ITIME,XAIRMASS,OTIME")
# Construct the string describing the fields to be extracted
# making sure to specify the correct aperture number. Extract
# the data and store the results in the temporary file tdatafile.
tinfields = ",IMAGE,XCENTER,YCENTER," //
"MAG[" // aperture // "]" // ",MERR[" // aperture // "]," //
"MAG\[" // aperture // "]" // ",MERR\[" // aperture // "]," //
"IFILTER,XAIRMASS,OTIME,ITIME"
pdump (tfiles, tinfields, "yes", headers=no, parameters=yes,
> tdatafile)
# Create the observations file.
obsfile (tdatafile, "1,2,3,6,9,7,8,4,5,0", tidfilters, timsets,
tobsfile, wrap=wrap, obsparams=obsparams, minmagerr=minmagerr,
normtime=no, tolerance=tolerance, allfilters=allfilters,
obscolumns="1," // tobscolumns, shifts=shifts, apercors=apercors,
verify=verify, verbose=verbose)
# Delete the temporary file.
delete (tdatafile, go_ahead+, verify-, default_action+,
allversions+, subfiles+, > "dev$null")
end
|