Как это достигнуто в фотошопе, знают программисты, писавшие фотошоп

.
У меня зто достигаестя так:
1. Перевод из RGB в Gray.
2. Блур в два разных массива с разными радиусами блура.
3. Вычитание полученных изображений одно из другого.
4. Сравнение полученной величины с Offset, если больше - в приемнике белый цвет, если меньше - черный.