Resolve Dataset Images
The node that finds your dataset's images folder and never upscales twice
- load_dir
- canonical_dir
- suggested_batch_size
Dataset upscaling is the stage where SplatKit's output becomes a splat that's actually sharp - you run every training image through a real upscaler (SeedVR2, if you have it) before training. But an upscale pass has one nasty property: run it twice and you're upscaling already-upscaled frames, which softens everything and burns GPU hours for nothing. Resolve Dataset Images is the small node that makes re-runs safe. Given a dataset by name (or explicit path), it figures out where the images live and returns two strings: load_dir - the folder an image loader should read, and canonical_dir - the folder the upscaled images must end up in so COLMAP's sparse/0/images.bin keeps matching.
The re-run safety comes from one trick: load_dir is the <images>_lowres folder if a previous upscale already created it, otherwise the plain images folder. You always read the pristine originals, so re-running the workflow converges to the same result instead of stacking generations. It also handles both dataset layouts this pack produces - the SphereSfM COLMAP layout (.../images) and the equirect .../dataset/images layout - plus the legacy Pano2Splat-Matrix/<name>/... folders from before the rename. If you know exactly where things live, dataset_path overrides the name lookup entirely.
The third output, suggested_batch_size, is worth a mention: it reads the dataset's marker and suggests a SeedVR2 batch size that aligns to coherent sub-video boundaries, so the temporal model never sees a batch straddling a view change.
Wiring and the inputs that matter
Required: dataset_name (default my_scene - the SphereSfM output_name). Optional: dataset_path, and lowres_suffix (default _lowres) which must match whatever the Save node uses. The canonical chain:
Resolve Dataset Images → load_dir → (an image loader) → upscaler → images
└→ canonical_dir → Save Upscaled Dataset.canonical_dir
If you hit "could not locate an images folder," the error message tells you exactly which layouts it checked - usually the name is wrong, or the dataset lives outside ComfyUI/output and you need dataset_path.
Install
Same as the whole pack - clone, install requirements, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/mickmumpitz/ComfyUI-SplatKit
python_embeded\python.exe -m pip install -r ComfyUI-SplatKit/requirements.txt
No model downloads here; the upscaler and its weights are your own. One honest gotcha from the code: the loader's filename order must match the order you save under, which is why the fancier Load Dataset Images (Ordered) node exists for camera-major datasets - see its page before upscaling a SphereSfM COLMAP dataset.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| dataset_name | STRING | my_scene | Name of the dataset folder this pack created under ComfyUI/output (e.g. the Dataset Project / SphereSfM output_name). Leave dataset_path blank to use this. |
| dataset_pathopt | STRING | Optional explicit path to the dataset root OR directly to an images folder. Overrides dataset_name when set. | |
| lowres_suffixopt | STRING | _lowres | Suffix the originals folder is/was renamed with. Must match the Save node's suffix. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| load_dir | STRING | — |
| canonical_dir | STRING | — |
| suggested_batch_size | INT | — |