; rescales x linearly to y, s.t. x0 -> y0, x1 -> y1 function linscl, x, x0, x1, y0, y1, clip=clip x0d = double(x0) x1d = double(x1) y0d = double(y0) y1d = double(y1) y = (x-x0d)*(y1d-y0d)/(x1d-x0d) + y0 if keyword_set(clip) then begin return, y0d > y < y1d endif else begin return, y endelse end