我有兩組點A和B。查找範圍內的所有點到另一個集合的任意點
我想找到的所有點在乙在一定範圍ř到甲,其中a點b在乙被說成是在範圍之內ř到A內該如果至少有一個點aA其(歐幾里德)距離爲b等於或小於r。這兩組點都是連貫的一組點。它們是從兩個非重疊對象的體素位置生成的。
在1D這個問題相當簡單:內乙 [分鐘(一個) - [R MAX(一個)+ [R]的所有點
但我在3D。
這樣做的最好方法是什麼?
我目前,使用範圍內的一些KNN算法(即MATLAB的rangesearch),然後團結所有這些設置重複搜索的每一個點在一個所有點B中。但我有一種感覺,應該有更好的方式來做到這一點。我更喜歡matlab中的高級別/矢量化解決方案,但僞代碼也可以:)
我還想過將所有點寫入圖像,並在半徑爲r的對象A上使用圖像擴大。但這聽起來像是一個開銷。
謝謝。那正是我所期待的。它將每個案件的運行時間從46秒縮短到10秒。 –
@YAK非常歡迎您,我很高興我可以提供幫助。 – amit
@YAK是否可以共享這樣做的代碼,因爲我真的需要它? – Tak