Home > Matching_SYM_LSM > src > Functions > LSM_Functions > LSM_generate_waves2.m

LSM_generate_waves2

PURPOSE ^

LSM_generate_waves2 generates square image with 2 waves

SYNOPSIS ^

function I=LSM_generate_waves2(N0,f_min,f_max,par)

DESCRIPTION ^

 LSM_generate_waves2 generates square image with 2 waves

 I = LSM_generate_waves2(N0,b)

 N0    = size of image
 f_min = minimum intesity
 f_max = maximum intesity
 par   = [f,sharp], f = frequency (sin(f*...))

 I     = image with waves/checkerboard

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % LSM_generate_waves2 generates square image with 2 waves
0002 %
0003 % I = LSM_generate_waves2(N0,b)
0004 %
0005 % N0    = size of image
0006 % f_min = minimum intesity
0007 % f_max = maximum intesity
0008 % par   = [f,sharp], f = frequency (sin(f*...))
0009 %
0010 % I     = image with waves/checkerboard
0011 
0012 function I=LSM_generate_waves2(N0,f_min,f_max,par)
0013 
0014 % frequency
0015 f = par(1);
0016 % size of image
0017 N=2*N0+1; 
0018 % generate wave in [-1,+1]
0019 for i=1:N
0020     for j=1:N
0021         I(i,j)=sin(f*pi*i/N)*sin(f*pi*j/N);
0022     end
0023 end
0024 if par(2) > 0
0025     % generate sharp edges
0026     I = sign(I);
0027     % smooth a bit
0028     % kernel = [1,4,6,4,1]'*[1,4,6,4,1]/256;
0029     s = par(2);
0030     N = 2*ceil(2*s)+1;
0031     alpha=(N-1)/2/s;
0032     ker = gausswin(N,alpha);
0033     ker = ker/sum(ker);
0034     kernel = ker*ker';
0035     I = conv2(I,kernel,'same');
0036 end
0037 % enforce intensity range
0038 I = floor((f_max-f_min) * (1+I)/2 + f_min);
0039 return

Generated on Sun 19-Jul-2020 23:00:25 by m2html © 2005