Repository navigation
Capture sharpen improvements - #22334
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Auto-tuning regresses headless processing and cropped HQ inputs, while calculation failures can overwrite valid parameters.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 4
Open (7)
Restore headless auto-radius calculation for capture sharpening · New Preserve capture radius when allocation fails · New Restore headless OpenCL auto-radius calculation · New Preserve ROI offsets when bypassing demosaic scaling · New Fix typo and plural agreement in comment · New Use the grammatically correct verb form · New Fix malformed punctuation in user-facing error · New
What changed in this PR
Improves capture-sharpen auto-tuning, sensor-area selection, failure reporting, and GUI synchronization.
Changes:
- Tunes defaults and 14-bit RAW sensitivity.
- Refactors CPU/OpenCL radius calculation and GUI updates.
- Adds release notes.
| File | Description |
|---|---|
src/iop/demosaicing/capture.c |
Updates radius calculation and error handling. |
src/iop/demosaic.c |
Refactors auto-tuning and GUI synchronization. |
RELEASE_NOTES.md |
Documents user-visible fixes. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The asynchronous autotuning handoff can commit stale values, and an OpenCL fallback message incorrectly implies final failure.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (2)
Resolved since last review (7)
Preserve ROI offsets when bypassing demosaic scaling Restore headless OpenCL auto-radius calculation Preserve capture radius when allocation fails Restore headless auto-radius calculation for capture sharpening Fix malformed punctuation in user-facing error Use the grammatically correct verb form Fix typo and plural agreement in comment
a6d543d to
cb377b6
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Headless processing can access absent GUI state, while concurrent pipes can publish or persist incorrect autotuning results.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (2)
Resolved since last review (2)
cb377b6 to
616c4aa
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Autotune synchronization remains race-prone, and OpenCL failures can publish an invalid radius or misleading error.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 2
Open (2)
Resolved since last review (2)
616c4aa to
f3b4597
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Headless autotuning regressions and request/result synchronization races remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (3)
Resolved since last review (2)
f3b4597 to
d43eeb7
Compare
- As we always calculate the capture sharpen radius in full pipe we have complete image data (after introdution of demosaicscale) and thus can leave out some checks & reports. - We now correctly snap the area used for capture radius calculation matching the sensor type, not ensuring this made lead to silently incorrect data. - The default capture contrast sensitivity has been further tuned for 14bit raw images. - Substantial work on pixelpipe and the module's gui_data interference for safety and in a few cases also for UI performance. - Fixed exports after darkroom editing falling back to auto-calculation of capture radius with a defined radius of zero
d43eeb7 to
e5b72ed
Compare
|
@TurboGit - now ready to go. |



Summary: Various fixes for capture sharpening, algorithms stayed identical, current edits are unmodified.
As we always calculate the capture sharpen radius in full pipe we have complete image data (after introdution of demosaicscale) and thus can leave out some checks & reports.
We now correctly snap the area used for capture radius calculation matching the sensor type, not ensuring this made lead to silently incorrect data.
The default capture contrast sensitivity has been further tuned for 14bit raw images.
Substantial work on pixelpipe and the module's gui_data interference for safety and in a few cases also for UI performance.
I have read CONTRIBUTING.md and the coding style.
I don't have merged master into the topic branch.
The pull request is one logical change, and every commit compiles on its own.
I ran the relevant tests: unit tests,
src/tests/integration/where the pixelpipe is touched, ordarktable-clias a headless smoke test.New user-visible strings use
_(), new preferences are registered indata/darktableconfig.xml.in.A
RELEASE_NOTES.mdentry was added (only needed if fixing an issue in a release). Do not reference GitHub issues.