예제 #1
0
 def sparse_to_unmasked_sparse(self):
     """The 1D index mappings between the masked sparse-grid and unmasked sparse grid."""
     return mapping_util.sparse_to_unmasked_sparse_from_mask_and_pixel_centres(
         total_sparse_pixels=self.total_sparse_pixels,
         mask=self.regular_grid.mask,
         unmasked_sparse_grid_pixel_centres=self.
         unmasked_sparse_grid_pixel_centres).astype('int')
예제 #2
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]])

        total_masked_pixels = mask_util.total_sparse_pixels_from_mask(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        sparse_to_unmasked_sparse = mapping_util.sparse_to_unmasked_sparse_from_mask_and_pixel_centres(
            total_sparse_pixels=total_masked_pixels,
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        assert (sparse_to_unmasked_sparse == np.array([0, 1, 2, 3, 4, 5,
                                                       6])).all()
예제 #3
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]])

        total_masked_pixels = mask_util.total_sparse_pixels_from_mask(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        sparse_to_unmasked_sparse = mapping_util.sparse_to_unmasked_sparse_from_mask_and_pixel_centres(
            total_sparse_pixels=total_masked_pixels,
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        assert (sparse_to_unmasked_sparse == np.array([0, 1, 5])).all()
예제 #4
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]])

        total_masked_pixels = mask_util.total_sparse_pixels_from_mask(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        sparse_to_unmasked_sparse = mapping_util.sparse_to_unmasked_sparse_from_mask_and_pixel_centres(
            total_sparse_pixels=total_masked_pixels,
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        assert (sparse_to_unmasked_sparse == np.array([1, 3, 4, 5, 7])).all()
예제 #5
0
    def test__mask_full_false__image_mask_and_pixel_centres_fully_overlap__each_sparse_maps_to_unmaked_sparse(
            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]])

        total_masked_pixels = mask_util.total_sparse_pixels_from_mask(
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

        sparse_to_unmasked_sparse = mapping_util.sparse_to_unmasked_sparse_from_mask_and_pixel_centres(
            total_sparse_pixels=total_masked_pixels,
            mask=ma,
            unmasked_sparse_grid_pixel_centres=
            unmasked_sparse_grid_pixel_centres)

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