Hi guys, I want to thank you in advance for you help. I have a point cloud of an object, separated by axis:
points = [x, y, z];
which when plotted on a scatter contain some outliers that I want to get rid of.
I've already got a distance matrix of the point set using the following code:
distanceMatrix = squareform(pdist(points, 'euclidean'));
I can use logical indexing to remove distances beyond a certain standard deviation (I'm using 1 here),
newDistanceM = distanceMatrix>mean(mean(distanceMatrix))+1*std(std(distanceMatrix));
Where I am having trouble is using newDistanceM to filter out the points that are outliers in my original set. It's probably really simple to do this but I'm not seeing it.
Any help on this is, of course, greatly appreciated and if anybody has a better/more robust way of achieving what I describe, I very much welcome the feedback.
Cheers

댓글 수: 2

Are you sure you are calculating the correct distance? If you need the distance of each point to the origin than you should use:
points = rand(50,3);
distance = sqrt(sum(points.^2,2));
indices = distance<(mean(distance)+std(distance)); %note I use smaller than instead of bigger
remainingPoints = points(indices,:);
jay
jay 2016년 4월 18일
thanks for this comment, it's helped me correct what I was doing. Cheers!

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2016년 4월 18일

0 개 추천

Brett uploaded an outlier removal tool that uses Grubbs test: http://www.mathworks.com/matlabcentral/fileexchange/3961-deleteoutliers
I tend to like the median absolute deviation. Compute distances from the centroid (mean x, y, z) and get rid of points where the distance is greater than some factor times the MAD value.
Attached is an example of how to use MAD to get rid of Salt and Pepper noise.

댓글 수: 1

jay
jay 2016년 4월 18일
Thanks for the attached file, it was very infromative!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Fit Postprocessing에 대해 자세히 알아보기

질문:

jay
2016년 4월 18일

댓글:

jay
2016년 4월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by