def test_load(deimos_flat_files, kast_blue_bias_files):
    # DEIMOS
    deimos_flats = processimages.ProcessImages('keck_deimos', par, files=deimos_flat_files)
    # Load
    deimos_flats.load_images()
    # Test
    assert deimos_flats.nloaded == 2
    assert deimos_flats.steps == ['load_images']

    # Kast blue
    kastb_bias = processimages.ProcessImages('shane_kast_blue', par, files=kast_blue_bias_files)
    # Load
    kastb_bias.load_images()
    # Check datasec
    assert kastb_bias.datasec[0][0][0] == slice(0,1024,None)
def test_bias_subtract(deimos_flat_files):
    # DEIMOS
    deimos_flats = processimages.ProcessImages('keck_deimos', par, files=deimos_flat_files)
    # Load
    deimos_flats.load_images()
    # Bias subtract (and trim)
    deimos_flats.bias_subtract('overscan')
    # Test
    assert isinstance(deimos_flats.proc_images, np.ndarray)
    assert deimos_flats.proc_images.shape == (4096,2048,2)
def test_combine(deimos_flat_files):
    # DEIMOS
    deimos_flats = processimages.ProcessImages('keck_deimos', par, files=deimos_flat_files)
    # Load
    deimos_flats.load_images()
    # Bias subtracgt
    deimos_flats.bias_subtract('overscan')
    # Combine
    stack = deimos_flats.combine()
    # Test
    assert isinstance(deimos_flats.stack, np.ndarray)
    assert deimos_flats.stack.shape == (4096,2048)
def test_instantiate():
    proc_img = processimages.ProcessImages('shane_kast_blue', par)
    assert proc_img.nfiles == 0