Skip to content

About

OpenRevelare 非官方 macOS 修改版:NegBase 对标标定、Cineon RGB 独立对齐、YRGB 分量图与矢量示波器

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

OpenRevelare

OpenRevelare Modified

OpenRevelare

面向 macOS 的非官方彩色负片工作流修改版
在 OpenRevelare 1.8.4 基础上加入 NegBase 对标标定、RGB 通道对齐与专业示波器。

Important

这是由个人维护的非官方修改版,并非 OpenRevelare 原作者发布。 上游项目为 Toshihiko-Lin/Open-Revelare。 本仓库保留原项目的 GPL-3.0-only 许可证与作者署名,目前只发布 macOS 安装包。

macOS

Latest release CI build status GNU GPL v3

English · 中文

修改内容 · 概览 · 模型 · 流程 · 界面 · 功能 · 安装 · 构建 · 许可


与上游的区别

当前基线版本为 1.8.4.1,基于上游 1.8.4。本修改版集中服务于 macOS 胶片翻拍工作流:

范围 本修改版
自动标定 以 Cineon 685 漫射白为固定默认目标,改进片基、画面边线与不透明导轨判别
RGB 对齐 在当前 D_min 固定不动的前提下,于 Cineon 信号域独立调整 R/G/B 通道
示波器 YRGB 分量图、10-bit Cineon 坐标、矢量示波器与肤色指示线;支持独立放大窗口
成片调整 使用原作者的显示参照 Stage 2 处理位置,保留完整的摄影式调整响应
参数交互 数值支持左右拖动精调,按显示精度步进并带平滑、有上限的加速
发行平台 只构建 macOS Apple Silicon 与 Intel DMG,不发布 Windows/Linux 包

具体改动见 CHANGELOG.md,NegBase 对标过程见 docs/NEGBASE_COMPARISON.md。未经明确验证的算法结论不会宣称为 NegBase 的内部实现;本项目只依据可观察行为进行对标。

项目概览

彩色负片包含橙色片基与染料层,翻拍或扫描的原始文件通常存在色偏。OpenRevelare 将输入还原为线性光,在 Cineon 对数密度域中完成片基扣除、白平衡与反转,再输出正片。

  • 可解释:片基、最大密度、通道平衡等参数均有明确含义。
  • 可复现:工程参数保存在图像旁的 .ncproj 文件中,源文件不被修改。
  • 本地优先:无需联网或账号;图像处理由共享 CPU Core 完成。
  • macOS 优先:C# / .NET 8 + Avalonia;本修改版发布 Apple Silicon 与 Intel 两种 macOS 包。

适用于相机翻拍或扫描的整卷底片处理、参数归档和跨设备重算。支持 HDR 编辑与导出;Linux 屏幕预览目前明确使用 SDR 回退。不提供逐卷色卡标定;文物翻拍、商业存档和科研用途可使用 DiVERE。

核心模型

阶段 作用域 内容
FilmBase 整卷 片基透射率、最大密度、通道平衡和反转参数;物理还原结果
SceneBase 单帧 色温、曝光、对比度、饱和度和曲线;创作调整

两阶段分离后,物理参数可在整卷范围内复用,单帧调整不会改变物理还原结果。

三项原则

  1. 色罩是物理量:通过片基采样获得,不以视觉猜测替代测量。
  2. 密度域是计算域:色罩表现为近似常量偏移,白平衡和反转可按线性关系计算。
  3. 还原与创作分离:FilmBase 负责一致性,SceneBase 负责表达。

处理流程

  1. 导入:导入 RAW、扫描 TIFF 或其他支持的图像,并填写胶卷、相机和冲洗信息。
  2. 整卷校准:自动估计片基、白平衡、暗端和 d_max,必要时手动修正。
  3. 整卷同步:将 FilmBase 参数应用于整卷或选定帧。
  4. 帧编辑:在 SceneBase 中逐帧调整色温、曝光、对比度、饱和度和曲线。
  5. 导出:输出 TIFF、JPEG、线性 DNG 或场景线性 ACEScg TIFF。

修改会自动写入磁盘;源目录可写时 .ncproj 与源图像位于同一目录,否则使用下方所列的用户级 rolls 回退目录。

界面与示例

Cineon 校准

Cineon 整卷校准

整卷缩略图、当前帧和共享物理参数集中在 Cineon 页面。

Display 调整

Display 帧编辑

Display 页面用于单帧创作调整,不改变 FilmBase 参数。

图库 整卷印样
按胶卷管理、筛选和恢复工程 包含齿孔排版和卷信息的整版印样

反转结果

翻拍原始输入 NLP 自动反转结果 OpenRevelare 反转结果
翻拍原始输入 NLP 自动反转结果 OpenRevelare 反转结果

功能

类别 能力
反转 Cineon 密度域反转、自动标定、窄带光源解耦(Path A)、黑白负片模式
色彩 ACEScg 工作空间;sRGB、Display P3、Adobe RGB 输出;精确 ICC 管理;Stage 2 调整
预处理 LCC 平场、镜头畸变、暗角、齿孔遮罩和几何裁切,均在线性光域完成
工作流 按卷管理、整卷同步、独立 RGB 通道对齐、虚拟副本、画幅预设、80 步撤销重做
示波器 直方图、YRGB 分量图、10-bit Cineon 坐标、矢量示波器、肤色指示线与独立放大窗口
输出 16-bit TIFF、JPEG、线性 DNG、32-bit 浮点场景线性 ACEScg TIFF、HDR 增益图 JPEG;文件名模板、缩放和锐化选项
风格 / HDR Cineon 输入 .cube 印片风格、SDR/HDR 整卷渲染、以档数表示的 HDR 上限、HDR 印样
报告 本帧技术报告,记录输入域、片基来源和反转参数

支持的输入包括 DNG、NEF、CR2/CR3、ARW、RAF、RW2、ORF、PEF、IIQ、哈苏/Flextight .fff 和 TIFF。JPEG/PNG 是导出或界面缓存格式,不是负片导入格式。文件选择器同时接受 RAW 扩展名的大写和小写形式。

工作原理

透射率 T 转换为对数密度:

$$D = -\log_{10}(T)$$

片基归一化、密度域白平衡和反转分别为:

$$T_{norm} = T / T_{base}$$

$$D_{corr}[c] = D[c] \times w_{high}[c] + w_{offset}[c]$$

$$T_{pos} = 10^{\left(\frac{R_{out}}{D_{max}[c]}D[c]-R_{out}\right)}$$

单帧处理顺序为:线性化 → 线性域光学校正 →(可选)光源解耦 → 片基扣除 → 密度域白平衡 → 反转 → 输出。应用内「帮助 → 操作指引 / 技术原理」提供完整说明。

安装

本修改版安装包位于 Releases,已包含 .NET 运行时。

平台 包 状态与要求
macOS Apple Silicon -arm64.dmg macOS 12+;主要测试平台
macOS Intel -x86_64.dmg macOS 12+;自动构建与装配检查

Windows 与 Linux 用户请使用上游官方版本。

平台提示
  • macOS:首次启动若提示无法验证开发者,可在「系统设置 → 隐私与安全性 → 仍要打开」确认,或执行:

    xattr -dr com.apple.quarantine /Applications/OpenRevelare.app

数据位置

内容 Windows Linux / macOS
设置与卷索引 %APPDATA%\OpenRevelare $XDG_CONFIG_HOME/OpenRevelare/(默认 ~/.config)
印样缓存 %LOCALAPPDATA%\OpenRevelare\sheets $XDG_CACHE_HOME/OpenRevelare/sheets/(默认 ~/.cache)
DNG 解码缓存 源文件旁的 .revelare-cache/ 同左
印片 LUT 放置目录 %LOCALAPPDATA%\OpenRevelare\luts $XDG_DATA_HOME/OpenRevelare/luts/(默认 ~/.local/share)
工程文件 源目录可写时为其中的 .ncproj;否则 %APPDATA%\OpenRevelare\rolls 源目录可写时为其中的 .ncproj;否则 $XDG_CONFIG_HOME/OpenRevelare/rolls/

缓存位置与上限可在偏好设置中调整;卸载不会删除上述数据。

从源码构建

需要 .NET 8 SDK。

git clone https://github.com/arthurzhaizhao-code/Open-Revelare-modified.git
cd Open-Revelare-modified
git switch codex/negbase-parity
dotnet build -c Release
dotnet test -c Release
dotnet run --project src/OpenRevelare.Gui

命令行前端:

dotnet run --project src/OpenRevelare.Cli -- -i neg.tiff -o pos.tiff --input-linear --color-space sRGB

--input-linear 与 --input-srgb 互斥。为兼容旧版对拍脚本,CLI 仍接受 --d-max、--grade、--pivot 和 --scan-exposure-ev,但这些参数现在是空操作;当前反相由两端密度标定与输出范围控制。

开发前请阅读 CONTRIBUTING.md。标定实验见 docs/calibration/,色彩管理记录见 docs/color-management-architecture.md。

许可证与第三方组件

代码采用 GPL-3.0-only,见 LICENSE。

models/net_awb.onnx 为 Deep White-Balance Editing 模型,按 CC BY-NC-SA 4.0 单独授权,不属于本项目 GPL 范围。详情见 models/README.md 与 THIRD_PARTY_NOTICES.txt。

主要参考:LightSourceDecouple、DiVERE 和 darktable negadoctor。

项目来源与致谢

本仓库派生自 Toshihiko-Lin/Open-Revelare,原项目由 Toshihiko-Lin 创建并以 GPL-3.0-only 发布。本修改版维护者感谢原作者及上游贡献者提供完整的应用基础。

以下名单来自上游项目,感谢他们对原项目早期开发与完善提供的支持:

  • 豆腐
  • Caramello_焦糖玛奇朵
  • REPEATER000
  • jamais
  • hhd

限制与反馈

  • 不提供逐卷色卡标定。
  • 8-bit TIFF 暗部可能出现色带,建议使用 16-bit 输入。
  • 本修改版不提供 Windows 或 Linux 安装包。
  • Intel 安装包通过自动构建与装配检查,但主要交互验证在 Apple Silicon 上进行。

本修改版的问题请提交到当前仓库 Issues;可确认属于上游的问题再提交到官方仓库。请附系统版本、Mac 型号、相机或扫描仪型号、输入格式与错误信息,不要上传含隐私内容的原片。

OpenRevelare 以 GPL-3.0-only 开源发布。

About

OpenRevelare 非官方 macOS 修改版:NegBase 对标标定、Cineon RGB 独立对齐、YRGB 分量图与矢量示波器

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages