Releases: rohanpandula/TriRGB
NegPy RGB-mode sample data — narrowband 3-exposure set (a7CR)
Narrowband RGB-separation set for testing NegPy's planned "RGB (3 separate exposures) mode" (see marcinz606/NegPy roadmap).
One 35mm frame, Sony a7CR (ILCE-7CR), 61 MP (9600×6376), on a copy stand with a narrowband RGB LED backlight. Camera and film are static across all three frames; only the LED changes, so they register to the pixel.
- DSC00448.ARW — Red LED (raw channel means ≈ 84% R)
- DSC00449.ARW — Green LED (≈ 74% G)
- DSC00450.ARW — Blue LED (≈ 68% B)
All ISO 100, 1/25s, custom WB. Per-channel brightness is tuned on the LEDs, so at a fixed shutter the three raw channel means land within ~1.6× of each other (≈ 2190 / 2930 / 3580 for R/G/B). The residual cross-channel signal (84/74/68 vs a perfect 100) is normal Bayer CFA spectral overlap.
Sample data for a NegPy contribution proposal.
TriRGB v0.1.0 — trichromatic narrowband-RGB film scanner
Trichromatic narrowband-RGB color-negative film scanner for macOS. A color negative is captured as three R/G/B-lit exposures and composited into a 16-bit linear file for mask-free inversion — Sony a7CR + a Pico-based Scanlight RGB panel.
What's in v0.1.0
- phase1 —
sony-capture(C++ CLI over the Sony Camera Remote SDK: capture + live view) andscanlightctl(Python serial control for the Scanlight RGB panel). - phase2 —
rgb-composite(channel extract / flat-field correction / inversion / QA, with embedded ICC color profiles: linear ProPhoto on the composite, ProPhoto on the rendered positive),triplet-capture(Flask backend + capture orchestrator + per-roll exposure & FFC calibration),batch-composite, andc41-core(shared data contracts). - phase3 —
scanlight-app, the SwiftUI macOS operator app (Session · Calibrate · Scan · Develop · Set Up).
Build from source
No prebuilt binary is attached: the app launches local Python + the Sony SDK capture tool, and the Sony Camera Remote SDK is proprietary and not redistributable.
- SwiftUI app (macOS 13+, Swift 5.9+):
cd phase3/FilmScanner && swift build -c release --product scanlight-app(orswift run scanlight-app). - Python pipeline (3.11+): install
numpy tifffile rawpy Pillow opencv-python flask, thenpip install -e phase2/c41-core phase2/rgb-composite phase2/triplet-capture. - sony-capture (C++): obtain the Sony Camera Remote SDK — see
phase1/sony-capture/third_party/sony_sdk/INSTALL.md— then build perphase1/sony-capture/README.md.
See the top-level README.md and each phase's README for full setup and the operator workflow.
Hardware
Sony a7CR (ILCE-7CR) + custom Scanlight v4 (Pico-based narrowband-RGB LED panel).