0001 function sym = displayTemplate(selectedRow,selectedCol,selectedO, selectedS,selectedMean,allsymbol,nGaborOri,subsample)
0002
0003
0004
0005
0006 maxScale = max(selectedS);
0007 margin = ceil( size(allsymbol{maxScale*nGaborOri+1},1) / 2 );
0008 selectedRow = selectedRow * subsample;
0009 selectedCol = selectedCol * subsample;
0010 selectedS = selectedS + 1;
0011 top = min(selectedRow);
0012 down = max(selectedRow);
0013 left = min(selectedCol);
0014 right = max(selectedCol);
0015 height = down - top + 2 * margin;
0016 width = right - left + 2 * margin;
0017
0018 if height > width
0019 width = height;
0020 else
0021 height = width;
0022 end
0023
0024
0025 nGaborScale = numel(allsymbol) / nGaborOri;
0026 sym = zeros(height,width);
0027 for k = 1:length(selectedRow)
0028 scale = selectedS(k);
0029 ori = selectedO(k) + 1;
0030 col = selectedCol(k) + floor(width/2);
0031 row = selectedRow(k) + floor(height/2);
0032 if scale < 1 || scale > nGaborScale
0033 continue;
0034 end
0035 sym = drawGaborSymbol( sym, allsymbol, row, col, ori, nGaborOri, scale, sqrt(selectedMean(k)) );
0036 end
0037 sym = uint8(255 * (sym-min(sym(:)))/(max(sym(:))-min(sym(:))));
0038
0039