function MTF = MTFip(q, p, age, m) % MTF = MTFip(q, p, age, m) Calculates the modulation transfer function (MTF) % based on data from Ijspeert et al. 1992. All input variables are optional % except for q % %Input variables: % q = frequency in c/deg % p = pupil diameter in mm Default = 4 mm % age = age in years Default = 0 years % m = pigmentation parameter Default = call to pigment function % %SEE rad2deg, deg2rad switch nargin case{nargin<1} error 'too few arguments' case{1} age = 0; p = 4; m = pigment; case{2} age = 0; m = pigment; case{3} m = pigment; case{4} case{nargin>=5} error 'too many arguments' end AF = agefact(age); for i = 1:4 switch i case{1} c1 = c1calc(AF, p, m); Mb1 = Mbcalc(i, q, AF, p, m); case{2} c2 = c2calc(AF, p, m); Mb2 = Mbcalc(i, q, AF, p, m); case{3} c3 = c3calc(AF, m); Mb3 = Mbcalc(i, q, AF, p, m); case{4} c4 = c4calc(AF, m); Mb4 = Mbcalc(i, q, AF, p, m); end end %Normalization of c prefactors to 1 ctotal = (c1 + c2 + c3 + c4); MTF1 = (c1/ctotal) * Mb1; MTF2 = (c2/ctotal) * Mb2; MTF3 = (c3/ctotal) * Mb3; MTF4 = (c4/ctotal) * Mb4; %Final Summation MTF = MTF1 + MTF2 + MTF3 + MTF4;