123456789101112131415161718192021222324252627282930313233343536373839404142 |
- % IM = mkAngularSine(SIZE, HARMONIC, AMPL, PHASE, ORIGIN)
- %
- % Make an angular sinusoidal image:
- % AMPL * sin( HARMONIC*theta + PHASE),
- % where theta is the angle about the origin.
- % SIZE specifies the matrix size, as for zeros().
- % AMPL (default = 1) and PHASE (default = 0) are optional.
- % Eero Simoncelli, 2/97.
- function [res] = mkAngularSine(sz, harmonic, ampl, ph, origin)
- sz = sz(:);
- if (size(sz,1) == 1)
- sz = [sz,sz];
- end
- mxsz = max(sz(1),sz(2));
- %------------------------------------------------------------
- %% OPTIONAL ARGS:
- if (exist('harmonic') ~= 1)
- harmonic = 1;
- end
- if (exist('ampl') ~= 1)
- ampl = 1;
- end
- if (exist('ph') ~= 1)
- ph = 0;
- end
- if (exist('origin') ~= 1)
- origin = (sz+1)/2;
- end
- %------------------------------------------------------------
- res = ampl * sin(harmonic*mkAngle(sz,ph,origin) + ph);
|