public void applyEdgeDetectionHomogenity() { Parameter dlg = new Parameter(); dlg.nValue = 0; if (DialogResult.OK == dlg.ShowDialog()) { Bitmap image; if (imageModel.getFilteredImage() != null) { image = imageModel.getFilteredImage(); } else { image = imageModel.getBaseImage(); } this.undoBuffer.push(image); if (FilterController.EdgeDetectHomogenity(image, (byte)dlg.nValue)) { imageModel.setFilteredImage(image); baseView.setBaseImageFromBitmap(image); imageModel.setCIEImage(setCIEImage(image)); RGBModel[,] rgbImage = convertToRGB(imageModel.getCIEImage()); histogramView.setBaseImage(imageModel.getFilteredImage()); channelView.setFilteredChannelImages(image, setRedChannel(rgbImage), setGreenChannel(rgbImage), setBlueChannel(rgbImage)); } else { throw new Exception(); } this.redoBuffer.clearBuffer(); } }