Skip to main content

palettecleanse is a python library for quick conversions of images to custom color palettes

Project description

palettecleanse

palettecleanse is a python library for quick conversions of images to custom color palettes

License: GPL v3

Installation

pip import palettecleanse

For manually installing requirements: pip install -r requirements.txt

To verify the installation worked, run the following code:

from palettes.custom import TwilightSunset

TwilightSunset.display_plotly_examples()

Quickstart

To convert an image to a custom color palette, simply select an image and load it into palettecleanse as a Palette object, where desired attributes such as the number of colors (n_colors) can be specified as part of the class initialization. All available palettes for the image can be displayed via. the display_all_palettes method.

from palettecleanse.palettes import Palette

# load image
vangogh = Palette('images/vangogh.jpg')
vangogh.display_all_palettes()

vangogh_image

vangogh_palette

Specific palette types (sequential, qualitative, etc) are stored as attributes for this object and are compatible with matplotlib, seaborn, and plotly.

# sequential palette in matplotlib
plt.scatter(x, y, c=colors, palette=vangogh.sequential)

# qualitative palette in matplotlib
plt.bar(categories, values, color=vangogh.qualitative)

# qualitative palette in seaborn
sns.swarmplot(df, x="x", y="y", hue="z", palette=vangogh.qualitative)

# generic palette in plotly
px.scatter(df, x="x", y="y", color="z", color_continuous_scale=vangogh.plotly)

To get a sense for how well your palette works, use the display_example_plots method

# this creates some misc plots using your generated palettes
vangogh.display_example_plots()

# plotly equivalent
vangogh.display_plotly_examples()

vangogh_example

palettecleanse also comes prepackaged with some custom palettes:

from palettecleanse.custom import TwilightSunset

TwilightSunset.display_all_palettes()

TwilightSunset palette

See usage.ipynb for more examples.

Examples

All available custom palettes can be accessed via. the display_all_custom_palettes method

display_all_custom_palettes('sequential')

Custom Sequentials

Below are example plots made using via. the display_example_plots method that can be used to get a bird's eye view on how well a palette behaves across generic plot types

Hokusai - The Great Wave off Kanagawa

great_wave_example

Red Rose

red_roses_example

Sunset

sunset_example

Bladerunner Olive

bladerunner_olive

More examples available in usage.ipynb.

Contributing

Contributions at all levels are welcome! I'm happy to discuss with anyone the potential for contributions. Please see CONTRIBUTING.md for some general guidelines and message me with any questions!

Meta

Jiaming Chen – jiaming.justin.chen@gmail.com

Distributed under the GPL 3 (or any later version) license. See LICENSE for more information.

https://github.com/sansona/palettecleanse

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

palettecleanse-1.1.0.tar.gz (14.4 MB view details)

Uploaded Source

Built Distribution

palettecleanse-1.1.0-py3-none-any.whl (14.4 MB view details)

Uploaded Python 3

File details

Details for the file palettecleanse-1.1.0.tar.gz.

File metadata

  • Download URL: palettecleanse-1.1.0.tar.gz
  • Upload date:
  • Size: 14.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for palettecleanse-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c0087a85da4203f820ea3923fb94debc446cd7c563ffe37737fd559b0b1cd0e2
MD5 c97ff26d3010014ebb4b1842d288e357
BLAKE2b-256 381c86481fffe081cb01f197e3d2d1e9c43ff668fcffa18237f836c2447c5173

See more details on using hashes here.

File details

Details for the file palettecleanse-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for palettecleanse-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7f3f014f3f64d3b1bf32b3c6c7f099d85cd900b479588aa2758f953fd7f1349
MD5 bff9260ed65323f9f8e7439aac3f9853
BLAKE2b-256 922f46841870787ff2702323a8ad42a3dac23e89dafa243d41383d0483a987c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page