aboutsummaryrefslogtreecommitdiff
path: root/noao/imred/dtoi/hdicfit/hdicguaxes.x
blob: f8199c87935392cf1bfa62b5cfce67966a873853 (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
include	"hdicfit.h"

# ICG_UAXIS -- Set user axis.

procedure icg_uaxesd (ic, key, cv, x, y, z, npts, label, units, maxchars)

pointer	ic				# Pointer to ic structure
int	key				# Key for axes
pointer	cv				# CURFIT pointer
double	x[npts]				# Independent variable
double	y[npts]				# Dependent variable
double	z[npts]				# Output values
int	npts				# Number of points
char	label[maxchars]			# Axis label
char	units[maxchars]			# Units for axis
int	maxchars			# Maximum chars in label

int	offset
double	fog
real	ic_getr()
include	"hdic.com"

begin
	# Axis type 'u' returns the untransformed independent variable
	# in the z array.  That is, the original density values after
	# subtracting the current fog value.  Some density values could be
	# below fog were excluded from the transformed vector. 

	call strcpy ("Density above fog", label, maxchars)
	fog = double (ic_getr (ic, "fog"))

	if (npts == nraw)
	    call asubkd (Memd[den], fog, z, npts)
	else {
	    offset = big_den + (NVALS_FIT - npts)
	    call asubkd (Memd[offset], fog, z, npts)
	}
end