Ejemplo n.º 1
0
            def test__y_size_smaller_than_data__raises_error(self):
                data = np.ones((5, 5))
                data[2, 2] = 2.0

                data = image.Image(data, pixel_scale=0.1)

                with pytest.raises(ValueError):
                    assert image.trim(data, pixel_dimensions=(8, 3))
Ejemplo n.º 2
0
            def test__trimmed_4x5_to_2x3(self):
                data = np.ones((4, 5))
                data[1:3, 2] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(2, 3))

                assert (data == np.array([[1.0, 2.0, 1.0],
                                                [1.0, 2.0, 1.0]])).all()

                assert data.shape == (2, 3)
                assert data.central_pixel_coordinates == (0.5, 1.0)
                assert data.shape_arc_seconds == pytest.approx((0.2, 0.3), 1e-3)
Ejemplo n.º 3
0
            def test__trimmed_4x4_to_2x2(self):
                data = np.ones((4, 4))
                data[1:3, 1:3] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(2, 2))

                assert (data == np.array([[2.0, 2.0],
                                                [2.0, 2.0]])).all()

                assert data.shape == (2, 2)
                assert data.central_pixel_coordinates == (0.5, 0.5)
                assert data.shape_arc_seconds == pytest.approx((0.2, 0.2), 1e-3)
Ejemplo n.º 4
0
            def test__trimmed_5x5_to_2x2__goes_to_3x3_to_keep_symmetry(self):
                data = np.ones((5, 5))
                data[2, 2] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(2, 2))

                assert (data == np.array([[1.0, 1.0, 1.0],
                                                [1.0, 2.0, 1.0],
                                                [1.0, 1.0, 1.0]])).all()

                assert data.shape == (3, 3)
                assert data.central_pixel_coordinates == (1.0, 1.0)
                assert data.shape_arc_seconds == pytest.approx((0.3, 0.3), 1e-3)
Ejemplo n.º 5
0
            def test__trimmed_7x7_to_3x3(self):
                data = np.ones((7, 7))
                data[3, 3] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(3, 3))

                assert (data == np.array([[1.0, 1.0, 1.0],
                                                [1.0, 2.0, 1.0],
                                                [1.0, 1.0, 1.0]])).all()

                assert data.shape == (3, 3)
                assert data.central_pixel_coordinates == (1.0, 1.0)
                assert data.shape_arc_seconds == pytest.approx((0.3, 0.3), 1e-3)
Ejemplo n.º 6
0
            def test__trimmed_6x6_to_3x3_goes_to_4x4_to_keep_symmetry(self):
                data = np.ones((6, 6))
                data[2:4, 2:4] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(3, 3))

                assert (data == np.array([[1.0, 1.0, 1.0, 1.0],
                                                [1.0, 2.0, 2.0, 1.0],
                                                [1.0, 2.0, 2.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0]])).all()

                assert data.shape == (4, 4)
                assert data.central_pixel_coordinates == (1.5, 1.5)
                assert data.shape_arc_seconds == pytest.approx((0.4, 0.4), 1e-3)
Ejemplo n.º 7
0
            def test__trimmed_11x11_to_5x5(self):
                data = np.ones((11, 11))
                data[5, 5] = 2.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(5, 5))

                assert (data == np.array([[1.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 2.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0, 1.0]])).all()

                assert data.shape == (5, 5)
                assert data.central_pixel_coordinates == (2.0, 2.0)
                assert data.shape_arc_seconds == pytest.approx((0.5, 0.5), 1e-3)
Ejemplo n.º 8
0
            def test__trimmed_5x4_to_4x3__goes_to_5x4_to_keep_symmetry(self):
                data = np.ones((5, 4))
                data[2, 1:3] = 2.0
                data[4, 3] = 9.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(4, 3))

                assert (data == np.array([[1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0],
                                                [1.0, 2.0, 2.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 9.0]])).all()

                assert data.shape == (5, 4)
                assert data.central_pixel_coordinates == (2, 1.5)
                assert data.shape_arc_seconds == pytest.approx((0.5, 0.4), 1e-3)
Ejemplo n.º 9
0
            def test__trimmed_12x12_to_5x5__goes_to_6x6_to_keep_symmetry(self):
                data = np.ones((12, 12))
                data[5:7, 5:7] = 2.0
                data[4, 4] = 9.0

                data = image.Image(data, pixel_scale=0.1)
                data = image.trim(data, pixel_dimensions=(5, 5))

                assert (data == np.array([[1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 9.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 2.0, 2.0, 1.0, 1.0],
                                                [1.0, 1.0, 2.0, 2.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
                                                [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]])).all()

                assert data.shape == (6, 6)
                assert data.central_pixel_coordinates == (2.5, 2.5)
                assert data.shape_arc_seconds == pytest.approx((0.6, 0.6), 1e-3)
Ejemplo n.º 10
0
def prepare_image(img_data):
    """Trim off non-image data."""
    pil_img = image.data_to_pil(img_data)
    pil_img_trimmed = image.trim(pil_img, top_px=16, bottom_px=14)
    return image.pil_to_data(pil_img_trimmed)
Ejemplo n.º 11
0
 def test__array(self):
     data = np.ones((3, 3))
     assert image.trim(data, pixel_dimensions=(1, 1)).__class__ == np.ndarray
Ejemplo n.º 12
0
 def test__noise(self):
     data = image.Noise.from_array(np.ones((3, 3)))
     assert image.trim(data, pixel_dimensions=(1, 1)).__class__ == image.Noise
Ejemplo n.º 13
0
 def test__image(self):
     data = image.Image(np.ones((3, 3)), pixel_scale=0.1)
     assert image.trim(data, pixel_dimensions=(1, 1)).__class__ == image.Image
Ejemplo n.º 14
0
def prepare_image(img_data):
    """Trim off non-image data."""
    pil_img = image.data_to_pil(img_data)
    pil_img_trimmed = image.trim(pil_img, top_px=16, bottom_px=14)
    return image.pil_to_data(pil_img_trimmed)