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:
+18
-2
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user