def test_pickling_only_cube_file(self, temp_scratch, galaxy): if galaxy.bintype.name != 'SPX': pytest.skip("Can't instantiate a Spaxel from a binned Maps.") cube = Cube(filename=galaxy.cubepath) maps = Maps(filename=galaxy.mapspath) spaxel = cube.getSpaxel(1, 3, properties=maps, models=False) file = temp_scratch.join('test_spaxel.mpf') path_saved = spaxel.save(str(file), overwrite=True) assert file.check() is True assert os.path.exists(path_saved) del spaxel spaxel_restored = SpaxelBase.restore(str(file)) assert spaxel_restored is not None assert isinstance(spaxel_restored, SpaxelBase) assert spaxel_restored._cube is not None assert spaxel_restored._cube.data_origin == 'file' assert isinstance(spaxel_restored._cube.data, astropy.io.fits.HDUList) assert spaxel_restored._maps is not None assert spaxel_restored._maps.data_origin == 'file' assert isinstance(spaxel_restored._maps.data, astropy.io.fits.HDUList)
def test_pickling_all_api(self, temp_scratch, galaxy): drpver, __ = config.lookUpVersions() cube = Cube(plateifu=galaxy.plateifu, mode='remote') maps = Maps(plateifu=galaxy.plateifu, mode='remote') modelcube = ModelCube(plateifu=galaxy.plateifu, mode='remote') spaxel = cube.getSpaxel(1, 3, properties=maps, models=modelcube) assert spaxel._cube.data_origin == 'api' assert spaxel._maps.data_origin == 'api' assert spaxel._modelcube.data_origin == 'api' file = temp_scratch.join('test_spaxel_api.mpf') path_saved = spaxel.save(str(file), overwrite=True) assert file.check() is True assert os.path.exists(path_saved) del spaxel spaxel_restored = SpaxelBase.restore(str(file)) assert spaxel_restored is not None assert isinstance(spaxel_restored, SpaxelBase) assert spaxel_restored._cube is not None assert isinstance(spaxel_restored._cube, Cube) assert spaxel_restored._cube.data_origin == 'api' assert spaxel_restored._cube.data is None assert spaxel_restored._cube.header['VERSDRP3'] == drpver assert spaxel_restored._maps is not None assert isinstance(spaxel_restored._maps, Maps) assert spaxel_restored._maps.data_origin == 'api' assert spaxel_restored._maps.data is None assert spaxel_restored._modelcube is not None assert isinstance(spaxel_restored._modelcube, ModelCube) assert spaxel_restored._modelcube.data_origin == 'api' assert spaxel_restored._modelcube.data is None