def test_sres_ext(): file = remote_data_file(filename=MaNGARSS.build_file_name(7815, 3702, log=True)) hdu = fits.open(file) assert MaNGARSS.spectral_resolution_extension(hdu) == 'LSFPRE', \ 'Bad spectral resolution extension selection' assert MaNGARSS.spectral_resolution_extension(hdu, ext='SPECRES') == 'SPECRES', \ 'Bad spectral resolution extension selection' assert MaNGARSS.spectral_resolution_extension(hdu, ext='junk') is None, \ 'Should return None for a bad extension name.'
def test_read(): rss = MaNGARSS.from_plateifu(7815, 3702, directory_path=remote_data_file()) assert rss.file_name == MaNGARSS.build_file_name(rss.plate, rss.ifudesign, log=rss.log), \ 'Name mismatch' assert rss.log, 'Should read the log-binned version by default.' assert len(rss.shape) == 2, 'Row-stacked spectra are 2D' assert rss.shape == (rss.nspec, rss.nwave), 'Shape mismatch' assert rss.sres is not None, 'Spectral resolution data was not constructed.' assert rss.sres_ext == 'LSFPRE', 'Should default to LSFPRE extension.' assert rss.xpos.shape == rss.shape, 'On-sky coordinates are wavelength-dependent' assert numpy.all(rss.area == numpy.pi), 'Area is pi square arcsec' assert rss.area.shape == (rss.nspec,), 'Area is wavelength-independent' assert numpy.all(numpy.absolute(numpy.asarray(rss.pointing_offset())) < 0.01), \ 'Pointing offset for this observation should be small.'