Case study
upright: reconstructing Lightroom Classic's perspective correction
upright reconstructs Lightroom Classic's Upright perspective correction from catalog transforms, controlled application runs, and selected CameraRaw binary observations. It publishes a two-camera homography model, measured Auto-mode behavior, evidence files, and an MIT-licensed Python port; the author reports that the port performs poorly on real photographs.
- Targets
- App · Binary
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 1
- Last commit
- 2026-10-31
- Language
- Python
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Python 3.10 or newer, NumPy, and OpenCV are needed for the port.
- Limits: The author reports that the port often returns identity on real photos and has a 40.7% loss rate against plain identity in the stated comparison.
- License: MIT License.
Cite
BibTeX
@misc{lightroom-upright-case,
title = {{upright: reconstructing Lightroom Classic's perspective correction}},
howpublished = {\url{https://github.com/rohanpandula/upright}},
url = {https://github.com/rohanpandula/upright},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/lightroom-upright-case/}}
}Plain text
upright: reconstructing Lightroom Classic's perspective correction. https://github.com/rohanpandula/upright (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/lightroom-upright-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · rohanpandula/upright · Revision 490391d
- README-validation.md GitHub · rohanpandula/upright · Revision 490391d
- port/README.md GitHub · rohanpandula/upright · Revision 490391d
More in Apps
- studio3svg: reconstructing the Silhouette Studio document format · Case study
- technics-az100: a Windows client for EAH-AZ100 earbud controls · Case study
- SberBoom Remote: reconstructing local speaker control and StarOS messages · Case study
- Curiosity Daily API: endpoints recovered from the Android app · Case study
- prism_connect: PRISM Live Studio remote protocol implementation · Case study
- qcywatch-android: a QCY Watch GT2 client built from BLE protocol research · Case study