Каков алгоритм «черно-белого» корректирующего слоя Photoshop?

Может кто-нибудь объяснить алгоритм, стоящий за корректирующим слоем «Черно-белый» в фотошопе? Я должен воспроизвести его, используя C ++ для приложения, которое выделяет не красные / пурпурные (иш) пиксели изображения (с настраиваемым допуском в процентах), и этот ресурс показал ожидаемое...