blob: 36a1f31568c06a012064fd3c9fcaf3e55557a8a9 (
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
|
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
include <imhdr.h>
include <imio.h>
# IMAPLV -- Transform the logical vector LV (which references an image section)
# into a physical vector (which references the physical image).
procedure imaplv (im, lv, pv, ndim)
pointer im
long lv[ndim], pv[IM_MAXDIM]
int ndim
int loff # logical offset (subscript)
int nldims # number of logical dimensions
int i, j # i = logical dim index, j = physical dim index
begin
i = 1
nldims = min (IM_NDIM(im), ndim)
do j = 1, IM_NPHYSDIM(im) {
if (i <= nldims && IM_VMAP(im,i) == j) {
loff = lv[i]
i = i + 1
} else
loff = 1
pv[j] = IM_VOFF(im,j) + IM_VSTEP(im,j) * loff
}
end
|