Improved implementation of the ImageProcessor