SPDINTERP(OPCSDEFS)      Optical Printer Control System	    SPDINTERP(OPCSDEFS)

    NAME
        spdinterp - configure exposure speed interpolations

    SYNOPSIS
        spdinterp [slavechan] [masterchan] [lowpos] [highpos] [total] [samples]

    EXAMPLES
	spdinterp c e -1000 1000  2  0.5 1.5
	          - - ----------  -  -------
	          | |      |      |     |
	          | |      |      |     The exposure compansation values.
	          | |      |      |
	          | |      |      # of exposure compenation values.
	          | |      |
	          | |      The extreme positions for the 'e' (zoom) channel.
	          | |
	          | 'e' (zoom) is the master channel.
	          |
	          'c' (camera) exposure speed slaved to [masterchan]

    DESCRIPTION
        SPDINTERP allows a channel's normal running speed to be affected 
	by the position of some other channel. Slewing speeds are NOT affected.

	[slavechan] is the channel whose exposure speed will be
	affected. This is usually always the 'c' (camera) channel. 

	[masterchan] is channel whose position will dictate the
	exposure speed of the [slavechan]. Normally, this is the zoom channel,
	so that moving the zoom will auto-compensate the exposure.

	[lowpos] [highpos] are the low and high positions
	the [masterchan]; the extreme positions which define the
	range over which the interpolation will take place.
    
	[total] The total number of exposure compensation
	sample values.
		  
		  NOTE: If [total] is '0', this will cancel any previous
		  SPDINTERP(DEFS) specifications for the [slavechan] channel.

	[samples] are the compensation values, which will
	be multiplied to [chan]'s current exposure speed, to create
	the actual, 'compensated' exposure speed.

	A value of 2.0 will effectively double the exposure speed,
	0.5 will cut the exposure speed by half, 1.0 will leave the
	exposure unmodified, etc.  
	
	Each sample position should be separated by white space (tabs, 
	spaces, CRLFs) and there should be as many samples as specified 
	by [total].

    OVERVIEW
	When an SPDINTERP is set up on a slave channel, it is like defining
	a look up table through which positions on the master channel affects 
	the exposure speed of the slave channel.

	Requests that fall between values in the lookup table are computed
	as a linear interpolation between the two neighboring lookup values.

	The resulting interpolation results in a 'compensator value' that 
	is simply multiplied to the current camera speed, to get the
	compensated 'actual speed'.


HOW SPDINTERP WORKS =============================================================== = = = spdinterp c e -1000 1000 3 .5 1.0 2.0 = = | | | | | = = | | | | Last sample position = = | | | First sample position = = | | Total samples = = | High = = Low = =============================================================== Figure A. ====================================================================== = Zoom Clip Interped Compensated = = Posns Window Samples Compensator Actual Speed = = Values (SPD=0.5) = = | = = -2000 ----> | ----- 0.50 ----> 0.25 = = -1500 ----> | LOW = -1000 /------ 0.50 ----> 0.25 = = -1000 ----------------------> 0.5 -------- 0.50 ----> 0.25 = = -500 ----------------------> -------- 0.75 ----> 0.38 = = 0 ----------------------> 1.0 -------- 1.00 ----> 0.50 = = 500 ----------------------> -------- 1.50 ----> 0.75 = = 1000 ----------------------> 2.0 -------- 2.00 ----> 1.00 = = 1500 ----> | HIGH = 1000 \------ 2.00 ----> 1.00 = = 2000 ----> | ----- 2.00 ----> 1.00 = = | = = = ====================================================================== Figure B. Whenever the zoom moves to a new position, it is clipped through the 'clipping window' between the [low] and [high] values. This creates a lookup into the list of samples using a linear interpolation, resulting in an 'Interped Compensator Value'. That value is then multiplied by the current speed of the camera (SPD=0.5), resulting in the 'Compensated Actual Speed'. Note that when the zoom position is 0 (exactly between the LO and HIGH values) the actual speed is the same as the camera speed; the compensator value becomes 1.0, which multiplied against the camera speed yields no change in the value. This is because the 'zero' position on the zoom is usually 1:1, which is where exposure speeds should match the actual speed. For this reason, it is usually handy if the extreme zoom positions are totally opposite (2:1 vs 1:2, or 10:1 vs 1:10, etc), and that the 'middle value' in the sample list is 1.0. This way when the zoom is 1:1, the exposure is unchanged. SEE ALSO FEED(OPCS) - feed new positions to motors every camera frame INTERP(OPCSDEFS) - set up interpolation points ORIGIN Version K1.12e+ Gregory Ercolano, Venice California 04/12/98
© Copyright 1997 Greg Ercolano. All rights reserved.