

def __init__(self, axes, wcs=None, transform=None, coord_meta=None, slice=None, frame_class=RectangularFrame, previous_frame_path=None):
    self._axes = axes
    if (wcs is None):
        if (transform is None):
            raise ValueError('Either `wcs` or `transform` are required')
        if (coord_meta is None):
            raise ValueError('`coord_meta` is required when `transform` is passed')
        self._transform = transform
        naxis = 2
    else:
        if (transform is not None):
            raise ValueError('Cannot specify both `wcs` and `transform`')
        if (coord_meta is not None):
            raise ValueError('Cannot pass `coord_meta` if passing `wcs`')
        self._transform = WCSPixel2WorldTransform(wcs, slice=slice)
        naxis = wcs.wcs.naxis
    self.frame = frame_class(axes, self._transform, path=previous_frame_path)
    self._coords = []
    self._aliases = {
        
    }
    for coord_index in range(naxis):
        if (wcs is not None):
            (coord_type, coord_wrap) = coord_type_from_ctype(wcs.wcs.ctype[coord_index])
            coord_unit = wcs.wcs.cunit[coord_index]
            name = wcs.wcs.ctype[coord_index][:4].replace('-', '')
        else:
            try:
                coord_type = coord_meta['type'][coord_index]
                coord_wrap = coord_meta['wrap'][coord_index]
                coord_unit = coord_meta['unit'][coord_index]
                name = coord_meta['name'][coord_index]
            except IndexError:
                raise ValueError('coord_meta items should have a length of {0}'.format(len(wcs.wcs.naxis)))
        self._coords.append(CoordinateHelper(parent_axes=axes, parent_map=self, transform=self._transform, coord_index=coord_index, coord_type=coord_type, coord_wrap=coord_wrap, coord_unit=coord_unit, frame=self.frame))
        self._aliases[name.lower()] = coord_index

dataset/ETHPy150Open glue-viz/glue/glue/external/wcsaxes/coordinates_map.py CoordinatesMap.__init__/original