Example #1
0
def test_default_plane():
    # Ensure that a default Plane creates an object that won't have any
    # impact on an optical system (a perfect optic with no phase change and
    # perfect optical and spectral transmission).

    p = lentil.Plane()
    assert p.pixelscale is None
    assert np.all(p.amplitude == 1)
    assert np.all(p.phase == 0)
    assert p.mask == p.amplitude
    assert p.segmask is None
    assert p.nseg == 0
Example #2
0
def test_set_plane_attrs_none():
    p = lentil.Plane(pixelscale=1, amplitude=1, phase=0, mask=1, segmask=1)
    p.pixelscale = None
    p.amplitude = None
    p.phase = None
    p.mask = None
    p.segmask = None

    assert p.pixelscale is None
    assert p.amplitude is None
    assert p.phase is None
    assert p.mask is None
    assert p.segmask is None
    assert p.shape is None
Example #3
0
def test_iterable_segmask_all_none():
    p1 = lentil.Plane()
    p2 = lentil.Plane()
    iterable_segmask = lentil.modeltools.iterable_segmask([p1, p2])
    assert iterable_segmask is None
Example #4
0
def test_iterable_segmask_default():
    p1 = lentil.Plane()
    p2 = RandomPlane()
    iterable_segmask = lentil.modeltools.iterable_segmask([p1, p2])
    assert np.array_equal(iterable_segmask, p2.segmask)
Example #5
0
def test_iterable_phase_default():
    p1 = lentil.Plane()
    p2 = RandomPlane()
    iterable_phase = lentil.modeltools.iterable_phase([p1, p2])
    assert np.array_equal(iterable_phase, p1.phase + p2.phase)
Example #6
0
def test_iterable_amplitude_default():
    p1 = lentil.Plane()
    p2 = RandomPlane()
    iterable_amplitude = lentil.modeltools.iterable_amplitude([p1, p2])
    assert np.array_equal(iterable_amplitude, p1.amplitude * p2.amplitude)