public void applyInvertFilter()
        {
            Bitmap image;

            if (imageModel.getFilteredImage() != null)
            {
                image = imageModel.getFilteredImage();
            }
            else
            {
                image = imageModel.getBaseImage();
            }

            this.undoBuffer.push(image);

            if (FilterController.Invert(image))
            {
                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();
        }