コード例 #1
0
ファイル: grids.py プロジェクト: AshKelly/PyAutoLens
 def unmasked_sparse_to_sparse(self):
     """The 1D index mappings between the unmasked sparse-grid and masked sparse grid."""
     return mapping_util.unmasked_sparse_to_sparse_from_mask_and_pixel_centres(
         mask=self.regular_grid.mask,
         unmasked_sparse_grid_pixel_centres=self.
         unmasked_sparse_grid_pixel_centres,
         total_sparse_pixels=self.total_sparse_pixels).astype('int')
コード例 #2
0
    def test__same_as_above__different_mask_and_centres(self):

        ma = mask.Mask(array=np.array([[False, False, True],
                                       [False, False, False],
                                       [True, False, False]]),
                       pixel_scale=1.0)

        unmasked_sparse_grid_pixel_centres = np.array([[0, 0], [0, 1], [0, 2],
                                                       [0, 2], [0, 2], [1, 1]])

        unmasked_sparse_to_sparse = mapping_util.unmasked_sparse_to_sparse_from_mask_and_pixel_centres(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres,
            total_sparse_pixels=4)

        assert (unmasked_sparse_to_sparse == np.array([0, 1, 2, 2, 2,
                                                       2])).all()
コード例 #3
0
    def test__mask_is_cross__some_pix_pixels_are_masked__omitted_from_mapping(
            self):

        ma = mask.Mask(array=np.array([[True, False, True],
                                       [False, False, False],
                                       [True, False, True]]),
                       pixel_scale=1.0)

        unmasked_sparse_grid_pixel_centres = np.array \
            ([[0 ,0], [0 ,1], [0 ,2], [1 ,0], [1 ,1], [1 ,2], [2 ,0], [2 ,1], [2 ,2]])

        unmasked_sparse_to_sparse = mapping_util.unmasked_sparse_to_sparse_from_mask_and_pixel_centres(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres,
            total_sparse_pixels=5)

        assert (unmasked_sparse_to_sparse == np.array(
            [0, 0, 1, 1, 2, 3, 4, 4, 4])).all()
コード例 #4
0
    def test__mask_full_false__image_mask_and_pixel_centres_fully_overlap__each_pix_maps_to_unmaked_pix(
            self):

        ma = mask.Mask(array=np.array([[False, False, False],
                                       [False, False, False],
                                       [False, False, False]]),
                       pixel_scale=1.0)

        unmasked_sparse_grid_pixel_centres = np.array \
            ([[0 ,0], [0 ,1], [0 ,2], [1 ,0], [1 ,1], [1 ,2], [2 ,0], [2 ,1], [2 ,2]])

        unmasked_sparse_to_sparse = mapping_util.unmasked_sparse_to_sparse_from_mask_and_pixel_centres(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres,
            total_sparse_pixels=9)

        assert (unmasked_sparse_to_sparse == np.array(
            [0, 1, 2, 3, 4, 5, 6, 7, 8])).all()
コード例 #5
0
    def test__same_as_above__but_remove_some_centre_pixels_and_change_order__order_does_not_change_mapping(
            self):

        ma = mask.Mask(array=np.array([[False, False, False],
                                       [False, False, False],
                                       [False, False, False]]),
                       pixel_scale=1.0)

        unmasked_sparse_grid_pixel_centres = np.array([[0, 0], [0, 1], [2, 2],
                                                       [1, 1], [0, 2], [2, 0],
                                                       [0, 2]])

        unmasked_sparse_to_sparse = mapping_util.unmasked_sparse_to_sparse_from_mask_and_pixel_centres(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres,
            total_sparse_pixels=9)

        assert (unmasked_sparse_to_sparse == np.array([0, 1, 2, 3, 4, 5,
                                                       6])).all()