/usr/share/psychtoolbox-3/PsychCal/SetGammaMethod.m is in psychtoolbox-3-common 3.0.14.20170103+git6-g605ff5c.dfsg1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 39 40 41 42 43 | function cal = SetGammaMethod(cal,gammaMode,precision)
% cal = SetGammaMethod(cal,gammaMode,[precision])
%
% Set up the gamma correction mode to be used. Options
% are:
% gammaMode == 0 - search table using linear interpolation via interp1.
% gammaMode == 1 - inverse table lookup. Fast but less accurate.
% gammaMode == 2 - exhaustive search
%
% If gammaMode == 1, then you may specify the precision of the
% inverse table. The default is 1000 levels.
%
% See also RefitCalGamma, CalibrateFitGamma, GamutToSettings
%
% 8/4/96 dhb Wrote it.
% 8/21/97 dhb Update for structure.
% 3/12/98 dhb Change name to SetGammaCorrectMode
% 5/26/12 dhb Add real exhaustive search mode (2).
% Check that the needed data is available.
gammaTable = cal.gammaTable;
gammaInput = cal.gammaInput;
if isempty(gammaTable)
error('Calibration structure does not contain gamma data');
end
% Do the right thing depending on mode.
if gammaMode == 0
cal.gammaMode = gammaMode;
return;
elseif gammaMode == 1
if nargin == 2
precision = 1000;
end
iGammaTable = InvertGammaTable(gammaInput,gammaTable,precision);
cal.gammaMode = gammaMode;
cal.iGammaTable = iGammaTable;
elseif gammaMode == 2
cal.gammaMode = gammaMode;
else
error('Requested gamma inversion mode %g is not yet implemented', gammaMode);
end
|