subr gamma_subrange,powin,lowin,highin
 ;not used in browser
 ;use gamma in opposite sense of Pixar people
 if !narg ne 3 then { ty, 'gamma_subrange requires 3 arguments'  retall }
 ;reverse high/low and use a negative gamma if low > high
 low = lowin > 0		high = abs(highin) < 255
 if low gt high then { switch,low,high  pow = -abs(powin) } else pow = powin
 range = fix(high -low)
 x=zero(fltarr(256))
 if range gt 0 then insert,x, (indgen(fltarr(range))/range)^abs(pow), low
 insert,x,1.0+zero(fltarr(256-high)),high
 if pow lt 0 then x=reverse(x)
 TVLCT,x,x,x
 ;now, to support some data save routines, keep these maps around in
 ;globals and then zap the local variables
 switch,x,#red_map	#green_map = #red_map	#blue_map = #red_map
 x= 0
 endsubr
 ;===================================================================
