How jingyuangao0919/physir-splat works
PhysIR-Splat trains physically informed 3D Gaussian scenes from thermal or RGB-plus-thermal views, then renders and evaluates novel views. Its documented physical rendering models include passband Planck radiance, environmental reflection, atmospheric transmittance, and radiometric response. Training and the renderer are visible in the tree, but excerpts do not expose their complete call wiring. VGGT-IR is described in the README, but no corresponding implementation path appears in the supplied tree, so it is not represented as a runtime component.
Main entry points: train.py Training loop · __init__.py Gaussian renderer · render.py Render command · dataset_readers.py Dataset readers
Components 21
Scene data
- Input views
- Dataset readers
scene/dataset_readers.py - Camera models
scene/cameras.py
Thermal scene model
- Gaussian primitives
scene/gaussian_model.py - Appearance model
scene/appearance_model.py - Geometry model
scene/geometry_model.py - Atmospheric transfer
scene/atmospheric_model.py - Planck radiance
scene/planck_model.py - Radiometric response
scene/radiometric_model.py - Pose model
scene/pose_model.py
Rendering and evaluation
- Gaussian renderer
gaussian_renderer/__init__.py - CUDA rasterizer
submodules/diff-gaussian-rasterization-extentions/diff_gaussian_rasterization/__init__.py - Render command
render.py - Image metrics
metrics.py - Rendered outputs
Training workflow
- Training loop
train.py - Model checkpoints
Residual correction
- RGBT correction
tools/rgbt_thermal_residual_corrector.py - Temporal correction
tools/temporal_residual_corrector.py - Affine correction
tools/temporal_affine_residual_corrector.py
Other components
- Researcher
Connections 24
- Researcher → Training loop: starts training
- Researcher → Render command: requests renders
- Researcher → Image metrics: requests evaluation
- Input views → Dataset readers: provides views
- Dataset readers → Camera models: builds cameras
- Training loop → Dataset readers: loads scene
- Training loop → Gaussian primitives: optimizes primitives
- Training loop → Gaussian renderer: renders training views
- Gaussian renderer → CUDA rasterizer: rasterizes primitives
- Gaussian renderer → Gaussian primitives: reads scene attributes
- Training loop → Model checkpoints: saves checkpoints
- Render command → Gaussian primitives: loads scene model
- Render command → Gaussian renderer: renders views
- Render command → Rendered outputs: writes images
- Image metrics → Rendered outputs: reads images
- RGBT correction → Rendered outputs: reads renders
- Temporal correction → Rendered outputs: reads renders
- Affine correction → Rendered outputs: reads renders
- Training loop → Appearance model: updates appearance
- Training loop → Geometry model: updates geometry
- Training loop → Pose model: uses pose refinement
- Gaussian renderer → Atmospheric transfer: uses transfer model
- Gaussian renderer → Planck radiance: uses radiance model
- Gaussian renderer → Radiometric response: uses response model