aboutsummaryrefslogtreecommitdiff
path: root/pkg/images/tv/imexamine/ieprint.x
blob: 0a7a76020dd2641596382eb185f81e8b342057cf (plain) (blame)
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
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<error.h>
include	"imexam.h"
 
# IE_PRINT -- Print box of pixel values
 
procedure ie_print (ie, x, y)
 
pointer	ie			# IMEXAM structure
real	x, y			# Center of box
 
int	i, j, x1, x2, y1, y2, nx
pointer	im, data, ie_gimage(), ie_gdata()
 
begin
	iferr (im = ie_gimage (ie, NO)) {
	    call erract (EA_WARN)
	    return
	}

	x1 = x - 5 + 0.5
	x2 = x + 5 + 0.5
	y1 = y - 5 + 0.5
	y2 = y + 5 + 0.5
	iferr (data = ie_gdata (im, x1, x2, y1, y2)) {
	    call erract (EA_WARN)
	    return
	}
	nx = x2 - x1 + 1

	call printf ("%4w") 
	do i = x1, x2 {
	    call printf (" %4d ")
		call pargi (i)
	}
	call printf ("\n")
 
	do j = y2, y1, -1 {
	    call printf ("%4d")
		call pargi (j)
	    do i = x1, x2 {
		call printf (" %5g")
		    call pargr (Memr[data+(j-y1)*nx+(i-x1)])
	    }
	    call printf ("\n")
	}

	if (IE_LOGFD(ie) != NULL) {
	    call fprintf (IE_LOGFD(ie), "%4w") 
	    do i = x1, x2 {
	        call fprintf (IE_LOGFD(ie), " %4d ")
		    call pargi (i)
	    }
	    call fprintf (IE_LOGFD(ie), "\n")
 
	    do j = y2, y1, -1 {
	        call fprintf (IE_LOGFD(ie), "%4d")
		    call pargi (j)
	        do i = x1, x2 {
		    call fprintf (IE_LOGFD(ie), " %5g")
			call pargr (Memr[data+(j-y1)*nx+(i-x1)])
	        }
	        call fprintf (IE_LOGFD(ie), "\n")
	    }
	}
end