Image processing by Artyom Grigoryan, David Fofi & Edward R. Dougherty