Clean Edge Selectiontool

I noticed during scanning that when you scan an object from multiple sides, i.e., make several scans and then merge them at the end, it results in unclean transitions. You can see it here in the picture:

So, I conducted a test and trimmed the outer edges in the individual scans. These were quite noisy because the light or the camera of the scanner is very weak there.


The result is convincing! And I believe that if you always do this, even normal scans will benefit from it. It’s better to cut off some noise and later add it back using the hole-filling function, rather than creating a mesh with a noisy point cloud.

Here is the result:

Therefore, I have a request or a suggestion: Create a function in the menu that allows you to select the outer edge of a point cloud with one click. There should also be an option to set how much the edge should be moved inward by a percentage. Then, once everything is selected, you can create a clean edge with the delete key and produce even better scans!

I have also made an POC script here, here’s the result in 2D:

Heres the Code for that, i may help your coders to understand, the math behind can be readed in the SciPy Docs wich Release them to http://www.qhull.org/

from scipy.interpolate import splprep, splev
from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt

# Options for Revoscan User
move_inner_percent = 5

# Example Pointcloud
np.random.seed(0)
points = np.random.rand(30, 2) * 2 - 1 

# Find outer contour (Convex Hull)
hull = ConvexHull(points)
hull_points = points[hull.vertices]

# Move 5% to inner
move_factor = 1 - move_inner_percent / 100
hull_center = np.mean(hull_points, axis=0)
hull_points_shifted = hull_center + move_factor * (hull_points - hull_center)

# Plot
plt.figure(figsize=(10, 5))
plt.plot(points[:,0], points[:,1], "o", label="Pointcloud")
plt.plot(hull_points[:,0], hull_points[:,1], "r--", label="Original Contour")
plt.plot(hull_points_shifted[:,0], hull_points_shifted[:,1], "g--", label="New Contour")
plt.legend()
plt.title("Poincloud with Contours")
plt.show()
2 Likes

You should clean cut all the edges before merging it , removing all lose point and overlapping points .
The edges have slightly different accuracy due to scanning angles and need to be eliminated .

That the reason you get messy results …
Script is good but proper workflow is also important .

The merging function also have a bug , as it should clean all extra overlapped points while merging and it do not perform the way it should on top of it , so cleaning after merging is nesesery to get rid of it as well .

1 Like

I absolutely agree, Cath, still I didn’t see this advice or instruction on merging nowhwere, but I might have overlooked it, too. If not, until such a great function like @SphaeroX suggests gets implemented it would be great to include it on some official Revopoint tutorial on youtube regarding “tipps and tricks for great results”.:slightly_smiling_face:

Hi Ivan , I made tutorial for Revo Studio how to prepare scans for merging a time ago .

I talked about many times since then , if the merge bug get fixed there is not really needs in additional scripts if the models are prepared the proper way , the issue with the edges is also a bug so a temporary situation .

It will be easier to fix the bug in place of keep the bug and working on another solution instead .

It is already there , it just need to be fixed .
One bug is in the capturing algorithms and another under the merging function .

I am pretty aware of it for some time and dev.team already working on the fixations

1 Like

Hi! as they are meanwhile plenty of revopoint tutorials, could you pleasw link to that specific video? Otherwise I would regret having missed one of your precious lections :slightly_smiling_face: TIA!:pray:

Go to my YT channel , we don’t post old software videos in the forum anymore as it confuse users , only RS5 from now on , so I guess I need to make new one reflecting the last software .

The second video after Range

1 Like

cool, thanks, I wasn’t sure where I should look for it , on your channel or revopoint’s :pray:

Is there a recent version that doesn’t have these bugs? I think you mentioned it was a regression of sorts.

Recent ? not really … it is back and forth and I really don’t remember the exact version. However it has to be fixed ASAP

1 Like

I’ve observed this same thing, and I also thought that trimming the borders would be a great way of fixing it. I feel like in previous versions this edge noise didn’t happen, or it was greatly removed when passing the isolation filter.

However, lately, I feel like the scans are noisier. It must be because of what PUTV has shared. I hope they fix it soon!