Esempio n. 1
0
 def test_linesample(self):
     data = np.fromfunction(lambda y, x: y * x, (40, 40))
     rows = np.array([[1, 2], [3, 4]])
     cols = np.array([[25, 26], [27, 28]])
     res = grid.get_image_from_linesample(rows, cols, data)
     expected = np.array([[25., 52.], [81., 112.]])
     self.assertTrue(np.array_equal(res, expected), 'Linesample failed')
Esempio n. 2
0
 def test_linesample(self):
     data = np.fromfunction(lambda y, x: y * x, (40, 40))
     rows = np.array([[1, 2], [3, 4]])
     cols = np.array([[25, 26], [27, 28]])
     res = grid.get_image_from_linesample(rows, cols, data)
     expected = np.array([[25., 52.], [81., 112.]])
     self.assertTrue(np.array_equal(res, expected), 'Linesample failed')
Esempio n. 3
0
 def test_linesample_multi(self):
     data1 = np.fromfunction(lambda y, x: y * x, (40, 40))
     data2 = np.fromfunction(lambda y, x: 2 * y * x, (40, 40))
     data3 = np.fromfunction(lambda y, x: 3 * y * x, (40, 40))
     data = np.zeros((40, 40, 3))
     data[:, :, 0] = data1
     data[:, :, 1] = data2
     data[:, :, 2] = data3
     rows = np.array([[1, 2], [3, 4]])
     cols = np.array([[25, 26], [27, 28]])
     res = grid.get_image_from_linesample(rows, cols, data)
     expected = np.array([[[25., 50., 75.], [52., 104., 156.]],
                          [[81., 162., 243.], [112., 224., 336.]]])
     self.assertTrue(np.array_equal(res, expected), 'Linesample failed')
Esempio n. 4
0
 def test_linesample_multi(self):
     data1 = np.fromfunction(lambda y, x: y * x, (40, 40))
     data2 = np.fromfunction(lambda y, x: 2 * y * x, (40, 40))
     data3 = np.fromfunction(lambda y, x: 3 * y * x, (40, 40))
     data = np.zeros((40, 40, 3))
     data[:, :, 0] = data1
     data[:, :, 1] = data2
     data[:, :, 2] = data3
     rows = np.array([[1, 2], [3, 4]])
     cols = np.array([[25, 26], [27, 28]])
     res = grid.get_image_from_linesample(rows, cols, data)
     expected = np.array([[[25., 50., 75.],
                           [52., 104., 156.]],
                          [[81., 162., 243.],
                           [112.,  224.,  336.]]])
     self.assertTrue(np.array_equal(res, expected), 'Linesample failed')
Esempio n. 5
0
    def get_array_from_linesample(self, row_indices, col_indices):
        """Get array sampled from image based on index arrays.

        Parameters
        ----------
        row_indices : numpy array
            Row indices. Dimensions must match col_indices
        col_indices : numpy array
            Col indices. Dimensions must match row_indices

        Returns
        -------
        image_data : numpy_array
            Resampled image data
        """
        if self.geo_def.ndim != 2:
            raise TypeError('Resampling from linesamples only makes sense '
                            'on 2D data')

        return grid.get_image_from_linesample(row_indices, col_indices,
                                              self.image_data, self.fill_value)
Esempio n. 6
0
    def get_array_from_linesample(self, row_indices, col_indices):
        """Samples from image based on index arrays.

        Parameters
        ----------
        row_indices : numpy array
            Row indices. Dimensions must match col_indices
        col_indices : numpy array
            Col indices. Dimensions must match row_indices

        Returns
        -------
        image_data : numpy_array
            Resampled image data
        """

        if self.geo_def.ndim != 2:
            raise TypeError('Resampling from linesamples only makes sense '
                            'on 2D data')

        return grid.get_image_from_linesample(row_indices, col_indices,
                                              self.image_data,
                                              self.fill_value)