Nodes/ComfyUI-SplatKit/SphereSfM Add Camera Path
ComfyUI Node

SphereSfM Add Camera Path

A ComfyUI node in SplatKit with 17 inputs and 4 outputs.

By mickmumpitz·Created 19 days ago·Updated a day ago· 0
SphereSfM Add Camera Path
  • pano_frames_1
  • pano_frames_2
  • pano_frames_3
  • pano_frames_4
  • model_dir
  • num_images
  • num_points
  • num_added_frames
dataset_dir
frame_stride1
max_frames0
matcher_typeexhaustive
adjust_existing_camerasfalse
retriangulatetrue
face_size0
max_num_features8192
peak_threshold0.0066
edge_threshold10
max_num_matches32768
abs_pose_min_num_inliers30
image_ordercamera_major
CategorySplatKit

Inputs (17)

NameTypeDefaultDescription
dataset_dirSTRINGThe EXISTING SphereSfM dataset to add to -- wire the Dataset Project node's dataset_dir here (the same value the base SphereSfM node used as output_name), or type the dataset folder name/path. Must contain _spheresfm_work/ from a mode=colmap_now build.
pano_frames_1optIMAGEThe new WAN equirect pano video (one Camera Plot + WAN group) to add to the dataset. Required in practice.
pano_frames_2optIMAGEOptional extra new trajectory; concatenated after pano_frames_1.
pano_frames_3optIMAGEOptional third new trajectory.
pano_frames_4optIMAGEOptional fourth new trajectory.
frame_strideoptINT11–100Use every Nth new frame. Thin long clips but keep matching overlap.
max_framesoptINT00–1000Cap NEW frames after stride (0 = no cap).
matcher_typeoptCOMBOexhaustiveHow to match the new frames. exhaustive (default) matches them against the EXISTING frames too, which is what lets a separate path link into the reconstruction -- keep this unless the new clip is a direct temporal continuation of the last one.
adjust_existing_camerasoptBOOLEANfalseOFF (default): keep the existing cameras/poses FIXED -- purely additive, original views stay bit-stable, only new faces written. ON: let a global solve refine existing poses to fit the new data (re-renders EVERY cube face; use only if the new path reveals the base was slightly off).
retriangulateoptBOOLEANtrueRun point_triangulator after registration so the newly added images contribute 3D points (denser cloud in the added region). Off = register poses only (faster, sparser).
face_sizeoptINT00–2048Cube-face resolution (px). 0 = auto (~equirect_w/4). Set the SAME value the base dataset used so new faces match the existing ones.
max_num_featuresoptINT81921024–32768
peak_thresholdoptFLOAT0.00660–0.1
edge_thresholdoptFLOAT101–50
max_num_matchesoptINT327684096–131072
abs_pose_min_num_inliersoptINT3010–200Min verified inliers to register a new image against the existing 3D points. Lower if new frames won't register; raise for stricter.
image_orderoptCOMBOcamera_majorOrder recorded in the dataset marker for upscaling (COLMAP files untouched). camera_major groups each cube face into a coherent per-view sub-video across ALL trajectories; frame_major keeps plain lexical order.

Outputs (4)

NameTypeDescription
model_dirSTRING
num_imagesINT
num_pointsINT
num_added_framesINT