Describe the measured tone and vibrance in DarkRoom's own terms
The calibration commits named DarkRoom's default curve after another product and described vibrance as doing what another editor's does at the same value. The curve is the DNG SDK's reference, so it is called that; vibrance is scaled to deliver the strength its value names, as measured against the photographer's earlier exports. Two test names follow. The measurements and where they came from are unchanged.
This commit is contained in:
@@ -3420,7 +3420,7 @@ mod tests {
|
||||
read_centre(&ctx, t)
|
||||
};
|
||||
|
||||
// The default rendering is Camera Raw's curve (D21); for a grey its
|
||||
// The default rendering is the DNG reference curve (D21); for a grey its
|
||||
// ProPhoto round trip is the identity, so the reference applies as is.
|
||||
let scene = 3537.0 / 16383.0;
|
||||
let viewed = dr_pipeline::camera_raw::apply_reference(
|
||||
|
||||
@@ -24,9 +24,9 @@ uniforms:
|
||||
amount:
|
||||
value: vibrance / 100 * 1.3
|
||||
doc: |
|
||||
Scaled so that a value here does what the same value of Lightroom's
|
||||
Vibrance does. Measured, not chosen: fitted on 45 Lightroom exports whose
|
||||
only colour setting was Vibrance (about +24), against their raws.
|
||||
Scaled so that a value delivers the strength it names. Measured, not
|
||||
chosen: fitted on 45 of the photographer's earlier exports whose only
|
||||
colour setting was a vibrance of about +24, against their raws.
|
||||
|
||||
helpers: [luminance]
|
||||
|
||||
@@ -66,10 +66,10 @@ tests:
|
||||
- name: it_starts_neutral
|
||||
expect_active: false
|
||||
|
||||
- name: the_amount_is_lightrooms_scale
|
||||
- name: the_amount_is_the_measured_scale
|
||||
why: |
|
||||
Fitted against Lightroom exports: DarkRoom's vibrance at a value does
|
||||
what Lightroom's does at the same value.
|
||||
Fitted against the photographer's earlier exports, so a value delivers
|
||||
the strength it names.
|
||||
set: { vibrance: 100 }
|
||||
expect: { amount: 1.3 }
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_default_adds_the_contrast_lightroom_showed() {
|
||||
fn the_default_adds_the_measured_contrast() {
|
||||
// Fitted on Lightroom exports with neutral settings (D21 addendum):
|
||||
// the bare reference curve is a little flat against them.
|
||||
let p = contrast_power(DEFAULT_CONTRAST);
|
||||
|
||||
@@ -34,9 +34,9 @@ pub const ID: OpId = OpId("view_transform");
|
||||
pub const CONTRAST: ParamId = ParamId("contrast");
|
||||
pub const WHITE: ParamId = ParamId("white");
|
||||
/// TRACES: FR-DEV-3j
|
||||
/// Which curve renders: Camera Raw's (D21, the default) or D19's sigmoid.
|
||||
/// Which curve renders: the DNG reference (D21, the default) or D19's sigmoid.
|
||||
///
|
||||
/// Camera Raw's because it is the one that matches what the photographs were
|
||||
/// The reference because it is the one that matches what the photographs were
|
||||
/// first developed with: on 60 Lightroom exports with neutral settings it
|
||||
/// renders their raws within MSE ~150 of Lightroom's own JPEGs at the default
|
||||
/// contrast, where 0.20.0's sigmoid was ~1200 (darker by about 0.7 EV and
|
||||
|
||||
@@ -51,17 +51,17 @@ pub const SCENE_GREY: f32 = 0.13;
|
||||
/// Display-linear middle grey — what a camera JPEG shows a grey card as.
|
||||
pub const DISPLAY_GREY: f32 = 0.18;
|
||||
|
||||
/// The default contrast: the sigmoid's log-log slope `n`, and for Camera
|
||||
/// Raw's curve a power of `DEFAULT_CONTRAST / REFERENCE_CONTRAST` about grey.
|
||||
/// The default contrast: the sigmoid's log-log slope `n`, and for the DNG
|
||||
/// reference curve a power of `DEFAULT_CONTRAST / REFERENCE_CONTRAST` about grey.
|
||||
///
|
||||
/// Fitted, not chosen: on Lightroom 6 exports whose look settings were neutral,
|
||||
/// Camera Raw's curve matched the exports best with the input bent by about
|
||||
/// the DNG reference curve matched the exports best with the input bent by about
|
||||
/// 1.08 (held-out MSE 224 at 1.4, ~150 at 1.5). The sigmoid, which is no longer
|
||||
/// the default, fitted best near 1.7 and is better at 1.5 than at 1.4.
|
||||
pub const DEFAULT_CONTRAST: f32 = 1.5;
|
||||
|
||||
/// The contrast at which each curve is its own reference: the sigmoid's match
|
||||
/// to the retired base curve (see the module note), and Camera Raw's table
|
||||
/// to the retired base curve (see the module note), and the reference table
|
||||
/// untouched.
|
||||
pub const REFERENCE_CONTRAST: f32 = 1.4;
|
||||
|
||||
@@ -237,7 +237,7 @@ mod tests {
|
||||
fn the_reference_stays_close_to_the_retired_curve() {
|
||||
// TRACES: FR-DEV-3j | FR-DEV-3e
|
||||
// D19's promise, now kept by the sigmoid at its reference contrast
|
||||
// rather than by the default (D21 moved the default to Camera Raw's
|
||||
// rather than by the default (D21 moved the default to the DNG reference
|
||||
// curve): the midtones do not move by more than a third of a stop
|
||||
// from the retired base curve.
|
||||
let s = Sigmoid::new(REFERENCE_CONTRAST, DEFAULT_WHITE);
|
||||
|
||||
Reference in New Issue
Block a user