Create a constellation by reading a catalog in from a text file,
        as long as it's formated as in to_text() with identifiers, coordinates, magnitudes.

        Parameters
        ----------
        filename : str
            The filename to read in.

        **kwargs are passed to astropy.io.ascii.read()

def from_text(cls, filename, **kwargs):
        '''
        Create a constellation by reading a catalog in from a text file,
        as long as it's formated as in to_text() with identifiers, coordinates, magnitudes.

        Parameters
        ----------
        filename : str
            The filename to read in.

        **kwargs are passed to astropy.io.ascii.read()
        '''

        # FIXME -- add something here to parse id, mag, errors from the table?

        # load the table
        t = ascii.read(filename, **kwargs)

        '''
        # which columns is the coordinates?
        i_coordinates = t.colnames.index('ra')

        # everything before the coordinates is an identifier
        identifiers = Table(t.columns[:i_coordinates])

        # the complete coordinates are stored in one
        c = t.columns[i_coordinates:i_coordinates+6]
        coordinates = coord.SkyCoord(**c)
        coordinates.obstime=Time(cls.epoch, format='decimalyear')

        # everything after coordinates is magnitudes
        magnitudes = Table(t.columns[i_coordinates+1:])

        newtable = hstack([Table(identifiers),
                           Table({'coordinates':coordinates}),
                           Table(magnitudes)])
        '''
        this = cls(t)
        this.speak('loaded constellation from {}'.format(filename))

        return this