def read_moc(file_=None, buff=None, max_order=None): """ Construct a MOC object by reading the given file or buffer. The MOC is then normalized to the given maximum order, if given. """ moc_object = MOC() read_opts = {'include_meta': True} if file_ is not None: read_moc_fits(moc_object, file_, **read_opts) elif buff is not None: with closing(StringIO(buff)) as f: read_moc_fits(moc_object, f, **read_opts) else: raise Error('Neither MOC file nor buffer given') if max_order is not None: moc_object.normalize(max_order=max_order) return moc_object
def test_aggregate(self): m = MOC(10, set([0, 1, 2, 3, 4])) self.assertEqual(m.order, 10) self.assertEqual(m[10], frozenset([0, 1, 2, 3, 4])) self.assertEqual(m[9], frozenset()) m.normalize() self.assertEqual(m.order, 10) self.assertEqual(m[10], frozenset([4])) self.assertEqual(m[9], frozenset([0]))
def test_included(self): m = MOC(10, set([0, 1, 2, 3, 4])) m.add(8, set([0])) self.assertEqual(m.order, 10) self.assertEqual(m[8], frozenset([0])) self.assertEqual(m[9], frozenset()) self.assertEqual(m[10], frozenset([0, 1, 2, 3, 4])) m.normalize() self.assertEqual(m.order, 8) self.assertEqual(m[8], frozenset([0])) self.assertEqual(m[9], frozenset()) self.assertEqual(m[10], frozenset())
def test_properties(self): m = MOC(4, (11, 12)) self.assertEqual(m.normalized, False) self.assertEqual(m.order, 4) self.assertEqual(m.cells, 2) self.assertEqual(len(m), 1) m.add(5, (198, 199)) self.assertEqual(m.normalized, False) self.assertEqual(m.order, 5) self.assertEqual(m.cells, 4) self.assertEqual(len(m), 2) m.normalize() self.assertEqual(m.normalized, True) m.add(6, (1, 2)) self.assertEqual(m.normalized, False)
def jsa_tile_moc(in_, out, max_order): """Create image MOC representation of a JSA tile.""" if in_.lower().endswith('.fits') or in_.lower().endswith('.fit'): (data, tile_number, nside) = read_jsa_tile_fits(in_) good = np.logical_not(np.isnan(data)) else: (data, tile_number, nside) = read_jsa_tile_sdf(in_) try: good = data != np.finfo(data.dtype).min except ValueError: good = data != np.iinfo(data.dtype).min (tile_order, map_suborder) = get_tile_params(data, nside) pixels = get_pixel_set(good, tile_number, map_suborder) moc = MOC(tile_order + map_suborder, pixels, moctype='image') moc.normalize(max_order=max_order) write_moc_fits(moc, out, clobber=True)
def jsa_tile_moc(in_, out, max_order): """Create image MOC representation of a JSA tile.""" if in_.lower().endswith('.fits') or in_.lower().endswith('.fit'): (data, tile_number, nside) = read_jsa_tile_fits(in_) good = np.logical_not(np.isnan(data)) else: (data, tile_number, nside) = read_jsa_tile_sdf(in_) try: good = data != np.finfo(data.dtype).min except ValueError: good = data != np.iinfo(data.dtype).min (tile_order, map_suborder) = get_tile_params(data, nside) pixels = get_pixel_set(good, tile_number, map_suborder) moc = MOC(tile_order + map_suborder, pixels, moctype='image') moc.normalize(max_order=max_order) write_moc_fits(moc, out, clobber=True)