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)
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
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
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
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
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