FR-MRG-3: the composite is a RAW at the source's native scale

Camera-linear u16 samples on the first source's black-subtracted scale
with its white level, never rescaled to fill 16 bits, with its body,
matrices, illuminants and as-shot neutral carried — so the panorama is
developed afterwards as one photograph from the sensor's own numbers.
The only thing a warp cannot preserve is the colour filter array, and
the clause says so.
This commit is contained in:
2026-09-19 15:24:10 +02:00
parent 7e6b25b21b
commit f9510405c3
2 changed files with 31 additions and 10 deletions
+18 -2
View File
@@ -220,8 +220,24 @@ the way S9 calibrates R1.
## 8. The output file ## 8. The output file
FR-MRG-3. Scene-linear, ≥ 16 bits, wide gamut, the first source's capture FR-MRG-3. A linear DNG at the source's native scale: `u16` samples on the
metadata, named from the first source with a `-pano` suffix, beside it. first source's black-subtracted scale, `WhiteLevel` = its white minus its
black (13 023 for the 6D set: 15 070 − 2 047), `BlackLevel` = 0. Not rescaled
to 65 535 — the sensor had 14 bits and the file says so, and a value the
sensor could not have produced is not invented by a multiply. The first
source's `Make`, `Model`, `UniqueCameraModel`, `ColorMatrix1/2`,
`CalibrationIlluminant1/2`, `AsShotNeutral` and EXIF are carried, so the
composite develops through the same profile as its sources. Named from the
first source with a `-pano` suffix, beside it.
Three samples per pixel rather than a CFA: the warp resamples, and there is no
sensor grid to mosaic back onto. Nothing else about being a RAW is lost —
no white balance, no curve, no matrix, no clip has been applied — and the
photographer develops the panorama afterwards as one photograph.
The sources are portrait frames in the 6D set: `Orientation` is applied
before alignment (learned features are not rotation-invariant) and the
composite is written upright with `Orientation = 1`.
Two containers were candidates and S15.1 decided, on 2026-09-19: Two containers were candidates and S15.1 decided, on 2026-09-19:
+13 -8
View File
@@ -1712,15 +1712,20 @@ White balance sits below it because the sensor saw the same light in every frame
camera RGB agrees across the overlaps whether or not the camera's auto white balance drifted, and camera RGB agrees across the overlaps whether or not the camera's auto white balance drifted, and
the balanced values would not. the balanced values would not.
**FR-MRG-3 — The output file.** *(general to any merge)* Scene-linear, at least 16 bits per **FR-MRG-3 — The output file.** *(general to any merge)* A RAW, in every sense that survives a
channel, in a wide gamut with the colour transform resolved or the profile carried, with capture warp: camera-linear samples at the **source's native scale** — integers on the first source's
metadata from the first source. Named from the first source with a stated suffix and placed black-subtracted scale with its white level, never rescaled to fill 16 bits — with the first
beside it. Where the sources' folder is not writable — a remote-only tier, a read-only mount — source's body, colour matrices, illuminants and as-shot neutral carried, and its capture
it goes where an export goes (FR-EXP-6) and the interface says so before the merge starts. metadata. What a merge cannot preserve is the colour filter array: a warped image has no sensor
grid to re-mosaic onto, so the composite is three samples per pixel. Named from the first source
with a stated suffix and placed beside it. Where the sources' folder is not writable — a
remote-only tier, a read-only mount — it goes where an export goes (FR-EXP-6) and the interface
says so before the merge starts.
The container is a spike result (S15), not a requirement: a linear DNG if rawler reads back what The container is a linear DNG (S15.1, decided 2026-09-19): rawler reads back what the application
the application writes, else a float TIFF with a decode path of its own. The choice is invisible writes, and the composite re-enters as `Format::Dng` through the decoder every camera DNG uses.
to everything above the decoder. The point of the whole clause is that the panorama is *developed afterwards* — white balance,
profile, exposure, everything in §3.3 — as one photograph, from the sensor's own numbers.
**FR-MRG-4 — Projection and framing.** Cylindrical, spherical or perspective, chosen from the **FR-MRG-4 — Projection and framing.** Cylindrical, spherical or perspective, chosen from the
field of view and overridable; the horizon levelled from the estimated rotations, overridable by a field of view and overridable; the horizon levelled from the estimated rotations, overridable by a