Skip to content

Releases

MoonLabeler 0.12.2

Choose a tag to compare

@Fluorine7 Fluorine7 released this 04 Nov 03:35

MoonLabeler 0.12.2

本次应用包包含 0.11.0 之后的更新:

  • 重新整理 Python / Qt 界面,常用标注设置与操作更容易找到。
  • 月溪、山脉等名称可沿地形排列,内置 206 处离线路径,支持中文与双语标注。
  • 照片区域示意图使用实际月相、天平动和月轴倾角,移除 Earth 标记,改用半透明中性黑底。
  • 普通与艺术标注共用文字不透明度,完善颜色框语言、界面语言切换与 Windows 重启兼容。
  • 状态栏支持中止后台任务及停滞的数据下载。

应用包:

  • macOS:Apple Silicon,macOS 14.4 或更新。 本地构建兼容版;完整解压后打开 MoonLabeler.app。临时签名,未做 Apple 公证;首次被系统拦截时可在“系统设置 → 隐私与安全性”中允许。
  • Windows:x64。 GitHub Actions 构建;完整解压后运行 MoonLabeler.exe,保留旁边的 _internal 文件夹。

内置运行环境、FITS 支持、地名与地形路径数据及离线星历,无需安装 Python。高程图层首次使用仍需下载 LOLA 高程,缓存后可离线使用。

中文使用说明 · 完整更新记录


The app packages include the updates since 0.11.0: a reorganized Qt interface, labels following landform shapes with 206 bundled offline paths, a phase-correct lunar locator with a neutral-black panel, shared text opacity, language and Windows restart fixes, and cancellable background downloads.

  • macOS: Apple Silicon, macOS 14.4+. Locally built compatibility app; ad-hoc signed, without Apple notarization.
  • Windows: x64, built by GitHub Actions. Extract the entire ZIP and keep _internal beside MoonLabeler.exe.

Python, FITS support, name/landform data and offline ephemerides are bundled. Elevation layers download LOLA data when first used, then work from cache.

Source: 6e298e6e2e25a9b9212c4197308db74432b28691.

验证 / Verification

MoonLabeler 0.11.0

Choose a tag to compare

@Fluorine7 Fluorine7 released this 28 Oct 08:30

2026-10-28

  • 修复高程读取中断后打印异常可能崩溃的问题:映射缓冲区随最后一个数组引用释放,避免提前关闭仍被使用的数据;不复制高程图。 / Fixed crashes while reporting interrupted terrain work by retaining mapped buffers until their last array reference is released, without copying the DEM.
  • 改善低对比月面配准:月缘和月相给出唯一方向、但月海纹理不足时,按该方向重新匹配高程细节;结果仍须通过四分区留出验证、新参考图和独立月缘检查,已成功的快速路径不增加这一步。 / Added a bounded terrain fallback for distinct limb/phase poses with weak albedo, retaining spatial holdouts, fresh-render and independent limb checks; successful fast paths skip it.
  • 辅助找坑增加坑缘与邻近纹理的对比,减少密集山脊造成的圆形误检,并合并同一坑底的重复圆圈。 / Assisted detection now compares circular rims against nearby terrain and merges duplicate floor circles.
  • 校准页新增识别排除区域,支持半透明红色画笔、直径滑块、橡皮擦、撤销和重做,随工程保存,供自动识别与辅助找坑共用;不影响现有标注和导出。顶部新增标注、蒙版预览开关。 / Added persistent recognition exclusions with a brush, diameter slider, eraser, undo and redo, plus independent label and mask preview toggles. Existing annotations and exports are unchanged.
  • 排除区域同时参与月面选择和亮度阈值估计,避免已涂掉的大型插图继续干扰识别;保留未被涂抹的画面边缘部分坑缘。 / Masked insets no longer influence lunar-region selection or brightness thresholds; unrelated exclusions preserve valid partial craters at the image edge.

提供 Windows x64 和 macOS 14.4+ Apple Silicon 应用包。 / Windows x64 and macOS 14.4+ Apple Silicon app packages.

Source: c1271a85df35349438ea7d83c00345471777fe36.

MoonLabeler 0.10.2

Choose a tag to compare

@Fluorine7 Fluorine7 released this 26 Oct 12:42

2026-10-26

  • 地形类别改为默认折叠的多选框,支持同时标注多种地形;保留旧工程的类别选择。 / Feature types now use a collapsed checklist with multiple selection; existing project filters are preserved.
  • 两种晨昏线统一使用虚线,预览与 PNG / SVG 导出一致。 / Both terminator sources now use dashed lines in the preview and PNG/SVG exports.
  • 示意图补充南北极标记,背面极点用方向箭头表示;原始样式的取景范围不再给月球染色。 / Added locator pole markers and direction arrows for hidden poles; the original-style footprint no longer tints the lunar surface.
  • 受光阈值移到“标注内容”,地名和地图共用;拖动实时显隐标签,保留原来的位置和排版。 / Moved the shared light threshold to annotation content. Labels and maps use the same value; dragging changes label visibility without moving them.
  • 提供 Windows x64 和 macOS 14.4+ Apple Silicon 应用包。 / Windows x64 and macOS 14.4+ Apple Silicon app packages.

MoonLabeler 0.9.3

Choose a tag to compare

@Fluorine7 Fluorine7 released this 23 Oct 18:01

MoonLabeler 0.9.3

版本编号更正为 0.9.3;应用内部版本、包文件名与发布标签已同步。

下载 / Downloads

  • macOS Apple Silicon(M1 或更新机型,macOS 14.4+):MoonLabeler-0.9.3-macos-arm64.zip,本地打包。完整解压后打开 MoonLabeler.app,或拖入“应用程序”。
  • Windows x64:MoonLabeler-0.9.3-windows-x64.zip,GitHub Actions 云端构建。完整解压后运行 MoonLabeler.exe,保留旁边的 _internal 文件夹。

两种应用均包含运行环境、FITS 支持和离线星历,无需另装 Python。Release 附件仅保留这两个应用包。

主要更新

  • 优化艺术标注缩放、拖动及暂停后继续操作的响应,改进文字预览缓存与后台清晰度恢复。
  • 图层不透明度与受光阈值增加手工输入框,与滑块同步;回车或移开焦点后生效,保留滚轮不改数值的保护。
  • 包含此前未发布的中世纪风与旷野地形图主题、自动等高距、晨昏线、柔和受光区域覆盖与自动阈值,以及原文件名导出和 PNG sRGB 色彩处理。
  • 保留原始标注、工程和手工编辑;致谢蔡明翰(Evan Tsai)贡献的繁体中文支持及 Windows 问题修复。

macOS App 使用临时签名,未经过 Apple 公证;若首次打开被拦截,可在“系统设置 → 隐私与安全性”中允许运行。使用与安装说明 · 完整更新记录

Improves art-label navigation and adds precise numeric entry beside map sliders. Includes the previously unpublished art themes, adaptive contours, terminator, softly feathered photo-lit coverage, and sRGB PNG export changes. macOS is built locally; Windows is built in GitHub Actions. Only the two app ZIPs are attached.

验证 / Validation

  • Windows:682 项测试通过、47 项按环境或本机资料条件跳过;依赖审计、包内 0.9.3 版本检查、打包后的功能检查与独立 GUI 启动均通过。构建记录
  • macOS:本地应用包的内部版本、原生依赖、签名完整性、离线配准和 PNG/SVG 导出检查通过;同一 ZIP 在 macOS 14、15 ARM64 环境中通过功能与正常 GUI 启动检查。兼容性检查

Source: 75daf5ebb8f02e6ad1397a90e5fdc9d7590f81c0.

MoonLabeler 0.8.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:01
10fe6b1

下载 / Downloads

macOS Apple Silicon:MoonLabeler-0.8.0-macos-arm64.zip。最低 macOS 14.4,包含 macOS 15;完整解压后打开 MoonLabeler.app,也可拖入“应用程序”。内置 Python、Qt、FITS、最小 OpenCV、示例和四份离线星历,无需安装 Python 或编译器,不适用于 Intel Mac。App 在作者的 Apple Silicon Mac 上打包;云端只测试同一份 ZIP。当前使用临时签名,未经 Apple 公证,首次下载若被系统拦截,请在“系统设置 → 隐私与安全性”中允许打开。

Windows x64:MoonLabeler-0.8.0-windows-x64.zip。完整解压后运行 MoonLabeler.exe,保留 _internal 文件夹;无需安装 Python 或编译器。更新后的独立程序内置 Python 3.12.15。

Linux x64:moonlabeler-0.8.0-cp312-cp312-linux_x86_64.whl,需要 CPython 3.12 和兼容的系统运行库;使用 python -m pip install <文件.whl> 安装。macOS / Windows 用户请选择上面的免安装 ZIP。

独立安装包补充修复(2026-10-22)

  • 增加 macOS Apple Silicon App;从 Qt for Python 6.12.0 原始码重编译所需绑定,消除原 wheel 中的 macOS 26 最低版本要求,保留 Qt 6.12 安全修复。检查全部 88 个 Mach-O 二进制:均为 ARM64、最低系统要求不高于 14.4,且没有链接构建机器上的 Homebrew 或 Python 环境。
  • 修复 macOS / Windows 冻结程序遗漏 TIFF Cython 扩展、Astropy 常量及解析表的问题。测试最终 App / EXE 的镜像手动配准、自动 SIFT 配准、圆形/椭圆坑缘、16 位 RGB TIFF、FITS、离线月面几何、示例工程往返与 PNG / SVG 导出。
  • macOS 在 14.8.9 和 15.7.9 ARM64 上通过同一份 App 的功能和 Cocoa 窗口启动检查;两个系统均通过 Metal 地形渲染与 CPU 的数值比较。本机窗口启动也已通过。本机打包提交:7edbc04d4576b3db4bca4d750caf854fb3146047。macOS 14/15 测试 · 兼容性报告
  • Windows 使用标准 GitHub Windows runner 重打包,明确固定已修补的 CPython 3.12.15,并从最终 EXE 再核对版本;修正 Actions 的 3.12 别名实际选到旧 3.12.10 的问题。复用已验证的私有最小 OpenCV wheel。Windows 打包与冻结程序测试 · 最终 EXE 报告。打包修复提交:1d67206fe344fedb4c4995568cb7bf0f8eb908dd。
  • 两个平台 ZIP 均无需用户安装 Python / 编译器,现有 .moonlabel 工程及导出格式继续使用。下载区只保留三平台安装文件和一份 SHA256SUMS;原生检查、依赖审计和构建记录已归档到仓库。Linux wheel 沿用标签源码,独立安装包采用上述打包修复提交。

Apple Silicon users: extract the macOS ZIP and open MoonLabeler.app on macOS 14.4+, including 15. Python and all required runtimes are included. The app is built locally and tested unchanged on macOS 14/15; it is ad-hoc signed, without Apple notarization. Windows users should download the refreshed x64 ZIP, which includes patched CPython 3.12.15. Both packaged applications now test TIFF/FITS decoding, registration, crater detection, project roundtrip and PNG/SVG export from their embedded runtimes.

2026-10-22 · 多语言、跨平台兼容与依赖安全更新。由于最低 Python 版本和原生依赖安装方式发生变化,从 0.7.12 升为 0.8.0。

界面与兼容修复

  • 合入 mjrtmj 的贡献(PR #1–#4):新增繁体中文与英文界面、繁体及双语繁体地名、平台中文字体和字重选项;界面语言选择保存在本机,重新启动后生效。
  • 修复 Windows 非 UTF-8 默认编码下的资源 / 工程读写,以及照片、DEM 与工程跨磁盘时的路径保存。
  • 新增 Windows x64 免安装版与云端打包流程(PR #12、#13):Release 中下载 ZIP,完整解压后运行 MoonLabeler.exe,无需自行安装 Python 或编译器。内含最小 OpenCV、FITS 支持、示例、使用说明、许可和四份 JPL 星历;打包前解析星历,下载失败即停止,云端冒烟检查启动与完整缓存复制。Windows、macOS 和 Linux 打包模式分别使用各自的用户缓存目录。
  • 补齐繁体地名检索和英文候选列表;错误提示保留原始文件路径,避免翻译改写路径;自动识别失败时继续保留已有配准、参考点和标签。

安全与原生构建

  • 最低运行版本升为 Python 3.12。补声明实际使用的 certifi,安全基线包括 Qt 6.12、Pillow 13、certifi 2026.10.19;同时整合 NumPy 2.5.4、PyShp 3.1.6 和 Skyfield 1.55 的依赖更新(PR #7–#9)。完整版本约束以 requirements.txt / pyproject.toml 为准。
  • 高位深 RGB TIFF 改由 imagecodecs(2026.10.10 起)的 libtiff 4.7.2 或更新版本解码,保留 16 位样本、分离平面及方向处理;其他照片由 Pillow 解码。照片文件不再交给 OpenCV 解码。
  • 以应用 wheel 内的私有最小 OpenCV 4.14.0替代通用 OpenCV 安装包。仅构建 core、imgproc、flann、features2d、calib3d、Python 绑定及保留上游 EdgeDrawing 实现的 ximgproc;不编译 imgcodecs、videoio、highgui 和旧 TIFF / OpenJPEG / OpenEXR / FFmpeg 等媒体组件,移除此前仍随完整 wheel 分发的闲置解码代码(PR #10、#11)。
  • 固定 OpenCV / contrib 源码提交并核验下载摘要;应用 wheel 附带构建清单和第三方许可。构建检查同时核对编译输入、已安装模块、解码 API 和原生链接库;macOS wheel 的架构标签与实际二进制架构一致。
  • 修复 Windows 虚拟环境下 Python 导入库定位及失效 Ninja 缓存;非 ASCII 构建路径使用独立的 ASCII 临时目录。若账户的临时目录也含非 ASCII 字符,先将 MOONLABELER_OPENCV_BUILD_ROOT 设为可写的 ASCII 目录(例如 PowerShell:$env:MOONLABELER_OPENCV_BUILD_ROOT = 'C:\Temp\MoonLabeler')。Release 标签必须与包版本匹配,云端临时产物保留 7 天,正式下载文件放入 Release。

从 0.7.x 升级

  1. 使用已安装安全补丁的 Python 3.12 或更高版本;Python 3.11 环境需重新创建虚拟环境。

  2. macOS 可运行 ./start-mac.command,脚本会检查依赖、移除旧 OpenCV 安装包,并在缺少私有扩展时构建。首次源码构建需要 C++ 编译器:macOS 安装 Xcode Command Line Tools,Windows 安装 Visual Studio Build Tools 的“使用 C++ 的桌面开发”组件,Linux 安装 build-essential;CMake / Ninja 由构建环境安装。

  3. 手动升级时,先激活项目虚拟环境,再在仓库根目录执行:

    python -m pip install --upgrade "pip>=26.2" "setuptools>=83"
    python -m pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless opencv-contrib-python-headless
    python -m pip install --upgrade .

    requirements.txt 仅列外部运行依赖,单独安装它不会构建应用原生扩展。首次安装后,后续启动复用已有构建。

  4. 已有 .moonlabel 工程、配准结果和 PNG / SVG 导出格式继续使用。已分发的旧安装包需要使用修复后的环境重新打包,更新源码不能替换其内嵌组件。

验证与检查范围

  • 最小构建的三平台 CI通过:macOS ARM64 486 通过 / 29 跳过,Windows x64、Linux x64 各 472 通过 / 43 跳过;包含配准、坑缘检测、图片读取、工程保存和 PNG / SVG 导出,以及原生组件检查与依赖审计。缺少本地照片、数据或平台特性时按条件跳过;运行器自动化测试不等同于所有平台的交互式界面及显卡实机验证。
  • 本机另覆盖实拍识别、导出、工程往返和识别失败保护;修正一条将异常对象直接当字符串检查的旧测试断言,相关 4 项定向复测通过,其余 500 项通过、6 项跳过的完整测试结果复用。
  • 本机环境已移除完整 OpenCV 安装中的 94 个旧原生库文件。31 个外部已安装分发包的审计未发现已知漏洞;版本与文档整理复用这些仍有效的安全和功能检查结果。具体 CVE、原生组件边界、Rust GPU 依赖与历史安装包的检查范围见安全审计记录。

English

  • Adds Traditional Chinese and English interfaces, Traditional/bilingual-Traditional captions, platform CJK fonts and font weights, integrating mjrtmj's PRs #1–#4. Fixes Windows UTF-8 resource/project I/O, cross-drive photo/DEM paths, Traditional name search, English candidate captions and preservation of paths in translated errors.
  • Adds a Windows x64 portable ZIP and cloud build/release workflow (PRs #12–#13). Extract the complete ZIP and run MoonLabeler.exe, with no separate Python/compiler installation. It includes FITS support, the minimal OpenCV, examples, documentation, licenses and all four JPL kernels; failed downloads stop packaging. Frozen applications use platform-specific per-user caches. Windows source builds now locate the Python import library and recover from stale Ninja paths; a non-ASCII temporary directory requires a writable ASCII MOONLABELER_OPENCV_BUILD_ROOT.
  • Raises the minimum to Python 3.12, updates security dependency baselines and integrates NumPy, PyShp and Skyfield updates. High-bit-depth RGB TIFF decoding uses imagecodecs with libtiff 4.7.2+, preserving 16-bit samples; Pillow handles other images.
  • Replaces the full upstream OpenCV wheel with a pinned private OpenCV 4.14.0 build containing only array-processing modules and upstream EdgeDrawing. Image/video codecs and their unused TIFF, OpenJPEG, OpenEXR and FFmpeg components are excluded. Source hashes, compiled inputs, installed modules, linked libraries and macOS architecture tags are checked; native notices and a build manifest ship with the wheel.
  • Migration: use a patched Python 3.12+ interpreter and a C++ compiler for the first source build. macOS users can run ./start-mac.command; manual upgrades should activate the project environment, remove all four legacy OpenCV wheel variants and run python -m pip install --upgrade ., as shown above. Installing requirements alone does not build the native extension. Existing project/export formats remain supported; older distributed installers need rebuilding.
  • Three-platform wheel builds, regression tests and dependency audits passed: 486 passed / 29 skipped on macOS ARM64 and 472 passed / 43 skipped on each of Windows x64 and Linux x64. Additional local photographs and failure-preservation workflows passed after correcting one stale exception-message assertion; four focused tests were rerun, while the other 500 passing results were reused. These results do not claim interactive validation of every OS/GPU or repairs to historical installers. See the linked CI and audit record for evidence and scope.

Source: 10fe6b1eed33db5afc5e79db0b314a913c2c4e75. Release tests

发布已通过完整文件与服务器 SHA-256 校验;复用同一源码提交的测试产物。发布恢复记录 / Verified publication。