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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
|
.help refspectra Mar92 noao.onedspec
.ih
NAME
refspectra -- Assign reference spectra
.ih
USAGE
refspectra input [records]
.ih
PARAMETERS
.ls input
List of input spectra or root names to be assigned reference spectra.
When using the record number extension format, record number extensions
will be appended to each root name in the list.
.le
.ls records (imred.irs and imred.iids packages only)
List of records or ranges of records to be appended to the input root
names when using record number extension format. The syntax of this
list is comma separated record numbers or ranges of record numbers. A
range consists of two numbers separated by a hyphen. An example of this
syntax is "1-5,13,17-19". A null list ("") may
be used if no record number extensions are desired. This is a
positional query parameter only if the record format is specified with
the \fIrecformat\fR parameter.
.le
.ls references = "*.imh"
List of reference spectra to be assigned or a "reference spectra assignment
table" (see DESCRIPTION section).
.le
.ls apertures = ""
List of apertures to be SELECTED from the input list of spectra. If no list
is specified then all apertures are selected. The syntax is the same as the
record number extensions.
.le
.ls refaps = ""
List of reference spectra apertures to be SELECTED. If no list is specified
then all apertures are selected. The syntax is the same as the record number
extensions.
.le
.ls ignoreaps = yes
Ignore the input and reference apertures when ASSIGNING reference spectra.
If the aperture numbers are not ignored then only the reference spectra with
the same aperture number as a particular input spectra are used when assigning
reference spectra. Otherwise all the reference spectra are used. This does
not apply to the "match" and "average" options which always ignore the aperture
numbers. Note that this parameter applies to relating reference spectra to
input spectra and does not override the aperture selections on the input
spectra and reference spectra.
.le
.ls select = "interp"
Selection method for assigning reference spectra. The methods are:
.ls average
Average two reference spectra without regard to any aperture,
sort, or group parameters.
If only one reference spectrum is specified then it is assigned with a
warning. If more than two reference spectra are specified then only the
first two are used and a warning is given. There is no checking of the
aperture numbers or group values.
.le
.ls following
Select the nearest following spectrum in the reference list based on the
sort and group parameters. If there is no following spectrum use the
nearest preceding spectrum.
.le
.ls interp
Interpolate between the preceding and following spectra in the reference
list based on the sort and group parameters. If there is no preceding and
following spectrum use the nearest spectrum. The interpolation is weighted
by the relative distances of the sorting parameter (see cautions in
DESCRIPTION section).
.le
.ls match
Match each input spectrum with the reference spectrum list in order.
This overrides any aperture or group values.
.le
.ls nearest
Select the nearest spectrum in the reference list based on the sort and
group parameters.
.le
.ls preceding
Select the nearest preceding spectrum in the reference list based on the
sort and group parameters. If there is no preceding spectrum use the
nearest following spectrum.
.le
.le
.ls sort = "jd"
Image header keyword to be used as the sorting parameter for selection
based on order. The header parameter must be numeric but otherwise may
be anything. Common sorting parameters are times or positions.
A null string, "", or the word "none" may be use to disable the sorting
parameter.
.le
.ls group = "ljd"
Image header keyword to be used to group spectra. For those selection
methods which use the group parameter the reference and object spectra must
have identical values for this keyword. This can be anything but it must
be constant within a group. Common grouping parameters are the date of
observation "date-obs" (provided it does not change over a night) or the
local Julian day number. A null string, "", or the word "none" may be use
to disable the grouping parameter.
.le
.ls time = no, timewrap = 17.
Is the sorting parameter a 24 hour time? If so then the time orgin
for the sorting is specified by the timewrap parameter. This time
should precede the first observation and follow the last observation
in a 24 hour cycle.
.le
.ls override = no
Override previous assignments? If an input spectrum has reference
spectra assigned previously the assignment will not be changed unless
this flag is set.
.le
.ls confirm = yes
Confirm reference spectrum assignments? If \fIyes\fR then the reference
spectra assignments for each input spectrum are printed and the user may
either accept the assignment or not. Rejected assignments leave the
input spectrum unchanged.
.le
.ls assign = yes
Assign the reference spectrum by entering it in the image header?
The input spectra are only modified if this parameter is \fIyes\fR.
This parameter may be set to \fIno\fR to get a list of assignments
without actually entering the assignments in the image headers.
.le
.ls logfiles = "STDOUT,logfile"
List of log files for recording reference spectra assignments.
The file STDOUT prints to the standard output. If not specified ("")
then no logs will be recorded.
.le
.ls verbose = yes
Verbose log output? This prints additional information about the input
and reference spectra. This is useful for diagnosing why certain spectra
are ignored or not assigned as intended.
.le
.ih
DESCRIPTION
This task allows the user to define which reference spectra are to be
used in the calculation of the dispersion solution of object spectra.
The assignment of reference spectra to object spectra is often
a complex task because of the number of spectra, the use of many distinct
apertures, and different modes of observing such as interspersed arc
calibration spectra or just one calibration for a night. This task
provides a number of methods to cover many of the common cases.
A reference spectrum is defined to be a spectrum that has been used to
calculate a wavelength solution with the tasks IDENTIFY or REIDENTIFY.
These tasks have set the keyword REFSPEC1 in the image header
equal to the spectrum's own name.
Wavelength reference spectra are assigned to input spectra by entering
the reference spectrum name or pair of names in the image
header under the keywords REFSPEC1 and REFSPEC2. When two reference
spectra are assigned, the spectrum names may be followed by a weighting
factor (assumed to be 1 if missing). The wavelength of a pixel is
then the weighted average of the wavelengths from the reference
spectra dispersion solutions. The weighting factors are calculated
by choosing an appropriate selection method, ie average, interpolation,
etc. Note, however, that these assignments may be made directly using
the task \fBhedit\fR or with some other task or script if none of the
methods are suitable.
The spectra to be assigned references are specified by an input list.
Optional numeric record format extensions may be appended to each name
(used as a root name) in the input list in the \fBiids/irs\fR packages.
The input spectra may be restricted to a particular set of aperture numbers
by the parameter \fIapertures\fR; the spectra not in the list of apertures
are skipped. If the aperture list is null (i.e. specified as "") then all
apertures are selected. One further selection may be made on the input
spectra. If the parameter \fIoverride\fR is no then input spectra which
have existing reference spectra assignments (which includes the reference
spectra) are skipped.
The reference spectra parameter \fIreferences\fR may take two forms.
It may be an image list of spectra or a text file containing
a "reference spectrum assignment table". The table consists of pairs
of strings/lists with the first string being a list of object spectra
and the second string being a list of reference spectra. If this
table is used, then only those object spectra in the table that are also
listed in the input parameter list are processed. The example below
illustrates the reference spectrum assignment table:
.nf
spec1 spec2,spec3,spec4
spec5
spec6,spec7 spect8,spec9
spec10 spec11
spec12 spec13
spec14 spec15
.fi
As a convenience, if a reference list in the table is missing, the preceding
reference list is implied. This table may be used to make arbitrary assignments.
The reference spectra in the specified list may also be restricted to a
subset of aperture numbers. However, in the case of averaging, the
reference aperture selection is ignored. In the case of matching, if
a reference spectrum is not selected then the matching input spectrum
is also skipped (in order to maintain a one-to-one correspondence).
Spectra in the reference list which are not reference spectra (as
defined earlier) are also ignored and a warning is printed. Note that
no check is made that a dispersion solution actually exists in the
dispersion solution database.
There may be cases where there are only reference spectra for some
apertures and it is desired to apply these reference spectra to the
other apertures. The \fIignoreaps\fR flag may be used to force an
assignment between reference and object spectra with different
aperture numbers. Note that this flag is applied after the input and
reference list aperture number selections are made; in other words this
applies only to the assignments and not the input selection process.
Once the appropriate reference spectra from the reference list have been
determined for an input spectrum they are assigned using one of the
methods selected by the parameter \fIselect\fR. The "match" method
simply pairs each element of the input spectrum list with each element
in the reference spectrum list. If a reference assignment table
is used with "match", then only the first spectrum in the reference
list for each input spectrum is assigned.
The "average" method assigns the first two spectra in the reference list
ignoring aperture numbers or groups. The spectra are averaged by assigning
equal weights. There is no weighting based on any sort parameter. If
there are more than two spectra in the reference list then only the first
two spectra are used and the remainder are ignored. If a reference
assignment table is used only the first two reference spectra listed for
each object in the table are averaged.
The remaining selection methods group the spectra using a header keyword
which must be constant within a group. If no group parameter is specfied
(the null string "" or the word "none")
then grouping does not occur. Only reference spectra with the same
group header value as the object are assigned to an object spectrum.
One likely group parameter is the "date-obs" keyword. This is usually
constant over a night at CTIO and KPNO. At other sites this may not
be the case. Therefore, the task \fBsetjd\fR may be used to set a
local Julian day number which is constant over a night at any
observatory.
Within a group the spectra are ordered based on a numeric image header
parameter specified by the \fIsort\fR parameter. A null string "" or the
word "null" may be used to select no sort parameter. Parameters which are
times, as indicated by the \fItime\fR parameter, are assumed to be cyclic
with a period of 24 hours. The time wrap parameter defines the origin of a
cycle and should precede the first observation and follow the last
observation in a 24 hour period; i.e. for nighttime observations this
parameter value should bee sometime during the day. Particularly with
interpolating or choosing the nearest reference spectrum it is important
that the sorting parameter refer to the middle of the exposure. A Julian
date at the middle of an exposure may be calculated with the task
\fBsetjd\fR or a middle UT time may be computed with the task
\fBsetairmass\fR.
The selection methods may choose the "nearest", "preceding", or "following"
reference spectrum. Alternatively, the reference wavelengths may be
interpolated between the preceding and following reference spectra with
weights given by the relative distances measured by the sorting parameter.
In the cases where a preceding or following spectrum is required and one is
not found then the nearest reference spectrum is used. These methods are
used for observing sequences where the reference spectra are taken either
nearby in time or space.
The option "interp" should not be used without some thought as to the
nature of the interpolation. If the sorting parameter is a time (a 24 hour
cyclic parameter as opposed to a continuous parameter such as a Julian
date) then the user must be aware of when these times were recorded in the
header. For example, let us assume that the sort parameter is "ut" and
that this time was recorded in the header at the beginning of the
exposure. If the object spectrum exposure time is longer than the
reference spectra exposure times, then interpolation will weight the
preceding reference spectrum too heavily. This problem can be circumvented
by using the "average" selection method along with the reference assignment
table. Or the sort time parameter in the headers of the spectra can be
changes with \fIsetjd\fR or \fIsetairmass\fR or edited to reflect the
values at mid-exposure (see EXAMPLES).
Once the reference spectrum or spectra for a input spectrum have been
identified the user may also chose to override any previous reference
assignments, to accept or not accept the current reference assignments
(in the case of not accepting the reference assignment the image header
is not updated), to only list the current reference assignments and not
update any image headers, as well as to record the reference assignments
to log files. These options are separately controlled by the remaining
task parameters.
.ih
KEYWORDS
This task uses the header keyword BEAM-NUM to sort the apertures. It
has an integer value. If the keyword does not exist then all apertures
are assumed to be 1.
The keyword REFSPEC1 is used to search for reference spectra. This
keyword can be previously created by the tasks IDENTIFY and REIDENTIFY.
The two keywords REFSPEC1 and optionally REFSPEC2 are created by the
task when the assign parameter is set to yes. They take the form:
.nf
REFSPEC1='d1.0001' or
REFSPEC1='d5.0001 0.756'
REFSPEC2='d5.0002 0.244'
.fi
.ih
EXAMPLES
1. Compute a Julian date at the midpoint of the exposure for sorting
and a local Julian day number for grouping and then assign spectra
using interpolation.
.nf
cl> setjd *.imh jd=jd ljd=ljd
cl> refspec *.imh sort=jd group=ljd select=interp
.fi
2. Specifically assign reference spectra to input spectra.
.nf
cl> refspectra spec1,spec3 refe=spec2,spec4 select=match
.fi
3. Use a reference assignment table to assign reference spectra to input
spectra using the "average" option. First a table is created using an
editor.
.nf
cl> type reftable
spec1 spec2,spec3,spec4
spec5
spec6,spec7 spect8,spec9
spec10 spec11
spec12 spec13
spec14 spec15
cl> refspec spec*.imh recfor- select=average refe=reftable
.fi
4. Assign the nearest reference spectrum in zenith distance using
wildcard lists. By default the aperture numbers must match.
cl> refspec *.imh "" sort=zd select=nearest time-
5. Assign a specific reference spectrum to all apertures.
cl> refspec *.imh "" refer=refnite1 ignoreaps+
6. Confirm assignments.
.nf
cl> hselect irs.*.imh "$I,beam-num,ut,refspec1" yes
irs.0009.imh 0 0:22:55 irs.0009
irs.0010.imh 1 0:22:53 irs.0010
irs.0100.imh 0 8:22:55
irs.0101.imh 1 8:22:53
irs.0447.imh 0 13:00:07 irs.0447
irs.0448.imh 1 13:00:05 irs.0448
cl> refspec irs 100-101 refer=irs.*.imh conf+ ver+ select=nearest\
>>> ignoreaps-
[irs.0100] Not a reference spectrum
[irs.0101] Not a reference spectrum
[irs.0100] refspec1='irs.0447' Accept assignment (yes)?
[irs.0101] refspec1='irs.0448' Accept assignment (yes)?
.fi
Because the reference spectrum list includes all spectra the
warning messages "Not a reference spectrum" are printed with verbose
output. Remember a reference spectrum is any spectrum which has a
reference spectrum assigned which refers to itself.
7. Assign reference spectra with weights using interpolation. In this
example we want to sort by "ut" but this keyword value was
recorded at the beginning of the integration. So we first create an
new keyword and then compute its value to be that of mid-exposure. The
new keyword is then used as the sorting parameter.
.nf
cl> hedit *.imh utmid 0. add+ ver- show-
cl> hedit *.imh utmid "(ut)" ver- show-
cl> hedit *.imh utmid "(mod(utmid+exptime/7200.,24.))" ver- show-
cl> refspec *.imh refer=*.imh recfor- select=interp sort=utmid
.fi
8. Assign reference spectra using the "average" option and the reference
assignment table with data with record number extensions. First edit
the file reftable:
.nf
cl> type reftable
spec.0001 arc1.0001,arc2.0001
spec.0002 arc1.0002,arc2.0002
spec.0003 arc1.0003,arc2.0003
spec.0004 arc1.0004,arc2.0004
cl> refspec spec.*.imh recfor- refer=reftable select=average
.fi
9. Assign a reference spectrum for aperture 1 to the object spectra
for apertures 2 thru 5.
.nf
cl> refspec spec 2-5 recfor+ refer=arc.*.imh refaps=1 ignoreaps+
.fi
.ih
REVISIONS
.ls REFSPECTRA V2.10.3
If no reference spectrum is found in the interp, nearest, following,
preceding methods then a list of the reference spectra is given
showing why each was not acceptable.
.le
.ls REFSPECTRA V2.10
A group parameter was added to allow restricting assignments by observing
period; for example by night. The record format option was removed and
the record format syntax is available in the \fBirs/iids\fR packages.
.le
.ih
SEE ALSO
identify, reidentify, dispcor, setjd, setairmass
.endhelp
|