code: protected void computeWeights(int numSamples, double numSigmas) {
  		weights = new float[ numSamples*numSamples ];
  
  		float w[] = new float[ numSamples ];
  		for( int i = 0; i < numSamples; i++ ) {
  			float x = i/(float)(numSamples-1);
  			w[i] = (float) UtilGaussian.computePDF(0, 1, 2f*numSigmas * (x - 0.5f));
  		}
  
  		for( int y = 0; y < numSamples; y++ ) {
  			for( int x = 0; x < numSamples; x++ ) {
  				weights[y*numSamples + x] = w[y]*w[x];
  			}
  		}
  	}
docs: compute the weights by convolving 1D gaussian kernel