summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-25 11:03:09 +0200
committerPaul Buetow <paul@buetow.org>2026-03-25 11:03:09 +0200
commitcd063bc60a93ed4664d0246218d70880cd3ee291 (patch)
tree033fd5b98cb318ff7d81e613cd1d6ea4ff2abf85
parent4b642f7762a0d5f432c81f1d5b87554dffd972de (diff)
photo-enhance: reduce contrast a further 0.05 across all scene profiles
Second round of user-feedback contrast reduction (still a bit high after -0.10): landscape/golden_hour/overcast/street 1.10→1.05 indoor/beach/default 1.05→1.00 (portrait/night already at 1.00) Retrospective fix applied to 26 existing _e.jpg photos via: magick -function polynomial 0.9545,0.02275 (equivalent to undoing 1.10 and re-applying 1.05 around the 0.5 midpoint) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--smart_photo_node.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/smart_photo_node.py b/smart_photo_node.py
index d3b70e9..ca19e06 100644
--- a/smart_photo_node.py
+++ b/smart_photo_node.py
@@ -270,21 +270,21 @@ class AdaptivePhotoGrade:
# Portraits: gentle — preserve skin tones, avoid over-sharpening hair
"portrait": dict(stops=0.30, contrast=1.00, saturation=1.00, detail=1.2, denoise=0.15),
# Landscapes: vivid — strong clarity, saturated skies & greens
- "landscape": dict(stops=0.20, contrast=1.10, saturation=1.15, detail=1.8, denoise=0.05),
+ "landscape": dict(stops=0.20, contrast=1.05, saturation=1.15, detail=1.8, denoise=0.05),
# Night: lift shadows aggressively, reduce sharpening (hides noise)
"night": dict(stops=0.80, contrast=1.00, saturation=0.90, detail=0.8, denoise=0.30),
# Indoor: correct typically warm/dim ambient light
- "indoor": dict(stops=0.50, contrast=1.05, saturation=1.05, detail=1.3, denoise=0.10),
+ "indoor": dict(stops=0.50, contrast=1.00, saturation=1.05, detail=1.3, denoise=0.10),
# Golden hour: enhance warmth, lift shadow detail
- "golden_hour": dict(stops=0.25, contrast=1.10, saturation=1.20, detail=1.5, denoise=0.05),
+ "golden_hour": dict(stops=0.25, contrast=1.05, saturation=1.20, detail=1.5, denoise=0.05),
# Overcast: punch contrast to compensate for flat light
- "overcast": dict(stops=0.40, contrast=1.10, saturation=1.10, detail=1.6, denoise=0.08),
+ "overcast": dict(stops=0.40, contrast=1.05, saturation=1.10, detail=1.6, denoise=0.08),
# Beach: bright scene, protect highlights, boost blues/greens
- "beach": dict(stops=0.15, contrast=1.05, saturation=1.20, detail=1.7, denoise=0.05),
+ "beach": dict(stops=0.15, contrast=1.00, saturation=1.20, detail=1.7, denoise=0.05),
# Street: punchy contrast, neutral colour
- "street": dict(stops=0.35, contrast=1.10, saturation=1.05, detail=1.5, denoise=0.08),
+ "street": dict(stops=0.35, contrast=1.05, saturation=1.05, detail=1.5, denoise=0.08),
# Balanced fallback for unrecognised labels
- "default": dict(stops=0.40, contrast=1.05, saturation=1.05, detail=1.5, denoise=0.10),
+ "default": dict(stops=0.40, contrast=1.00, saturation=1.05, detail=1.5, denoise=0.10),
}
@classmethod