Commit 9799bf2e authored by Adam Paquette's avatar Adam Paquette
Browse files

further investigation into spatial suppresion

parent 7db7968d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -192,13 +192,12 @@ class SpatialSuppression(Observable):
        if self.k > len(self.df):
            warnings.warn('Only {} valid points, but {} points requested'.format(len(self.df), self.k))
            self.k = len(self.df)
        search_space = np.linspace(self.min_radius, self.max_radius / 16, 250)
        search_space = np.linspace(self.min_radius, self.max_radius, 250)
        cell_sizes = (search_space / math.sqrt(2)).astype(np.int)
        min_idx = 0
        max_idx = len(search_space) - 1
        while True:
            mid_idx = int((min_idx + max_idx) / 2)
            r = search_space[mid_idx]

            cell_size = cell_sizes[mid_idx]
            n_x_cells = int(self.domain[0] / cell_size)
+10 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ import pandas as pd
sys.path.append(os.path.abspath('..'))

from .. import matcher, outlier_detector

from autocnet.matcher.outlier_detector import SpatialSuppression

class TestOutlierDetector(unittest.TestCase):

@@ -94,3 +94,12 @@ class TestSpatialSuppression(unittest.TestCase):
        self.suppression_obj.suppress()
        self.assertIn(self.suppression_obj.mask.sum(), list(range(27, 34)))

    def spatial_suppression_testing(self):
        r = np.random.RandomState(12345)
        df = pd.DataFrame(r.uniform(0,1,(500, 3)), columns=['x', 'y', 'strength'])
        minimum = SpatialSuppression(df, (1,1), k = 1)

        minimum.suppress()
        df.plot(kind = 'scatter', x = 'x', y = 'y')

+19 −92

File changed.

Preview size limit exceeded, changes collapsed.