Gaussian Analysis
What's actually inside that giant .ply file?
- report
Gaussian splat PLYs are a mess of dialects. A file from the original Inria trainer carries spherical-harmonic coefficients, a point cloud export from a depth pipeline has none, and a PlayCanvas-compressed scene is quantized to bytes. If you've ever wired a random .ply into a merge or a preview and watched it come out wrong, you know the feeling: you have no idea what you just loaded. GaussianAnalysis is the node that answers that in a blink.
It's from the same author who maintains ComfyUI's HyWorld2 and TRELLIS.2 wrappers, and it's the quiet diagnostic member of the GaussianPack family. Zero impressions on search right now, which tracks - it's the kind of utility you discover after the third "why does this splat look broken?" session.
What it does
The trick is that it reads only the PLY header, not the file body. For a hundreds-of-MB scene that's the difference between instant and minutes. From the header it derives:
- the vertex (splat) count and PLY encoding (ascii / binary little- or big-endian)
- the SH degree - it counts
f_rest_*properties: 9 means SH1, 24 means SH2, 45 means SH3, 0 means no view-dependent color at all - whether the file has baked
red/green/blueinstead off_dc_*coefficients (the classic point-cloud tell) - whether opacity, scales, and rotations are present, and whether the dtype is all-float32 or quantized
- file size, bytes per splat, and a one-line "flavor" guess (raw 3DGS, SH-stripped, RGB-baked, compressed/packed)
That flavor guess is genuinely useful. "RGB-baked PLY (no SH coefficients)" tells you immediately why a scene looks flat from the side and why a merge or export node might treat it oddly.
The inputs and output
Just one input: ply_path, a path to any Gaussian Splatting PLY. That's it - nothing to configure, no options to get wrong.
The single output, report, is a multi-line STRING. Because the node is also an output node, the report displays in the node body so you can read it right on the canvas; wire it into a Show Text if you want it saved alongside a workflow.
Installing it
It ships in the GaussianPack (repo name ComfyUI-TurntableGSViewer):
cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-TurntableGSViewer.git
cd ComfyUI-TurntableGSViewer
pip install -r requirements.txt --upgrade
python install.py
Then restart ComfyUI. Easier: ComfyUI Manager → search "GaussianPack". Note the pack uses the experimental comfy-env installer, which drags in the pixi package manager on first install - give it a minute. No model files to download.
When you'll actually use it
Reach for it when a preview renders wrong and you suspect the file, not the viewer. It can't fix anything, but knowing "this PLY has no SH, that's why the sides are flat" or "this is quantized to uint8, the merge node will still cope" changes which node you reach for next. Pair it with GaussianExport - if analysis says a scene is bloated with SH3 you don't need, stripping it is one node away.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ply_path | STRING | Path to a Gaussian Splatting PLY file to analyze |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| report | STRING | — |