Repeat until all pixels are processed: 1. Select a random collection of unprocessed pixels. Each pixel in the collection must be adjacent to an already processed pixel. 2. Pick the pixel with the longest path back to the point of origin. Let’s call it P. 3. Select a new collection of pixels among the unprocessed ones. These don’t have the adjacency requirement. 4. Pick the pixel (R) with colour most similar to the colours of P’s adjacent processed pixels. Let’s call it R. 5. Swap the colours of P and R. P is now processed.