docs: public static <T extends Kernel1D> T derivative( int order, boolean isFloat,
  													 double sigma, int radius )
  	{
  		// zero order is a regular gaussian
  		if( order == 0 ) {
  			return gaussian(1,isFloat, 32, sigma,radius);
  		}
  
  		if( radius <= 0 )
  			radius = FactoryKernelGaussian.radiusForSigma(sigma,order);
  		else if( sigma <= 0 ) {
  			sigma = FactoryKernelGaussian.sigmaForRadius(radius,order);
  		}
  
  		Kernel1D_F32 k = derivative1D_F32(order,sigma,radius, true);
  
  		if( isFloat )
  			return (T)k;
  		return (T)KernelMath.convert(k,MIN_FRAC);
  	}