function cal = UpdateAmbientSensor(cal,new_ambient_sensor,ADD) % cal = UpdateAmbientSensor(cal,new_ambient_sensor,[ADD]) % % Update the ambient light used in the conversions. The % value for new_ambient_sensor should be passed in the % same units as defined by T_sensor in the call to % SetColorSpace. % % If flag ADD is true, passed ambient is added to current % value. Otherwise passed value replaces current value. % ADD is false if not passed. Use caution when setting ADD % true -- if the ambient is changing during the experiment % you typically don't want to keep adding multiple times. % % If instead you want to update in the measurement units, % call UpdateAmbient instead. % % 7/7/98 dhb Wrote it. % 4/5/02 dhb, ly Update for new interface. Internal names not changed. % 5/2/02 dhb, kr Add ADD flag. % Primitive dimension check if (size(new_ambient_sensor,1) ~= size(cal.ambient_linear,1) || ... size(new_ambient_sensor,2) ~= size(cal.ambient_linear,2) ) error('Old and new ambient specifications are not of same dimension'); end % Set default on optional argument. if (nargin < 3 || isempty(ADD)) ADD = 0; end % Update the structure if (~ADD) cal.ambient_linear = new_ambient_sensor; else cal.ambient_linear = cal.ambient_linear + new_ambient_sensor; end