Ejemplo n.º 1
0
def test_band_no_overlap():
    header_filename = os.path.join(TESTDATA_DIR, CUBE_HEADER)
    header = fits.Header.fromtextfile(header_filename)
    header.append(('RESTFRQ', 1.420406E9))

    energy = Energy(212.0, 213.0)

    test_subject = Transform()
    try:
        test_subject.get_energy_cutout_pixels(energy, header, 3)
        assert False, 'Should raise NoContentError'
    except NoContentError as e:
        assert isinstance(e, NoContentError)
Ejemplo n.º 2
0
def test_get_energy_cutout_pixels_cgps_raises_error():
    """
        CPGS cube lacks rest wavelength or frequency for wcslib
        to do the transform from VELO-LFR to WAVE-???, and the
        python wcslib wrapper will raise a ValueError.

    """
    header_filename = os.path.join(TESTDATA_DIR, CGPS_4D_CUBE_HEADER)
    header = fits.Header.fromtextfile(header_filename)

    energy = Energy(211.0e-3, 211.05e-3)

    test_subject = Transform()
    try:
        test_subject.get_energy_cutout_pixels(energy, header, 3)
        assert False, 'Should raise ValueError.'
    except ValueError:
        assert True
Ejemplo n.º 3
0
def test_band_tiled_multi_chunk():
    header_filename = os.path.join(TESTDATA_DIR, TILED_MULTICHUNK_HEADER)
    header = fits.Header.fromtextfile(header_filename)

    energy = Energy(371.0e-9, 372.0e-9)

    test_subject = Transform()
    pixels = test_subject.get_energy_cutout_pixels(energy, header, 3)
    assert pixels is not None
    assert len(pixels) == 2
    # SODA returns [0][1:2724,1:3]
    assert pixels[0] == 1
    assert pixels[1] == 2724
Ejemplo n.º 4
0
def test_get_energy_cutout_pixels_jcmt():
    header_filename = os.path.join(TESTDATA_DIR, JCMT_3D_CUBE_HEADER)
    header = fits.Header.fromtextfile(header_filename)

    # cdelt3 from caom2: 3.05140426249E-5
    header.append(('CDELT3', 3.05140426249E-5))

    energy = Energy(0.00091067, 0.00091012)

    test_subject = Transform()
    pixels = test_subject.get_energy_cutout_pixels(energy, header, 3)

    # caom2ops returns cutout=[0][*,*,290:6810]&cutout=[1][*,*,290:6810]
    assert pixels is not None
    assert len(pixels) == 2
    assert pixels[0] == 290
    assert pixels[1] == 6810
Ejemplo n.º 5
0
def test_get_energy_cutout_pixels_vlass():
    """
    BAND 0.04456576 0.11662493
    cutout=[1:2]
    """
    header_filename = os.path.join(TESTDATA_DIR, VLASS_4D_CUBE_HEADER)
    header = fits.Header.fromtextfile(header_filename)

    energy = Energy(0.04456576, 0.11662493)

    test_subject = Transform()
    pixels = test_subject.get_energy_cutout_pixels(energy, header, 3)

    # SODA returns cutout=[0][*,*,1:2,*]
    # library returns (before clipping) [2.79849082, 0.79277332] pixels
    assert pixels is not None
    assert len(pixels) == 2
    assert pixels[0] == 1
    assert pixels[1] == 3
Ejemplo n.º 6
0
def test_band():
    header_filename = os.path.join(TESTDATA_DIR, CUBE_HEADER)
    header = fits.Header.fromtextfile(header_filename)
    header.append(('RESTFRQ', 1.420406E9))

    # energy from caom2
    # bandpassName: 21 cm
    # resolvingPower: null
    # specsys: LSRK
    # ssysobs: null
    # restfrq: 1.420406E9
    # restwav: null
    # velosys: null
    # zsource: null
    # ssyssrc: null
    # velang: null
    # ctype: VRAD
    # cunit: m/s
    # syser:
    # rnder:
    # naxis: 272
    # crpix: 145.0
    # crval: -60000.0
    # cdelt: -824.46002
    # bounds: null
    # range: null

    energy = Energy(211.0e-3, 211.05e-3)

    test_subject = Transform()
    pixels = test_subject.get_energy_cutout_pixels(energy, header, 3)
    assert pixels is not None
    assert len(pixels) == 2
    # SODA returns [0][*,*,91:177,*]
    assert pixels[0] == 91
    assert pixels[1] == 178