Skip to content

Batch cubemap splitter with mask support and per-face XMP rig sidecars#1

Open
Create-your63 wants to merge 1 commit into
masterfrom
codex/generate-gaussian-splatting-from-360-video
Open

Batch cubemap splitter with mask support and per-face XMP rig sidecars#1
Create-your63 wants to merge 1 commit into
masterfrom
codex/generate-gaussian-splatting-from-360-video

Conversation

@Create-your63
Copy link
Copy Markdown
Owner

Motivation

  • Convert the single-image equirect->cubemap utility into a folder-based batch tool so already-extracted frames can be processed in bulk.
  • Ensure mask images (already produced by the user's extractor) are projected the same way and emitted with filename templates that match RealityCapture/RealityScan pairing conventions.

Description

  • Added tools/equirect_to_cubemap_xmp.py, a folder-oriented tool that finds equirectangular source images and for each source emits six cubemap face images, six .xmp sidecars and optional six mask faces using a paired --mask-dir lookup.
  • New CLI options: --mask-dir, --mask-suffix, --image-name-template, --mask-name-template, --face-size, --image-format, --jpg-quality, and --xmp-namespace to control naming, mask pairing and output format; image naming uses the provided templates via render_name.
  • Image sampling uses bilinear reconstruction and mask sampling uses nearest-neighbor to preserve mask regions; each face receives an XMP with xcr:Rig, xcr:RigInstance, xcr:RigPoseIndex, and a rotation matrix; all per-frame results are collected into cubemap_rig_manifest.json.
  • Updated README.md with a usage example showing the folder+mask workflow and the example command python3 tools/equirect_to_cubemap_xmp.py ./eq_frames ./cubemap_out --mask-dir ./eq_masks ....

Testing

  • python3 -m py_compile tools/equirect_to_cubemap_xmp.py succeeded (syntax check passed).
  • Attempted to run python3 tools/equirect_to_cubemap_xmp.py --help in this environment failed with ModuleNotFoundError: No module named 'PIL' because Pillow is not installed here (runtime dependency), so full runtime execution was not validated in this environment.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant