Image processing algorithms on distributed memory machines