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
|
define HELPFILE "apphot$daofind/idaofind.key"
# AP_FDRADSETUP -- Procedure to set up daofind interactively using the radial
# profile plot of a bright star.
procedure ap_fdradsetup (ap, im, wx, wy, gd, out, stid)
pointer ap # pointer to apphot structure
pointer im # pointer to the IRAF image
real wx, wy # cursor coordinates
pointer gd # pointer to graphics stream
int out # output file descriptor
int stid # output file sequence number)
int key, wcs
pointer sp, cmd
real rmin, rmax, imin, imax, xcenter, ycenter, rval
real u1, u2, v1, v2, x1, x2, y1, y2
int ap_showplot(), clgcur()
real ap_cfwhmpsf(), ap_csigma(), ap_cdatamin(), ap_cdatamax()
begin
# Check for open graphics stream.
if (gd == NULL)
return
call greactivate (gd, 0)
# Store the old viewport and window coordinates.
call ggview (gd, u1, u2, v1, v2)
call ggwind (gd, x1, x2, y1, y2)
# Make the plot.
if (ap_showplot (ap, im, wx, wy, gd, xcenter, ycenter, rmin, rmax,
imin, imax) == ERR) {
call gdeactivate (gd, 0)
return
}
# Initialize.
call smark (sp)
call salloc (cmd, SZ_LINE, TY_CHAR)
call printf (
"Waiting for setup menu command (?=help, v=default setup, q=quit):\n")
while (clgcur ("gcommands", xcenter, ycenter, wcs, key, Memc[cmd],
SZ_LINE) != EOF) {
# Enter the cursor setup loop.
switch (key) {
case 'q':
break
case '?':
call gpagefile (gd, HELPFILE, "")
case 'f':
rval = ap_cfwhmpsf (ap, gd, out, stid, rmin, rmax, imin, imax)
case 's':
rval = ap_csigma (ap, gd, out, stid, rmin, rmax, imin, imax)
case 'l':
rval = ap_cdatamin (ap, gd, out, stid, rmin, rmax, imin, imax)
case 'u':
rval = ap_cdatamax (ap, gd, out, stid, rmin, rmax, imin, imax)
case 'v':
rval = ap_cfwhmpsf (ap, gd, out, stid, rmin, rmax, imin, imax)
rval = ap_csigma (ap, gd, out, stid, rmin, rmax, imin, imax)
default:
call printf ("Unknown or ambiguous keystroke command\007\n")
}
call printf (
"Waiting for setup menu command (?=help, v=default setup, q=quit):\n")
}
# Interactive setup is complete.
call printf (
"Interactive setup is complete. Type w to store parameters.\n")
# Restore the viewport and window coordinates.
call gsview (gd, u1, u2, v1, v2)
call gswind (gd, x1, x2, y1, y2)
call gdeactivate (gd, 0)
call sfree (sp)
end
|