Based on Code sourced from; /Dymensium/PointNuker
With PointNuker-SOR, the Statistical Outlier Removal (SOR) filter is a precision tool used to "denoise" your 3D Gaussian Splats by identifying points that are too far from their neighbors compared to the average density of the cloud.
SOR typically uses two primary parameters to determine what stays and what gets "nuked":
For every point in the cloud, the algorithm identifies its nearest neighbours (where k is a user-defined parameter) and computes the average distance from the point to those neighbours
Neighbours (k):
Function: Defines the size of the neighborhood to analyze for each point. The tool calculates the average distance from a point to its nearest neighbors. Higher values are slower Adjustment: Increase this for denser splats to get a more reliable average; decrease it if the filter is accidentally selecting fine details like thin wires or hair. Allowable Range: 1 to 500
Std Ratio (nSigma) - Standard Deviation Multiplier Threshold:
Function: Sets the sensitivity threshold for deletion. Any point whose mean distance to its neighbors is greater than the global mean distance plus times the standard deviation is removed. Adjustment: Lower values (e.g., 0.5–0.8) are more aggressive and will remove more floaters; higher values (e.g., 2.0–3.0) are more conservative, keeping points unless they are extremely isolated. Allowable Range: 0.01 to 10
Presets Conservative: k=30 & nSigma= 2.0 Balanced: k=20 & nSigma= 1.5 Aggressive: k=10 & nSigma= 1.0
SOR - Statistical Outlier Removal - There two parts to the Plugin:
- Run SOR on an existing 3dGS PLY file - the code is currently 'attached' to the bottom of the "Rendering" tab. I have coded the process to ONLY split: so you get to Isolate and inspect before deleting. This means you can crop etc on the outliers & then merge the model-splits back into one single model. When 'merging' you can enter the name you want in the input box. If you have multiple models in the Scene you can 'isolate' only those you want to work with simply by changing the visibility - SOR will only process the visible ones. I'm not sure what the max count capacity is.
2A) COLMAP Points3D.txt/bin editor: This is appended to the bottom of the "Training" Tab and allows pre-processing of the bin/txt point files - there are no graphics . Culling uses the same SOR as above & cropping is on an AABB system or sphere. Before cropping you can interrogate the file (sphere sample given) - This doesn't prefill in the inputs though. After crop or crop/sor it will save to bin/txt file & a bak file is made.
2B) Edit COLMAP (GUI editor) This is appended to the bottom of the "Training" Tab (Upper) - Allows for scale/rotation/translation & cropping but no SOR.