Exemple #1
0
 def test_sample_nearest_skewed(self):
     grid = RegularGrid([0.0, 0.0, 1.0, 1.0, 0.5, 0.2],
                        values=np.array([[0, 1], [1, 0.5]]))
     self.assertEqual(grid.sample_nearest(1, 0.75), 0.0)
     self.assertEqual(grid.sample_nearest(1.5, 1.05), 1.0)
     self.assertEqual(grid.sample_nearest(1.2, 1.4), 1.0)
     self.assertEqual(grid.sample_nearest(2.0, 1.7), 0.5)
Exemple #2
0
 def test_sample_nearest(self):
     grid = RegularGrid([0.0, 0.0, 1.0, 1.0, 0.0, 0.0],
                        values=np.array([[0, 1], [1, 0.5]]))
     self.assertEqual(grid.sample_nearest(0.6, 0.7), 0.0)
     self.assertEqual(grid.sample_nearest(0.6, 1.3), 1.0)
     self.assertEqual(grid.sample_nearest(1.4, 0.3), 1.0)
     self.assertEqual(grid.sample_nearest(1.6, 1.3), 0.5)
Exemple #3
0
 def test_sample_nearest_out_of_bounds(self):
     g = RegularGrid([0, 0, 1, 1, 0, 0], values=np.ones((10, 10)))
     v = g.sample_nearest(np.array([7, 9, 12, 15]), np.array([3, 1, -1, 1]))
     self.assertEqual(v[0][0], 1.0)
     self.assertEqual(v[0][1], 1.0)
     self.assertTrue(np.isnan(v[0][2]))
     self.assertTrue(np.isnan(v[0][3]))
Exemple #4
0
    def test_sample_nearest_array_order(self):
        grid = RegularGrid((0, 0, 1, 1, 0, 0),
                           values=np.dstack([
                               np.ones((64, 64)), 2 * np.ones((64, 64)),
                               3 * np.ones((64, 64))
                           ]))

        X, Y = np.meshgrid(np.arange(2, 10), np.arange(5, 13))
        val = grid.sample_nearest(X, Y)
        self.assertEqual(val[0, 0, 0], 1.0)
        self.assertEqual(val[1, 0, 0], 2.0)
        self.assertEqual(val[2, 0, 0], 3.0)
Exemple #5
0
 def test_sample_nearest_array(self):
     grid = RegularGrid([0.0, 0.0, 1.0, 1.0, 0.0, 0.0],
                        values=np.arange(64).reshape([8, 8]))
     X, Y = np.meshgrid(np.arange(1, 7, 0.5), np.arange(2, 5, 0.25))
     res = grid.sample_nearest(X, Y)
     self.assertEqual(res.shape, (1, 12, 12))