krites straighten¶
Description¶
Detect a frame's tilt and record a level correction on its edit record. Nothing
applies it automatically, and it is baked to pixels only on
krites export. krites
proposes; you dispose.
Detection is an edge-orientation histogram: a level frame's edges cluster on the horizontal and vertical axes, so the dominant deviation from those axes is the tilt to undo. It is pure Go, reproducible, and uses no model. The correction is clamped to a sane maximum (default ±8°), and the raw detected angle is kept on the record as the basis, so the proposal is explainable and the Phase-4 learner can relate your overrides to it.
Non-destructive: only the frame's .krites/edits/<frame>.yaml record changes,
and the original is never touched. Undo it with
krites reset.
The shoot must already be culled with krites cull (--all
proposes across the keepers).
Usage¶
Name a single frame, or pass --all to propose across every keeper: exactly one
of the two. The shoot is taken from --shoot, or the current working
directory if omitted.
Flags¶
| Flag | Description | Default |
|---|---|---|
--shoot |
Shoot directory to scope to | the current directory |
--all |
Propose a correction for every keeper frame | false |
--max-angle |
Maximum correction in degrees (clamp) | the shoot's develop config (8) |
--output |
Output format: text or json |
text |
Examples¶
# Propose a level correction for one frame
krites straighten --shoot ~/shoots/smith-wedding 044-ceremony.jpg
# Batch-propose across every keeper
krites straighten --shoot ~/shoots/smith-wedding --all
A frame with no dominant horizontal/vertical structure to level (a flat sky, say) is reported and left untouched; a frame already level within the clamp proposes nothing.
See also¶
krites cull: judge the shoot (run first).krites reset: clear a frame's edits.krites export: bake edits to pixels (the only writer).