Skip to main content

tool to investigate the effect of color profile

Project description

This project is still a work-in-progress.

benekli

benekli is a helper utility for soft proofing images. It has two purposes:

  • generate soft proofs of the images/photos (i.e. how a photo would look like when it is printed)
  • calculate color difference (delta E) between the original and soft proofs, so the best representation can be selected

Soft proofing can be done in many applications including Adobe Photoshop. However, it is cumbersome to use it with multiple images, with multiple simulated profiles and with different proofing options (e.g. rendering intent, black point compensation). This process can be easily automated with benekli.

The color difference (delta E) can be calculated with some applications or tools, but it is not that common in user applications. benekli can calculate delta E according to CIE 1976, CIE 1994 or CIEDE 2000 formulas and it generates an RGB image representing the delta E values.

benekli is a Turkish word meaning spotted, speckled or mottled in English, i.e. benekli elbise means spotty dress.

Installation

benekli is a Python application using Pillow imaging library. It can be installed from pip.

$ pip install benekli

This installs the Pillow dependency. Required Pillow modules; littlecms2, libtiff and jpg are checked in runtime.

Check the installation with:

$ benekli

Usage

To soft proof Bill Atkinson's Fourteen Balls test image (which is an extreme example in ProPhoto RGB color space) for my printer (Epson SC-P800) using Epson Archival Matte paper (and I saved the profile of my display as display.icc):

$ benekli -v -s SC-P800\ Series\ Epson\ Archival\ Matte.icc -d display.icc -i FourteenBalls.tif -o FourteenBalls.p.bpc.tif -r p --bpc

 INFO:     benekli.py: input image is RGB
 INFO:     benekli.py: using the embedded profile in FourteenBalls.tif
 INFO:     benekli.py: image profile: ProPhoto RGB
 INFO:     benekli.py: simulated profile: SC-P800 Series Epson Archival Matte
 INFO:     benekli.py: display profile: SW271 1_D50_L100_G22_2025-03-18T14.58.41Z
soft proof generated: FourteenBalls.p.bpc.tif

generates FourteenBalls.p.bpc.tif soft proof.

Be aware that what you will see below will be different depending on how wide the color gamut of your display is. I am checking these on a wide-gamut display with ~100% AdobeRGB coverage. You can test your display at wide-gamut test page.

Fourteen Balls test image by Bill Atkinson

Fourteen Balls soft proof with perceptual rendering intent and black point compensation

License

Copyright (C) 2025 Mete Balci

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

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

benekli-2025.1.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

benekli-2025.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file benekli-2025.1.tar.gz.

File metadata

  • Download URL: benekli-2025.1.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for benekli-2025.1.tar.gz
Algorithm Hash digest
SHA256 bd345233922aa3522a94a8f37af1db3bd7e9059a939d570decbb4ea2bf465645
MD5 f88c9a68a369f4be30b1dc35300574cf
BLAKE2b-256 800f70330e3698bdd6fe1481560f3309a490b64fc621b5a93ef4ab30b8056c4e

See more details on using hashes here.

File details

Details for the file benekli-2025.1-py3-none-any.whl.

File metadata

  • Download URL: benekli-2025.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for benekli-2025.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12dc0156d75739947ba92cffab8e5a748e5ed46055b06e6e3d1416ac8d8766ec
MD5 218cc756487a4340598acb93f31c0f9d
BLAKE2b-256 447e05dd4de8182bd3653076c366c4aa9df9d45895312de89caf5aa59c2f2cac

See more details on using hashes here.

Supported by

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