function[outputVector] = Kohonen(inputData, searchVector, odVah, prah)

    outputVector = searchVector ;
    [nVah nNeuronu] = size(inputData);  % Pocet radku odpovida poctu vah neuronu
                                        % Kazdy sloupec odpovida jednomu
                                        % neuronu

    %pro kazdy neuron prohledavaneho vektoru
    for h=1:size(searchVector,2)
      %pro kazdy neuron vstupniho vektoru
      for i=1:nNeuronu
         Sum = 0;
         %soucet vzdalenosti dulezitych parametru
         for j=odVah:nVah
             Sum = Sum + (searchVector(j,h) - inputData(j,i))^2;
         end
         sumNeuron(i) = Sum;
      end
      if (min(sumNeuron)<prah)
          outputVector(nVah+2:nVah+nVah+1,h) = inputData(:,find(sumNeuron == min(sumNeuron)));
      else
          outputVector(nVah+2:nVah+nVah+1,h) = 1;
      end
        sumNeuron = 0;
    end




% 1.  pocet bodu barvy s uhly alfa beta 
% 2.  smerodatna odchylka X
% 3.  smerodatna odchylka Y
% 4.  sigma X - rozptyl
% 5.  sigma Y - rozptyl
% 6.  stredni hodnota vzdalenosti v souradnicich x
% 7.  stredni hodnota vzdalenosti v souradnicich y
% 8.  i = alfa        
% 9.  j = beta
% 10. pomer poctu bodu dane barvy / smerodatna odchylka X
% 11. pomer poctu bodu dane barvy / smerodatna odchylka Y
% 12. celkovu pomer

