Greyscale Approximation

This filter is based on Greyscale but resulting (c, c, c) RGB vector is approximated with one of N levels. Idea is to divide maximal RGB vector length to N levels and to use instead of evaluated length (of vector (c, c, c)) vector (c1, c1, c1) which length is approximated by nearest level:

Let's use band=2 and our levels will be: 1, 3, 5, 7...
Then numbers 1, 2.7, 3, 4.2 will approximated as: 1, 3, 3, 5
Example of greyscale approximation with 6 levels is: