Development

In NEM_Violet_to_Red_Lightness.cpp, line 78 (also somewhere in MW_Darts_Violet_to_Red):

this->_palette[this->_idx + this->_idy * this->_opts->number_hue] = ColorRGB( this->_r, this->_g, this->_b );

This is inside a loop incrementing idy, all in a loop incrementing idx. In the form above (this is the fixed version) the first entry in the palette array will have index 0. In the incorrect form given below, the first entry in the palette will have index 1. Any pixel which is then coloured using the palette colour at index 0 will be sourcing uninitialized data for it's colour. This was evident in the violet colour seen at the far edges of some images.

this->_palette[this->_idx + this->_idy * (this->_opts->number_hue + 1)] = ColorRGB( this->_r, this->_g, this->_b );