return dst;
}
private int slowFilter(Raster src, WritableRaster dst) {
try {
SampleModel sm = src.getSampleModel();
int numBands = src.getNumBands();
int srcHeight = src.getHeight();
int srcWidth = src.getWidth();
int xOrigin = kernel.getXOrigin();
int yOrigin = kernel.getYOrigin();
int kWidth = kernel.getWidth();
int kHeight = kernel.getHeight();
float[] data = kernel.getKernelData(null);
int srcMinX = src.getMinX();
int srcMinY = src.getMinY();
int dstMinX = dst.getMinX();
int dstMinY = dst.getMinY();
int srcConvMaxX = srcWidth - (kWidth - xOrigin - 1);
int srcConvMaxY = srcHeight - (kHeight - yOrigin - 1);
int[] maxValues = new int[numBands];
int[] masks = new int[numBands];
int[] sampleSizes = sm.getSampleSize();
for (int i=0; i < numBands; i++){
maxValues[i] = (1 << sampleSizes[i]) - 1;
masks[i] = ~(maxValues[i]);
}