docs: define calibration science v2 heterogeneous optics
This commit is contained in:
parent
53563ce1e7
commit
cc903981ad
5 changed files with 651 additions and 25 deletions
503
docs/architecture/calibration_science_v2.md
Normal file
503
docs/architecture/calibration_science_v2.md
Normal file
|
|
@ -0,0 +1,503 @@
|
|||
# Calibration Science v2 — heterogeneous optics and adaptive acquisition
|
||||
|
||||
**Status: PLANNED — current additive design authority.**
|
||||
|
||||
Calibration Science v1 remains `PASS/FROZEN`. Science v2 does not weaken,
|
||||
reinterpret or retroactively replace v1 evidence. It defines the next
|
||||
scientific generation required by the product requirement that a Lardon3D
|
||||
project may contain photographs from heterogeneous cameras, lenses, focal
|
||||
configurations and normal autofocus operation.
|
||||
|
||||
No device-specific autofocus envelope is validated by this document. Numeric
|
||||
focus-domain limits require dedicated physical evidence.
|
||||
|
||||
## 1. Product/science problem
|
||||
|
||||
A photogrammetry product must not require the operator to remember a rigid
|
||||
exposure recipe or split one physical subject into artificial projects merely
|
||||
because acquisition state changed.
|
||||
|
||||
The required user experience is:
|
||||
|
||||
```text
|
||||
user frames and captures
|
||||
-> Lardon3D records/observes acquisition state
|
||||
-> Lardon3D measures actual image quality
|
||||
-> Lardon3D resolves exact calibration applicability
|
||||
-> Capture remains usable when quality is good
|
||||
-> reconstruction becomes READY only when calibration coverage is complete
|
||||
```
|
||||
|
||||
A normal supported camera body or rectilinear lens is equipment data. A new
|
||||
brand/model name alone must not require source-code modification.
|
||||
|
||||
Source changes are justified only by a genuinely unsupported transport,
|
||||
encoded representation, geometric camera model or required device-state
|
||||
mechanism.
|
||||
|
||||
## 2. Compatibility with Science v1
|
||||
|
||||
The following remain frozen compatibility contracts:
|
||||
|
||||
```text
|
||||
CALIBRATION_SCIENCE_V1=PASS/FROZEN
|
||||
CALIBRATION_TOOLING_V1=PASS/FROZEN
|
||||
CALIBRATION_BOOTSTRAP_V1=PASS/FROZEN
|
||||
CALIBRATION_WORKFLOW_V1=PASS/FROZEN
|
||||
```
|
||||
|
||||
Historical S21 and A6000 Engine Bay campaigns remain:
|
||||
|
||||
```text
|
||||
CALIBRATION_UNAVAILABLE
|
||||
BLOCKED_BY_KNOWN_CALIBRATION_DATA
|
||||
```
|
||||
|
||||
Science v2 does not authorize retro-calibration by inference.
|
||||
|
||||
## 3. Fundamental separation of states
|
||||
|
||||
Science v2 separates three concepts that must never be conflated.
|
||||
|
||||
### 3.1 Capture existence
|
||||
|
||||
A Capture is durable acquisition evidence. Unsupported or unresolved optics do
|
||||
not erase it.
|
||||
|
||||
### 3.2 Photo quality
|
||||
|
||||
Quality describes whether the decoded representation is useful image evidence.
|
||||
It is evaluated from the image itself and may include:
|
||||
|
||||
- sharpness;
|
||||
- defocus;
|
||||
- motion blur;
|
||||
- black/white clipping;
|
||||
- usable shadow/highlight information;
|
||||
- contrast;
|
||||
- texture;
|
||||
- noise or local signal-to-noise evidence when implemented;
|
||||
- downstream feature usability.
|
||||
|
||||
Photo Quality may recommend `GOOD`, `SUSPECT` or `REJECT` without assigning any
|
||||
calibration identity.
|
||||
|
||||
### 3.3 Calibration readiness
|
||||
|
||||
Calibration readiness answers whether a selected scientific representation has
|
||||
exact compatible geometric calibration evidence.
|
||||
|
||||
Therefore this is valid:
|
||||
|
||||
```text
|
||||
QUALITY=GOOD
|
||||
CALIBRATION=CALIBRATION_REQUIRED
|
||||
```
|
||||
|
||||
The image remains in the project.
|
||||
|
||||
## 4. Heterogeneous selected executions
|
||||
|
||||
A single project and one selected scientific execution may contain images from:
|
||||
|
||||
- different camera bodies;
|
||||
- different lenses;
|
||||
- different focal configurations of one zoom;
|
||||
- different validated focus states or focus applicability domains;
|
||||
- different validated aperture applicability states;
|
||||
- different acquisition sessions.
|
||||
|
||||
The scientific requirement is per selected image:
|
||||
|
||||
```text
|
||||
selected image
|
||||
-> exactly one compatible calibration
|
||||
```
|
||||
|
||||
It is not:
|
||||
|
||||
```text
|
||||
selected execution
|
||||
-> one global calibration
|
||||
```
|
||||
|
||||
A truthful READY state requires complete calibration coverage of the exact
|
||||
selected-image set.
|
||||
|
||||
The current Sparse calibration scope already represents members as
|
||||
`image_id -> calibration_id`; v2 should reuse that per-image model unless
|
||||
repository inspection proves a real missing invariant.
|
||||
|
||||
## 5. No silent substitution
|
||||
|
||||
Science v2 preserves:
|
||||
|
||||
```text
|
||||
NO_SILENT_SCIENTIFIC_SUBSTITUTION
|
||||
```
|
||||
|
||||
The following are forbidden unless a later explicit validated v2 transfer model
|
||||
authorizes them:
|
||||
|
||||
- another camera body's calibration;
|
||||
- another lens's calibration;
|
||||
- a nearby focal calibration;
|
||||
- a guessed focus calibration;
|
||||
- a guessed aperture compatibility;
|
||||
- a guessed stabilization/crop/pipeline equivalence;
|
||||
- fuzzy metadata matching that silently changes scientific identity;
|
||||
- interpolation or extrapolation outside a validated model/domain.
|
||||
|
||||
If exact compatibility cannot be proven:
|
||||
|
||||
```text
|
||||
CALIBRATION_REQUIRED
|
||||
```
|
||||
|
||||
If more than one valid choice remains unresolved:
|
||||
|
||||
```text
|
||||
SELECTION_REQUIRED
|
||||
```
|
||||
|
||||
## 6. Exposure and photometric controls
|
||||
|
||||
Purely photometric controls are adaptive acquisition variables.
|
||||
|
||||
Science v2 does not reject an image merely because of the numeric value of:
|
||||
|
||||
- shutter speed;
|
||||
- ISO;
|
||||
- white balance;
|
||||
- exposure compensation;
|
||||
- other controls proven not to change image geometry.
|
||||
|
||||
Examples such as `1/125`, `ISO 800` or `f/8` from historical campaigns are
|
||||
observations, not universal validity thresholds.
|
||||
|
||||
For shutter/ISO/white balance, actual decoded-image evidence decides whether
|
||||
the result is usable. A faster shutter with higher ISO may be preferable to a
|
||||
blurred low-ISO image; a slower shutter may be valid when the camera is stable.
|
||||
|
||||
Missing photometric metadata must not cause fabricated values.
|
||||
|
||||
## 7. Aperture
|
||||
|
||||
Aperture is not automatically classified as purely photometric because some
|
||||
lenses can exhibit focus shift or geometric changes with aperture.
|
||||
|
||||
The product goal remains that the operator does not manually manage scientific
|
||||
grouping.
|
||||
|
||||
Science v2 must allow either:
|
||||
|
||||
1. one calibration applicability proven valid across an aperture domain; or
|
||||
2. distinct automatically classified aperture applicability states.
|
||||
|
||||
Unknown compatibility produces `CALIBRATION_REQUIRED`, not Capture rejection.
|
||||
|
||||
No aperture-domain threshold is frozen without physical validation.
|
||||
|
||||
## 8. Focal length and zoom
|
||||
|
||||
Multiple focal configurations may coexist in one project and one selected
|
||||
execution.
|
||||
|
||||
Exact calibrated focal states are the baseline v2 mechanism.
|
||||
|
||||
Electronic focal metadata may select an exact compatible state only when its
|
||||
identity and trust rules are satisfied.
|
||||
|
||||
Manual lenses or missing metadata remain normal product paths through explicit
|
||||
bounded state assignment.
|
||||
|
||||
Calibration at one focal state is never silently borrowed for another focal
|
||||
state.
|
||||
|
||||
A future continuous focal transfer/interpolation model is allowed only if it is
|
||||
a separately versioned Science v2 model with fit-domain evidence, hold-out
|
||||
validation, deterministic evaluation and hard rejection outside its validated
|
||||
domain.
|
||||
|
||||
## 9. Autofocus and focus applicability
|
||||
|
||||
Autofocus is a normal acquisition mode in Science v2.
|
||||
|
||||
Normal product use must not require the user to lock manual focus for every
|
||||
project merely to satisfy calibration.
|
||||
|
||||
Science v2 supports the following scientific concepts:
|
||||
|
||||
### 9.1 Exact focus state
|
||||
|
||||
A calibration may apply to one exact observed/declared focus state.
|
||||
|
||||
This remains useful for manual lenses, fixed-focus systems and strict
|
||||
measurements.
|
||||
|
||||
### 9.2 Validated focus applicability domain
|
||||
|
||||
A calibration may apply across a bounded autofocus/focus domain only when
|
||||
physical evidence proves that applicability.
|
||||
|
||||
Required evidence includes:
|
||||
|
||||
- exact camera body and objective identities;
|
||||
- exact focal/geometric pipeline state;
|
||||
- explicit focus-state observation representation and provenance;
|
||||
- repeated physical calibration samples across the intended focus domain;
|
||||
- independent hold-out focus states;
|
||||
- comparison in image-space geometric error, not only parameter percentage;
|
||||
- bounded deterministic applicability;
|
||||
- explicit rejection outside the validated domain.
|
||||
|
||||
Historical EXIF/MakerNote values such as Sony `FocusPosition2` or derived
|
||||
`FocusDistance2` may inform experiment design. They are not by themselves
|
||||
physical calibration evidence.
|
||||
|
||||
### 9.3 Discrete focus bands
|
||||
|
||||
If one calibration is not valid across the complete autofocus range, v2 may
|
||||
use multiple validated discrete focus bands or exact focus states.
|
||||
|
||||
Automatic classification is required where trusted observed state permits it.
|
||||
|
||||
Ambiguous overlap must not silently choose a calibration.
|
||||
|
||||
### 9.4 Continuous focus transfer models
|
||||
|
||||
Continuous interpolation across focus is not assumed.
|
||||
|
||||
If future physical evidence justifies it, such a model must be:
|
||||
|
||||
- explicitly versioned;
|
||||
- deterministic;
|
||||
- bounded to a validated domain;
|
||||
- fitted from retained physical evidence;
|
||||
- tested on excluded hold-out focus states;
|
||||
- rejected outside the domain;
|
||||
- incorporated into scientific identity.
|
||||
|
||||
No extrapolation is silent.
|
||||
|
||||
## 10. Stabilization, crop, orientation and processing pipeline
|
||||
|
||||
Only state capable of changing geometry belongs to calibration applicability.
|
||||
|
||||
Examples requiring explicit treatment unless equivalence is proven:
|
||||
|
||||
- electronic stabilization;
|
||||
- geometric crop;
|
||||
- perspective correction;
|
||||
- resize;
|
||||
- computational geometry correction;
|
||||
- in-camera lens correction that changes pixel coordinates;
|
||||
- orientation normalization.
|
||||
|
||||
Purely cosmetic color processing does not create a new geometric state after
|
||||
coordinate equivalence has been proven.
|
||||
|
||||
Unknown geometric state is incompatible until resolved.
|
||||
|
||||
## 11. Observed optical state and provenance
|
||||
|
||||
Science v2 requires a bounded, versioned observed state sufficient to decide
|
||||
calibration applicability.
|
||||
|
||||
Conceptually it may contain:
|
||||
|
||||
```text
|
||||
camera_body_identity
|
||||
lens_identity
|
||||
focal_state
|
||||
focus_state_or_domain_observation
|
||||
aperture_state_when_geometrically_relevant
|
||||
stabilization_and_geometric_pipeline_state
|
||||
decoded_oriented_width_height
|
||||
crop_resize_transform_identity
|
||||
representation/decode_pipeline_identity
|
||||
observation_provenance
|
||||
```
|
||||
|
||||
The exact public ABI and persistence layout are implementation-contract work.
|
||||
|
||||
Important rules:
|
||||
|
||||
- unknown is explicit;
|
||||
- unknown is never replaced with a guessed default;
|
||||
- electronic metadata is evidence with defined trust, not automatic truth for
|
||||
every scientific field;
|
||||
- manual assignment is explicit and durable where metadata cannot identify a
|
||||
state;
|
||||
- exact retry is idempotent.
|
||||
|
||||
## 12. Automatic calibration resolution
|
||||
|
||||
For each selected image:
|
||||
|
||||
```text
|
||||
load exact Capture and representation
|
||||
-> load/derive trusted observed optical state
|
||||
-> enumerate validated compatible calibration applicability
|
||||
-> exactly one: calibration resolved
|
||||
-> none: CALIBRATION_REQUIRED
|
||||
-> multiple unresolved: SELECTION_REQUIRED
|
||||
```
|
||||
|
||||
A selection must remain reviewable and durable.
|
||||
|
||||
Calibration readiness does not rewrite Photo Quality evidence.
|
||||
|
||||
## 13. Artifact / Tooling / Bootstrap evolution
|
||||
|
||||
Science v2 does not require a new artifact merely because a project is
|
||||
heterogeneous.
|
||||
|
||||
Implementation must first inspect and reuse existing primitives.
|
||||
|
||||
Current architecture already has:
|
||||
|
||||
```text
|
||||
SparseCalibrationScope member = image_id -> calibration_id
|
||||
L3DCALB1 entry = per-image intrinsics
|
||||
```
|
||||
|
||||
However Tooling/Workflow v1 binds one global optical-state/provenance bundle.
|
||||
If heterogeneous independent calibration groups cannot be represented without
|
||||
losing provenance, an additive `L3DCALB2` / Tooling v2 / Bootstrap v2 may be
|
||||
defined.
|
||||
|
||||
Any v2 artifact must preserve per-group:
|
||||
|
||||
- optical/applicability identity;
|
||||
- target identity;
|
||||
- solver executable/configuration identity;
|
||||
- initialization evidence;
|
||||
- validation evidence;
|
||||
- model/dimensions;
|
||||
- exact published intrinsics;
|
||||
- exact selected-image membership.
|
||||
|
||||
V1 artifact semantics remain unchanged.
|
||||
|
||||
## 14. READY invariant
|
||||
|
||||
A selected execution is READY only if:
|
||||
|
||||
- every selected image is covered exactly once;
|
||||
- every calibration is scientifically compatible with that image's observed
|
||||
geometric state;
|
||||
- the final calibration scope covers the exact selected image set;
|
||||
- no unresolved or ambiguous selected image remains;
|
||||
- publication/attachment follows the existing atomicity/idempotence contract.
|
||||
|
||||
A project may retain any number of other non-selected or
|
||||
`CALIBRATION_REQUIRED` Captures.
|
||||
|
||||
## 15. Device independence
|
||||
|
||||
Normal equipment onboarding is data-driven.
|
||||
|
||||
Required product properties:
|
||||
|
||||
```text
|
||||
NEW_CAMERA_REQUIRES_CODE_CHANGE=NO
|
||||
NEW_LENS_REQUIRES_CODE_CHANGE=NO
|
||||
MULTIPLE_LENSES_PER_CAMERA=SUPPORTED
|
||||
ZOOM_MULTIPLE_FOCALS=SUPPORTED
|
||||
MULTIPLE_OPTICAL_CONFIGURATIONS_PER_PROJECT=SUPPORTED
|
||||
```
|
||||
|
||||
A genuinely different geometric model, unsupported file format or unsupported
|
||||
transport may require new code. A different manufacturer/model string does not.
|
||||
|
||||
## 16. Acquisition control philosophy
|
||||
|
||||
Science v2 defines what must be observed and proven; it does not require one
|
||||
specific control transport.
|
||||
|
||||
Future adapters should follow:
|
||||
|
||||
```text
|
||||
if hardware permits control:
|
||||
Lardon3D may choose/control settings automatically
|
||||
else if state can be observed:
|
||||
Lardon3D verifies/classifies automatically
|
||||
else:
|
||||
request only the minimum explicit user action required
|
||||
```
|
||||
|
||||
HDMI, USB remote control and device-specific adapters remain separate future
|
||||
implementation layers.
|
||||
|
||||
## 17. A6000 + E PZ 16-50 current evidence
|
||||
|
||||
Historical A6000 engine-bay images provide operational design evidence only.
|
||||
|
||||
Observed facts include:
|
||||
|
||||
- E PZ 16-50mm F3.5-5.6 OSS;
|
||||
- heavy real use of 16-20 mm focal lengths;
|
||||
- AF-S across the historical JPEG set;
|
||||
- many distinct focus positions even within the 16 mm / f/8 subset;
|
||||
- exposure values varied with scene conditions.
|
||||
|
||||
These observations demonstrate that a locked-focus single-state workflow is
|
||||
not an acceptable general product UX for this use case.
|
||||
|
||||
They do not validate any reusable calibration or autofocus envelope.
|
||||
|
||||
Current device-specific state:
|
||||
|
||||
```text
|
||||
A6000_E_PZ_16_50_AF_APPLICABILITY=BLOCKED_BY_PHYSICAL_VALIDATION
|
||||
```
|
||||
|
||||
## 18. Required future physical study
|
||||
|
||||
Before claiming a real validated autofocus domain, capture dedicated ChArUco
|
||||
evidence across representative focus states and repeats while preserving the
|
||||
other relevant geometric state.
|
||||
|
||||
The study must determine whether the lens supports:
|
||||
|
||||
- one validated focus envelope;
|
||||
- multiple discrete focus bands;
|
||||
- exact focus-only calibration; or
|
||||
- a future explicitly validated continuous transfer model.
|
||||
|
||||
Numeric domains and thresholds must come from the Science v2 validation design
|
||||
and retained physical evidence. They are not inferred from historical scene
|
||||
photos.
|
||||
|
||||
## 19. Implementation dependency
|
||||
|
||||
Current order:
|
||||
|
||||
```text
|
||||
Calibration Science v2 design
|
||||
-> heterogeneous optical-state persistence/applicability foundation
|
||||
-> v2 Tooling/Bootstrap/artifact only if required
|
||||
-> heterogeneous Workflow v2 READY proof
|
||||
-> physical AF/optical applicability study
|
||||
-> dedicated calibrated real campaign
|
||||
-> real Sparse SfM
|
||||
```
|
||||
|
||||
Do not start Sparse SfM or Dense/MVS as part of this design tranche.
|
||||
|
||||
## 20. STOP conditions
|
||||
|
||||
Stop rather than guess if:
|
||||
|
||||
- a required geometric state cannot be observed or explicitly assigned;
|
||||
- a proposed compatibility relation lacks physical validation;
|
||||
- an AF/focal/aperture transfer model needs an invented threshold;
|
||||
- a new schema would force inference into historical rows;
|
||||
- heterogeneous calibration would require silently changing a FROZEN v1
|
||||
scientific meaning;
|
||||
- a new camera requires a genuinely different geometric model not covered by
|
||||
the current pinhole/distortion science.
|
||||
|
||||
Uncertainty remains visible as `CALIBRATION_REQUIRED` or
|
||||
`SELECTION_REQUIRED`.
|
||||
|
|
@ -24,7 +24,7 @@ SOURCE_COMMENT_AUDIT PASS
|
|||
PRODUCT_DEFINITION PASS/FROZEN
|
||||
PROMPT_TREE CURRENT
|
||||
USER_FACING_UI_LANGUAGE_NORMALIZATION PASS
|
||||
CURRENT_NEXT DEDICATED_PHYSICAL_CALIBRATED_REAL_CAMPAIGN
|
||||
CURRENT_NEXT CALIBRATION_SCIENCE_V2_DESIGN
|
||||
```
|
||||
|
||||
The current Project DB head is additive:
|
||||
|
|
@ -508,7 +508,28 @@ BLOCKED_BY_KNOWN_CALIBRATION_DATA
|
|||
|
||||
S21 Engine Bay is permanently non-retro-calibrable under Calibration Science v1.
|
||||
|
||||
Calibration Science v1 defines the physical protocol for future calibration acquisitions.
|
||||
Calibration Science v1 defines the frozen physical protocol for its compatibility path.
|
||||
|
||||
Before the next physical campaign, the current dependency is Calibration Science v2. Real A6000
|
||||
engine-bay acquisition evidence established that normal operation must support autofocus and
|
||||
heterogeneous optical states without forcing the operator to maintain one locked focus or one optical
|
||||
configuration for the whole project.
|
||||
|
||||
Science v2 is additive and must preserve these product invariants:
|
||||
|
||||
```text
|
||||
one project may mix camera bodies, lenses and focal configurations
|
||||
one selected execution may use different calibrations per image
|
||||
unknown calibration state retains the Capture and reports CALIBRATION_REQUIRED
|
||||
shutter/ISO/white-balance values are adaptive, not image-validity constants
|
||||
image quality is judged from actual decoded-image evidence
|
||||
autofocus is a normal supported mode when its applicability is physically validated
|
||||
silent calibration substitution remains forbidden
|
||||
```
|
||||
|
||||
The current Sparse calibration scope already models membership as `image_id -> calibration_id`; v2
|
||||
should reuse that capability rather than require one global calibration. Device-specific autofocus
|
||||
envelopes remain blocked until physical evidence validates them.
|
||||
|
||||
Calibration Tooling v1 consumes an already acquired Science v1 evidence bundle, validates the bounded
|
||||
contract and produces deterministic `L3DCALB1` v1.
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
CURRENT_PROJECT_DB_SCHEMA=v25
|
||||
PRODUCTION_TASK_KINDS=16
|
||||
USER_FACING_UI_LANGUAGE_NORMALIZATION=PASS
|
||||
CURRENT_IMPLEMENTATION_CURSOR=2_DEDICATED_PHYSICAL_CALIBRATED_REAL_CAMPAIGN
|
||||
CURRENT_IMPLEMENTATION_CURSOR=CALIBRATION_SCIENCE_V2_DESIGN
|
||||
```
|
||||
|
||||
## Authority
|
||||
|
|
@ -35,6 +35,9 @@ Calibration workflow input boundary PASS/FROZEN
|
|||
Calibration workflow evidence materialization PASS/FROZEN
|
||||
Calibration workflow selected-execution binding PASS/FROZEN
|
||||
Calibration workflow Tooling/Bootstrap READY PASS/FROZEN
|
||||
Calibration Science v2 heterogeneous optics PLANNED
|
||||
Adaptive capture settings semantics PLANNED
|
||||
Autofocus v2 foundation PLANNED
|
||||
Calibration Tooling planarity alignment PASS/FROZEN
|
||||
```
|
||||
|
||||
|
|
@ -72,6 +75,35 @@ Preserve at their documented boundaries:
|
|||
|
||||
`FROZEN` protects meaning and boundary, not necessarily every file byte.
|
||||
|
||||
## Current calibration-v2 design intent
|
||||
|
||||
Calibration v1 remains a valid frozen compatibility path. It is not weakened or
|
||||
retroactively reinterpreted.
|
||||
|
||||
The current product dependency has changed before the physical campaign because
|
||||
real A6000 engine-bay acquisition evidence showed that normal operation requires
|
||||
heterogeneous optics and autofocus. Calibration Science v2 must therefore define
|
||||
an additive path in which:
|
||||
|
||||
```text
|
||||
one project may mix camera bodies
|
||||
one project may mix lenses
|
||||
one project may mix focal configurations
|
||||
one selected execution may use multiple calibrations
|
||||
each selected image must resolve to exactly one compatible calibration
|
||||
autofocus is a normal supported acquisition mode
|
||||
exposure settings are adaptive rather than fixed scientific constants
|
||||
```
|
||||
|
||||
Capture/quality acceptance and calibration readiness are distinct. A sharp,
|
||||
usable image with unresolved optics is retained and reported as
|
||||
`CALIBRATION_REQUIRED`; it is not discarded merely because calibration evidence
|
||||
is not yet available.
|
||||
|
||||
No v2 rule may silently substitute another body, lens, focal state, focus state
|
||||
or calibration.
|
||||
|
||||
|
||||
## Retained real S21 checkpoint
|
||||
|
||||
```text
|
||||
|
|
|
|||
|
|
@ -16,14 +16,17 @@ CALIBRATION_WORKFLOW=PASS/FROZEN
|
|||
CALIBRATION_WORKFLOW_INPUT_BOUNDARY_V1=PASS/FROZEN
|
||||
CALIBRATION_WORKFLOW_EVIDENCE_MATERIALIZATION_V1=PASS/FROZEN
|
||||
CALIBRATION_WORKFLOW_SELECTED_EXECUTION_BINDING_V1=PASS/FROZEN
|
||||
CURRENT_CALIBRATION_NEXT=WORKFLOW_TOOLING_BOOTSTRAP_READY
|
||||
CALIBRATION_WORKFLOW_TOOLING_BOOTSTRAP_READY_V1=PASS/FROZEN
|
||||
CURRENT_CALIBRATION_NEXT=DEDICATED_PHYSICAL_CALIBRATED_REAL_CAMPAIGN
|
||||
CALIBRATION_SCIENCE_V2=PLANNED
|
||||
CALIBRATION_V2_HETEROGENEOUS_OPTICS=PLANNED
|
||||
ADAPTIVE_CAPTURE_SETTINGS_CONTRACT=PLANNED
|
||||
AUTOFOCUS_V2_FOUNDATION=PLANNED
|
||||
CURRENT_CALIBRATION_NEXT=CALIBRATION_SCIENCE_V2_DESIGN
|
||||
```
|
||||
|
||||
## Authority
|
||||
|
||||
`docs/architecture/calibration_science_v1.md`, `docs/architecture/calibration_bootstrap.md` and `docs/architecture/calibration_solver_preflight_v1.md` are the current specialized calibration documents.
|
||||
`docs/architecture/calibration_science_v1.md`, `docs/architecture/calibration_science_v2.md`, `docs/architecture/calibration_bootstrap.md` and `docs/architecture/calibration_solver_preflight_v1.md` are the current specialized calibration documents. Science v1 remains FROZEN; the v2 document is the current additive design authority until its contract is validated and frozen.
|
||||
|
||||
`docs/architecture/calibration_tooling.md` is the specialized Tooling authority.
|
||||
|
||||
|
|
@ -46,7 +49,65 @@ BLOCKED_BY_KNOWN_CALIBRATION_DATA
|
|||
|
||||
Do not retro-calibrate them by invention.
|
||||
|
||||
## FROZEN flow
|
||||
## Calibration Science v2 product requirements
|
||||
|
||||
Science v2 is additive. It does not weaken or rewrite Science v1.
|
||||
|
||||
The product requirement is:
|
||||
|
||||
```text
|
||||
ONE_PROJECT_MAY_MIX_CAMERAS=YES
|
||||
ONE_PROJECT_MAY_MIX_LENSES=YES
|
||||
ONE_PROJECT_MAY_MIX_FOCAL_CONFIGURATIONS=YES
|
||||
PER_IMAGE_COMPATIBLE_CALIBRATION=REQUIRED
|
||||
|
||||
AUTOFOCUS_NORMAL_OPERATION=SUPPORTED_TARGET
|
||||
MANUAL_FOCUS_LOCK_REQUIRED_FOR_NORMAL_CAPTURE=NO
|
||||
|
||||
SHUTTER_SPEED_FIXED=NO
|
||||
ISO_FIXED=NO
|
||||
WHITE_BALANCE_FIXED=NO
|
||||
EXPOSURE_SETTINGS_ADAPTIVE=YES
|
||||
|
||||
PHOTO_REJECTION_BASED_SOLELY_ON_EXPOSURE_METADATA=FORBIDDEN
|
||||
UNKNOWN_OPTICS_REJECT_CAPTURE=NO
|
||||
UNKNOWN_OPTICS_STATE=CALIBRATION_REQUIRED
|
||||
|
||||
SILENT_CALIBRATION_SUBSTITUTION=FORBIDDEN
|
||||
```
|
||||
|
||||
The core separation is:
|
||||
|
||||
```text
|
||||
CAPTURE / PHOTO QUALITY
|
||||
!=
|
||||
CALIBRATION READINESS
|
||||
```
|
||||
|
||||
A Capture may be sharp, non-clipped and scientifically useful as image data
|
||||
while still being `CALIBRATION_REQUIRED`. It remains durable in the project.
|
||||
|
||||
Purely photometric settings such as shutter speed, ISO, white balance and
|
||||
exposure compensation may vary according to conditions. Their numeric values
|
||||
alone are not scientific rejection criteria. Actual decoded-image evidence
|
||||
remains authoritative for quality: sharpness/defocus/motion blur, clipping,
|
||||
usable tonal information, contrast/texture, noise or local SNR where available,
|
||||
and downstream feature usability.
|
||||
|
||||
Camera/lens/focal/focus/aperture/stabilization/crop/pipeline state is treated
|
||||
according to whether it can alter geometry. Lardon3D must observe and classify
|
||||
that state, automatically select an exactly compatible validated calibration
|
||||
when one exists, expose `CALIBRATION_REQUIRED` when none exists, and expose
|
||||
`SELECTION_REQUIRED` when compatibility remains ambiguous.
|
||||
|
||||
Autofocus is a normal v2 acquisition mode. A real autofocus applicability
|
||||
envelope must be supported only by physical calibration/hold-out evidence.
|
||||
Historical EXIF or MakerNote focus observations may guide experiment design but
|
||||
must never fabricate such evidence.
|
||||
|
||||
See `docs/architecture/calibration_science_v2.md`.
|
||||
|
||||
## FROZEN v1 flow
|
||||
|
||||
```text
|
||||
dedicated physical calibration acquisition
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
IMPLEMENTATION_ORDER=DEPENDENCY_DRIVEN
|
||||
IMPLEMENTATION_AUTHORIZATION=NO
|
||||
STEP_0_USER_FACING_LANGUAGE_NORMALIZATION=PASS
|
||||
CURRENT_NEXT=2_DEDICATED_PHYSICAL_CALIBRATED_REAL_CAMPAIGN
|
||||
CURRENT_NEXT=CALIBRATION_SCIENCE_V2_DESIGN
|
||||
```
|
||||
|
||||
## Authority
|
||||
|
|
@ -20,23 +20,25 @@ Implementation remains unauthorized until the human explicitly authorizes a tran
|
|||
Default dependency order:
|
||||
|
||||
0. user-facing repository/UI language normalization where appropriate — PASS;
|
||||
1. final usable calibration workflow — PASS/FROZEN; valid external evidence now composes through FROZEN Tooling and Bootstrap to truthful READY;
|
||||
2. dedicated physical calibrated real campaign;
|
||||
3. real Sparse SfM proof;
|
||||
4. durable Dense/OpenMVS orchestration;
|
||||
5. mesh / refinement / texturing / export;
|
||||
6. viewer foundation;
|
||||
7. offline Coverage Analysis scientific contract and implementation;
|
||||
8. multi-campaign registration / fusion;
|
||||
9. generic live acquisition adapter foundation;
|
||||
10. A6000 HDMI integration;
|
||||
11. S21 integration;
|
||||
12. live camera localization;
|
||||
13. live coverage overlay;
|
||||
14. actionable Capture Guidance;
|
||||
15. video ingestion / deterministic keyframes;
|
||||
16. final integration, UX, restart and performance proof;
|
||||
17. Product Definition v1 Definition-of-Done closure.
|
||||
1. final usable Calibration Science/Tooling/Bootstrap/Workflow v1 compatibility path — PASS/FROZEN;
|
||||
2. Calibration Science v2 design for heterogeneous cameras/lenses/focals, adaptive capture settings and autofocus — CURRENT;
|
||||
3. Calibration v2 heterogeneous-optics persistence / Tooling / Bootstrap / workflow foundation;
|
||||
4. physical autofocus/optical applicability validation and dedicated calibrated real campaign;
|
||||
5. real Sparse SfM proof;
|
||||
6. durable Dense/OpenMVS orchestration;
|
||||
7. mesh / refinement / texturing / export;
|
||||
8. viewer foundation;
|
||||
9. offline Coverage Analysis scientific contract and implementation;
|
||||
10. multi-campaign registration / fusion;
|
||||
11. generic live acquisition adapter foundation;
|
||||
12. A6000 HDMI integration;
|
||||
13. S21 integration;
|
||||
14. live camera localization;
|
||||
15. live coverage overlay;
|
||||
16. actionable Capture Guidance;
|
||||
17. video ingestion / deterministic keyframes;
|
||||
18. final integration, UX, restart and performance proof;
|
||||
19. Product Definition v1 Definition-of-Done closure.
|
||||
|
||||
## Adjustment rule
|
||||
|
||||
|
|
@ -45,3 +47,10 @@ Change this order only when current repository inspection proves a real dependen
|
|||
Step 0 closure does not authorize mechanical rewriting of historical persisted labels, path names, deliberate UTF-8 fixtures or persistence-sensitive internal strings. Such text is changed only when its owning scope requires it.
|
||||
|
||||
Do not jump to A6000 live work merely because it is visually interesting. Reconstruction/viewer/coverage foundations required for truthful guidance come first.
|
||||
|
||||
The calibration-v2 insertion before the physical campaign is dependency-driven,
|
||||
not feature creep: real acquisition evidence established that the v1 locked-focus
|
||||
single-optical-state path would make normal engine-bay capture impractical and
|
||||
would contradict the already-FROZEN product requirement for multiple optical
|
||||
configurations per project. Science v2 must be defined before collecting the
|
||||
physical evidence intended to validate it.
|
||||
|
|
|
|||
Loading…
Reference in a new issue