@crenedecotret
Is there a version of your app that is running so we could see the process in action with real results?
When I read this it sounds smart to me. But the truth is I have no idea whether it is actually good or not.
You can grab it here.
https://github.com/crenedecotret/wsprofiler. It's python so it should work pretty well in Windows or MAC but I only tested it on Linux
The second page visually is interesting when printed out.. many neutral and "natural" colors like skin tones. The algorithm seems to work well. I've never had any
real issues with one page profiles except in for some paper/ink combos so yes, it's all very theoretical. Here is what the "robot" had to say about it. It's mostly the "low novelty" that makes a difference. I you build a 400 patch profile and then another 400 patch profile with preconditioning, there is some overlap...
Why This Approach Works Better Than `targen -c`
Argyll's `targen -c precond.icc` generates patches by:
1. Building a uniform grid in the **intermediate profile's PCS space** (Lab)
2. Inverting through the profile to find corresponding RGB values
This tends to concentrate patches near the gamut **surface** and gives fewer
samples to the interior and the neutral axis. It also produces many patches
that are perceptually very close to Pass-1 patches (low novelty).
The wsprofiler approach explicitly addresses these weaknesses:
- Each patch is scored for **novelty** relative to Pass-1 — redundant patches
score near zero
- The **region-coverage** term forces exploration of under-sampled Lab voxels
- The **neutrality bonus** and **luma balance** terms ensure gray-axis and
tonal-range coverage
- The **min_dE gate** prevents clumping even within a single iteration
In practice, this produces a Pass-2 chart that fills perceptual gaps left by
Pass-1, giving the final `colprof` a more uniformly sampled measurement set
and a better profile overall.