code: public static <T extends KernelBase> T gaussian(Class<T> kernelType, double sigma, int radius )
  	{
  		if (Kernel1D_F32.class == kernelType) {
  			return gaussian(1, true, 32, sigma, radius);
  		} else if (Kernel1D_F64.class == kernelType) {
  			return gaussian(1,true, 64, sigma,radius);
  		} else if (Kernel1D_S32.class == kernelType) {
  			return gaussian(1,false, 32, sigma,radius);
  		} else if (Kernel2D_S32.class == kernelType) {
  			return gaussian(2,false, 32, sigma,radius);
  		} else if (Kernel2D_F32.class == kernelType) {
  			return gaussian(2,true, 32, sigma,radius);
  		} else if (Kernel2D_F64.class == kernelType) {
  			return gaussian(2,true, 64, sigma,radius);
  		} else {
  			throw new RuntimeException("Unknown kernel type. "+kernelType.getSimpleName());
  		}
  	}
docs: Creates a Gaussian kernel of the specified type.
  
  @param kernelType The type of kernel which is to be created.
  @param sigma The distributions stdev.  If &le; 0 then the sigma will be computed from the radius.
  @param radius Number of pixels in the kernel's radius.  If &le; 0 then the sigma will be computed from the sigma.
  @return The computed Gaussian kernel.