diff options
Diffstat (limited to 'sys/vops/lz/amapd.x')
-rw-r--r-- | sys/vops/lz/amapd.x | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/vops/lz/amapd.x b/sys/vops/lz/amapd.x new file mode 100644 index 00000000..8f766793 --- /dev/null +++ b/sys/vops/lz/amapd.x @@ -0,0 +1,30 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# AMAP -- Vector linear transformation. Map the range of pixel values +# a1,a2 from a into the range b1,b2 in b. It is assumed that a1 < a2 +# and b1 < b2. + +procedure amapd (a, b, npix, a1, a2, b1, b2) + +double a[ARB], b[ARB] +double a1, a2, b1, b2 + +double minout, maxout, aoff, boff, pixval + +double scalar + +int npix, i + +begin + scalar = (double (b2) - double (b1)) / (double (a2) - double (a1)) + + minout = min (b1, b2) + maxout = max (b1, b2) + aoff = a1 + boff = b1 + + do i = 1, npix { + pixval = (a[i] - aoff) * scalar + b[i] = max(minout, min(maxout, pixval + boff)) + } +end |