Yep:

Code:

0x00,0x05,0x60, // less than 1 bit - midnight blue
0x02,0x3D,0x9A, // less than 2 bits - dark blue
0x00,0x5F,0xD3, // less than 3 bits - royal blue
0x01,0x86,0xC0, // less than 4 bits - teal
0x4A,0xB0,0x3D, // less than 5 bits - emerald green
0xB5,0xD0,0x00, // less than 6 bits - chartreuse
0xEB,0xD1,0x09, // less than 7 bits - yellow
0xFB,0xA7,0x0F, // less than 8 bits - orange
0xEE,0,0, // less than 9 bits - bright red
0xD0,0,0, // less than 10 bits - darker tones of red from this point
0xB2,0,0, // less than 11 bits
0x95,0,0, // less than 12 bits
0x77,0,0, // less than 13 bits
0x5a,0,0, // less than 14 bits
0x3C,0,0, // less than 15 bits
0x1E,0,0, // less than 16 bits
0,0,0 // 16 bits and more

The first two pixels represent the byte used to store the filter type, another scale ranging from black to purple is used there:

Code:

0,0,0, // less than 2 bits - black
0x22,0,0x22, // less than 4 bits
0x44,0,0x44, // less than 6 bits
0x66,0,0x66, // less than 8 bits
0x88,0,0x88, // less than 10 bits
0xAA,0,0xAA, // less than 12 bits
0xCC,0,0xCC, // less than 14 bits
0xEE,0,0xEE, // 14 bits and more - purple