PaletteOptimiser

Graph

(0) -60 +60 tip
Initialise the extra function properly for module usage.
Attempt to find the next best combination of colours when some pixel values
Balancing is just simplifying the probabilities.
Handle hopeless cases of no appropriate colours by picking an arbitrary colour.
Made the experimental square function application slightly cleaner.
Added documentation and copyright/licensing details.
Reduced the propagated error by half.
Reduced the propagated error by half.
Spread any error across two pixels on the following row.
Fixed the complement compensation code which cannot have had any effect.
Cache colour lookup results and avoid unnecessary pixel operations.
Added options for verifying the number of colours per row, half-resolution
Propagated colour errors between rows to determine the best colours.
Introduced compensation to complementary colours for those removed.
Introduced a distance-based approach to obtain suitable alternative colours.
Integrated the squaring of contributions as an option.
Merged branches.
Fixed the limiting of colour exchange.
Limit colour exchange to those below a certain frequency threshold.
Limit colour exchange to those below a certain frequency threshold.
Permit a broader exchange of colours.
Fixed colour exchange.
Use the square of each scaled colour value to diminish the image intensity.
Introduced random colour exchange when too many colours are needed.
Changed the test for the most prominent pair to sum complement contributions.
Experiment with different complementary pairs when reducing contributions.
Added a "balancing" function to remove primary/secondary complement pairs, thus
Adopt a more thorough model of colour selection.
Experiment with replacing colours with black and white.
Sum colour probabilities instead of counting requested colours.
Use a proper main program!
Fixed the preview filename.
Added experiments with PIL's dithering/quantizing, summing colour probabilities,
Simplified get_value to use probabilities instead of pixel positions.
Experiment with combining more than two colours at once for an input colour.
Reduced the frequency of the second colour in the dithering pattern.
Experiment with calculating the dithering factor using the sum of the lengths of
Choose the nearest alternative colours to the original colour.
Permit stronger saturation and desaturation using multiple option flags.
Fixed saturation and added desaturation support.
Added image saturation support.
Changed the approach, introducing dithering with the "vertex colours" and a
Impose a maximum height on portrait images.
Adjusted the colourmap slightly.
Propagated various colourmap fixes.
Prevent unnecessary darkening of blue.
Added automatic rotation detection.
Switched to the more advanced colour model. Added automatic height sizing and
Changed the colourmap and added fallback matching for light and dark tones.
Use EXIF data for automatic rotation.
Corrected some colour entries, added weighting for preferred tones.
Handle lines with fewer than four base colours properly.
Made the colour scale more accurate/detailed.
Removed redundant functions.
Removed redundant tables.
Removed redundant tables and added the statistical fallback function.
Added automatic image height sizing.
Experimenting with three tone values. Added automatic image height sizing.
Removed redundant code.
Fixed light/dark row switching.
(0) -60 +60 tip