### Question:
ConvolutionKernels { public static FloatProcessor genDifferenceOfGaussiansKernel(double sigmaSmall, double sigmaBig){ int size = (int) Math.max(Math.round(sigmaBig * 5)+1, 3); if (size % 2 == 0) size += 1; float [] kernelSmall = new float[size*size]; float [] kernelBig = new float[size*size]; float sum = 0; for (int y = 0; y < size; y++) { for (int x = 0; x < size; x++) { int p = y * size + x; double xx = x - size / 2; double yy = y - size / 2; kernelSmall[p] = (float) pow(Math.E, -(xx * xx + yy * yy) / (2 * (sigmaSmall * sigmaSmall))); sum += kernelSmall[p]; } } for (int i = 0; i < kernelSmall.length; i++) kernelSmall[i] /= sum; sum = 0; for (int y = 0; y < size; y++) { for (int x = 0; x < size; x++) { int p = y * size + x; double xx = x - size / 2; double yy = y - size / 2; kernelBig[p] = (float) pow(Math.E, -(xx * xx + yy * yy) / (2 * (sigmaBig * sigmaBig))); sum += kernelBig[p]; } } for (int i = 0; i < kernelBig.length; i++) kernelBig[i] /= sum; for (int i = 0; i < kernelSmall.length; i++) kernelSmall[i] -= kernelBig[i]; return new FloatProcessor(size, size, kernelSmall); }  static FloatProcessor genGaussianKernel(double sigma); static FloatProcessor genGaussianERFKernel(double sigma); static FloatProcessor genGaussianERFKernel(double sigma, double xShift, double yShift); static FloatProcessor genGaussianKernel(double sigma, float xDelta, float yDelta); static FloatProcessor genLaplacianOfGaussianKernel(double sigma); static FloatProcessor genDifferenceOfGaussiansKernel(double sigmaSmall, double sigmaBig); static FloatProcessor genSmooth(int xSize, int ySize); static FloatProcessor genIntegration(int xSize, int ySize); static FloatProcessor genCircularIntegration(double radius); static FloatProcessor genCircularSmooth(double radius); static FloatProcessor genLaplacian1(); static FloatProcessor genLaplacian2(); static FloatProcessor genLaplacian3(); static FloatProcessor genExtendedLaplacian(); static FloatProcessor genExtendedLaplacian2(); static FloatProcessor genGradientX(int xSize, int ySize); static FloatProcessor genGradientY(int xSize, int ySize); static ImageStack gen3DTemporalFrameSubtraction(int xSize, int ySize, int innerTRadius, int outerTDelta); static ImageStack gen3DSmooth(); static ImageStack gen3DSmooth(int xSize, int ySize, int tSize); static void normalizeToOne(float [] pixels); static void normalizeToOne(ImageStack ims); static void normalizeToOne(FloatProcessor fp); static boolean isNormalizedToOne(float [] pixels, double allowedError); static boolean isNormalizedToOne(ImageStack ims, double allowedError); static boolean isNormalizedToOne(FloatProcessor fp, double allowedError); static boolean isNormalizedToZero(float [] pixels, double allowedError); static boolean isNormalizedToZero(ImageStack ims, double allowedError); static boolean isNormalizedToZero(FloatProcessor fp, double allowedError);  }### Answer:
@Test public void testGenDifferenceOfGaussiansKernel() throws Exception { }