In colour management, ISO 13655 measurement conditions (M0, M1, M2, M3) define spectrophotometer illumination and filtration. As detailed in the technical documentation, ArgyllCMS handles paper Optical Brightening Agents (OBAs / FWAs) mathematically during profile construction using Fluorescent Whitening Agent (FWA) compensation (colprof -f) rather than proprietary dual-scan hardware emulation.
To ensure profiles accurately represent prints under standard daylight viewing conditions while giving professionals complete control over ambient matching, Stage 4 (colprof) should expose substrate FWA compensation and viewing condition parameters.
Proposed Feature Requirements
1. Substrate OBA / FWA Compensation (colprof -f)
Add an OBA / Viewing Condition control in Stage 4 (Profile Generation) with the following options:
Estimates daylight-stimulated paper fluorescence from spectral data, delivering the visual intent of an ISO 13655 M1 profile.
None / Native M0 (No Compensation):
Omits the -f parameter.
Used for non-brightened media, standard tungsten M0 profiling, or imported CGATS datasets that are already natively captured in M1/M2/M3 hardware modes.
D65 FWA Compensation:
Passes -f D65 for prints evaluated under D65 daylight viewing booths.
Custom Ambient Illuminant (.sp):
Allows browsing and selecting a measured ambient spectrum file (.sp) captured via spotread -a or illumread, passing -f <path.sp>.
2. Standard Illuminant & Observer Options (Advanced Options)
Expose standard Argyll colprof spectral integration settings:
pc — Print evaluation in critical viewing booth (500 lx)
pp — Practical print evaluation (200 lx)
pm — Print evaluation with monitor matching (500 lx)
mt — Monitor in typical work environment
3. Preset Integration & CLI Argument Generation
Update ColprofConfig in src-tauri/src/commands.rs to deserialize the new parameters and construct the CLI argument list with unit test coverage.
Update src/js/presets.js to serialize and restore OBA/FWA and viewing condition parameters across preset save/load.
Provide contextual tooltip explanations explaining when to use Calculated M1 vs. None/Native.
### Feature Summary & Background
In colour management, **ISO 13655** measurement conditions (M0, M1, M2, M3) define spectrophotometer illumination and filtration. As detailed in the technical documentation, ArgyllCMS handles paper Optical Brightening Agents (OBAs / FWAs) mathematically during profile construction using **Fluorescent Whitening Agent (FWA) compensation (`colprof -f`)** rather than proprietary dual-scan hardware emulation.
To ensure profiles accurately represent prints under standard daylight viewing conditions while giving professionals complete control over ambient matching, Stage 4 (`colprof`) should expose substrate FWA compensation and viewing condition parameters.
---
### Proposed Feature Requirements
#### 1. Substrate OBA / FWA Compensation (`colprof -f`)
Add an **OBA / Viewing Condition** control in Stage 4 (Profile Generation) with the following options:
* **Calculated M1 (D50 Daylight FWA Compensation)** `[DEFAULT]`:
- Passes `-f D50` (or `-f`) to `colprof`.
- Estimates daylight-stimulated paper fluorescence from spectral data, delivering the visual intent of an ISO 13655 M1 profile.
* **None / Native M0 (No Compensation)**:
- Omits the `-f` parameter.
- Used for non-brightened media, standard tungsten M0 profiling, or imported CGATS datasets that are already natively captured in M1/M2/M3 hardware modes.
* **D65 FWA Compensation**:
- Passes `-f D65` for prints evaluated under D65 daylight viewing booths.
* **Custom Ambient Illuminant (`.sp`)**:
- Allows browsing and selecting a measured ambient spectrum file (`.sp`) captured via `spotread -a` or `illumread`, passing `-f <path.sp>`.
---
#### 2. Standard Illuminant & Observer Options (Advanced Options)
Expose standard Argyll `colprof` spectral integration settings:
* **Illuminant (`-i`)**:
- `D50` (Default), `D65`, `A` (Tungsten), `C`, `F5`, `F8`, `F10`, `D50M2` (UV-cut).
* **CIE Observer (`-o`)**:
- `1931_2` (Default: 1931 2° Standard Observer), `1964_10` (1964 10° Observer), `S&B_1955_2`, `shaw`, `J&V_1978_2`.
* **Viewing Condition / Ambient Adaptation (`-a`)**:
- `Default` (Omitted)
- `pc` — Print evaluation in critical viewing booth (500 lx)
- `pp` — Practical print evaluation (200 lx)
- `pm` — Print evaluation with monitor matching (500 lx)
- `mt` — Monitor in typical work environment
---
#### 3. Preset Integration & CLI Argument Generation
* Update `ColprofConfig` in `src-tauri/src/commands.rs` to deserialize the new parameters and construct the CLI argument list with unit test coverage.
* Update `src/js/presets.js` to serialize and restore OBA/FWA and viewing condition parameters across preset save/load.
* Provide contextual tooltip explanations explaining when to use Calculated M1 vs. None/Native.
Implemented in enh/176-colprof-fwa (stacked on feat/184-configurable-delta-e):
Wrapped every Stage 4 colprof control in .has-tooltip and added contextual .tooltip-text help for OBA/FWA compensation, custom spectrum, illuminant, observer, and input/output viewing conditions.
Added a combined build_colprof_args test exercising FWA, illuminant, observer, and viewing conditions together.
Implemented in `enh/176-colprof-fwa` (stacked on `feat/184-configurable-delta-e`):
- Wrapped every Stage 4 `colprof` control in `.has-tooltip` and added contextual `.tooltip-text` help for OBA/FWA compensation, custom spectrum, illuminant, observer, and input/output viewing conditions.
- Added a combined `build_colprof_args` test exercising FWA, illuminant, observer, and viewing conditions together.
- Updated `AGENTS.md`, `README.md`, and `ROADMAP.md`.
Closes #176.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Feature Summary & Background
In colour management, ISO 13655 measurement conditions (M0, M1, M2, M3) define spectrophotometer illumination and filtration. As detailed in the technical documentation, ArgyllCMS handles paper Optical Brightening Agents (OBAs / FWAs) mathematically during profile construction using Fluorescent Whitening Agent (FWA) compensation (
colprof -f) rather than proprietary dual-scan hardware emulation.To ensure profiles accurately represent prints under standard daylight viewing conditions while giving professionals complete control over ambient matching, Stage 4 (
colprof) should expose substrate FWA compensation and viewing condition parameters.Proposed Feature Requirements
1. Substrate OBA / FWA Compensation (
colprof -f)Add an OBA / Viewing Condition control in Stage 4 (Profile Generation) with the following options:
[DEFAULT]:-f D50(or-f) tocolprof.-fparameter.-f D65for prints evaluated under D65 daylight viewing booths..sp):.sp) captured viaspotread -aorillumread, passing-f <path.sp>.2. Standard Illuminant & Observer Options (Advanced Options)
Expose standard Argyll
colprofspectral integration settings:-i):D50(Default),D65,A(Tungsten),C,F5,F8,F10,D50M2(UV-cut).-o):1931_2(Default: 1931 2° Standard Observer),1964_10(1964 10° Observer),S&B_1955_2,shaw,J&V_1978_2.-a):Default(Omitted)pc— Print evaluation in critical viewing booth (500 lx)pp— Practical print evaluation (200 lx)pm— Print evaluation with monitor matching (500 lx)mt— Monitor in typical work environment3. Preset Integration & CLI Argument Generation
ColprofConfiginsrc-tauri/src/commands.rsto deserialize the new parameters and construct the CLI argument list with unit test coverage.src/js/presets.jsto serialize and restore OBA/FWA and viewing condition parameters across preset save/load.Implemented in
enh/176-colprof-fwa(stacked onfeat/184-configurable-delta-e):colprofcontrol in.has-tooltipand added contextual.tooltip-texthelp for OBA/FWA compensation, custom spectrum, illuminant, observer, and input/output viewing conditions.build_colprof_argstest exercising FWA, illuminant, observer, and viewing conditions together.AGENTS.md,README.md, andROADMAP.md.Closes #176.