![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Functions | |
| run (flags) | |
| parse_params (out) | |
| patch_shipped (text, name, fit, ins, iro, outs, oro) | |
| patch_c (text, vnum, ins, iro, outs, oro) | |
| main () | |
Variables | |
| float | AB_STAB = 70.0 |
| float | AB_LEVEL = 10.0 |
| float | BLEACH_NUGDE = 0.5 |
| ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| PY = os.path.join(ROOT, "tools", "derive_filmic_agx_primaries.py") | |
| C = os.path.join(ROOT, "src", "iop", "filmicrgb.c") | |
| list | DERIVE = [sys.executable, "-u", PY] |
| list | STEPS |
Offline orchestrator for the filmic-AgX bleach ladder — run this PLUGGED IN.
It fits the four non-anchor variants in dependency order via successive BISECTION of the
no-bleach / extra-bleach space, so every step is confined between its neighbours (monotone,
even per-hue apparent-brightness AND hue-drift steps), and auto-patches BOTH sources:
- SHIPPED_VARIANTS in tools/derive_filmic_agx_primaries.py (single source of truth)
- the DT_FILMIC_COLORSCIENCE_V6..V10 case blocks in src/iop/filmicrgb.c
no-bleach is NOT re-fit here (it is the settled bottom anchor, --min-bleach --ab-pull 200).
Order:
1. extra-bleach = --fit-extra-bleach --ab-stabilize AB_STAB (stabilise reds/magentas so
bleaching does not over-brighten them ; apparent brightness stays ~put)
2. medium-bleach = bisect(no-bleach, extra-bleach)
3. low-bleach = bisect(no-bleach, medium-bleach)
4. high-bleach = bisect(medium-bleach, extra-bleach)
Then it writes tools/agx_diagnose.log + tools/agx_report.md and prints the rebuild command.
Tunables (edit + re-run if --diagnose shows a step off the ramp): AB_STAB below, and W_AB /
W_HD inside the --fit-bisect branch of derive_filmic_agx_primaries.py.
Usage: python3.12 tools/fit_agx_ladder.py
Then: cmake --build build --target filmicrgb # verify constants + build
| fit_agx_ladder.main | ( | ) |
Definition at line 108 of file fit_agx_ladder.py.
References main(), parse_params(), patch_c(), patch_shipped(), and run().
Referenced by main().
| fit_agx_ladder.parse_params | ( | out | ) |
Pull inset/irot/outset/orot float lists from the 'paste this into SHIPPED_VARIANTS' block.
Definition at line 59 of file fit_agx_ladder.py.
Referenced by main().
| fit_agx_ladder.patch_c | ( | text, | |
| vnum, | |||
| ins, | |||
| iro, | |||
| outs, | |||
| oro | |||
| ) |
Definition at line 89 of file fit_agx_ladder.py.
Referenced by main().
| fit_agx_ladder.patch_shipped | ( | text, | |
| name, | |||
| fit, | |||
| ins, | |||
| iro, | |||
| outs, | |||
| oro | |||
| ) |
Definition at line 70 of file fit_agx_ladder.py.
Referenced by main().
| fit_agx_ladder.run | ( | flags | ) |
Definition at line 52 of file fit_agx_ladder.py.
Referenced by main().
| float fit_agx_ladder.AB_LEVEL = 10.0 |
Definition at line 30 of file fit_agx_ladder.py.
| float fit_agx_ladder.AB_STAB = 70.0 |
Definition at line 29 of file fit_agx_ladder.py.
| float fit_agx_ladder.BLEACH_NUGDE = 0.5 |
Definition at line 33 of file fit_agx_ladder.py.
| fit_agx_ladder.C = os.path.join(ROOT, "src", "iop", "filmicrgb.c") |
Definition at line 36 of file fit_agx_ladder.py.
| list fit_agx_ladder.DERIVE = [sys.executable, "-u", PY] |
Definition at line 37 of file fit_agx_ladder.py.
| fit_agx_ladder.PY = os.path.join(ROOT, "tools", "derive_filmic_agx_primaries.py") |
Definition at line 35 of file fit_agx_ladder.py.
| fit_agx_ladder.ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
Definition at line 34 of file fit_agx_ladder.py.
| list fit_agx_ladder.STEPS |
Definition at line 40 of file fit_agx_ladder.py.