This is a Python module that lets the user to create Inkjet Printer Profiles with Argyll CMS and X-Rite ColorMunki Photo and X-Rite i1Pro 2.
The system is based on Andres Torger's tutorial. Which is a great read if you want to do a quick entry to ArgyllCMS.
The system is developed and tested under Fedora 31/32/33/34 and Windows 10.
Follow the steps for Windows:
- Download ArgyllCMS, extract it to a folder.
Add the
Argyll_2.x.x/bin
folder to yourPATH
environment variable, so you would be able to call the commands anywhere from your command line. - Set up your ColorMunki Photo to use the ArgyllCMS driver.
- To be able to print the generated color patches with No Color Management download Dry Creek Photo Print Utility (Adobe Color Printer Utility also works, but it has a bug and prints smaller than it needs to be making it harder to read with the device).
- Install the
DryCreekPhotoPrintUtility
or if you choose to use theACPU
extract theACPU.zip
file content inside the project folder. So theAdobe Color Printer Utility.exe
is in theACPU
folder (ACPU\Adobe Color Printer Utility.exe
).
Follow the steps for Linux:
- Install ArgyllCMS from your package manager or download executables from ArgyllCMS download page.
- Your device drivers should automatically be installed. And the device should work without a problem when you attach it to your computer (Although a simple profiler based on ArgyllCMS may pop up. Don't use it. Under Fedora 31 where the system is developed, it is not working and it doesn't have enough option ex: high resolution mode, continue reading patches, read mode alternatives etc.
- You can use Gimp + GutenPrint, and print with no color correction.
Nearly same as Linux:
- Printing the targets with macOS requires an application that can disable the ICC profiles. Don't use Adobe Photoshop as there is no way to disable the usage of ICC profiles. Adobe Color Printer Utility is also not working properly with the latest versions of macOS. The best alternative I found so far is Print-Tool is a very suitable tool, albeit non-free.
For both windows and Linux the rest of the steps are same.
Just follow the steps in the UI. The final page will install the generated ICC profile to your system. And that's it. You can then use that profile to print from applications like Photoshop, Lightroom, CaptureOne, Gimp etc.
The system is setup to use 600 color patches per A4 or 1212 color patches per
A3 size paper in high density mode
and 210 color patches per A4 and 445
color patches per A3. The high density mode is the default behaviour. But it
may be tedious to scan through. If that's the case, simply don't use
high density mode and print more pages.
The system is now a Python library. You do not need to use the command line tools.
from icc_generator.api import ICCGenerator, PaperSizeLibrary
ig = ICCGenerator()
# Set Printer Details
ig.printer_brand = "Canon"
ig.printer_model = "iX6850"
# Set Paper Details
ig.paper_brand = "Kodak"
ig.paper_model = "UPPP"
ig.paper_finish = "Glossy"
ig.paper_size = PaperSizeLibrary.A4 # Or generate a custom size.
# Set Ink Details
ig.ink_brand = "CanonInk"
# Profiling workflow, run the following commands in the given order:
ig.gray_patch_count = 128 # default is 128, which should be quite enough.
ig.generate_target()
ig.generate_tif() # This will output TIF file paths
ig.print_charts() # Can be skipped and TIF file paths can be directly used.
ig.read_charts()
ig.generate_profile()
ig.check_profile(True) # Look to the first couple of rows for high errors (dE > 3).
# Optional
# To fix misread patches (patches with too high dE values)
# re-read the chart in resume mode
ig.read_charts(resume=True, read_mode=0) # use read_mode=1 for patch-by-patch
# Finally install the profile
ig.install_profile()
Next, there will be a Qt UI in the near future.