def readline(self):
        """
        Read and analyse the next line of the SExtractor catalog
        and return a dictionary {'param1': value, 'param2': value, ...}.
        """
        if not(self._firstline):
            self._line = self._file.readline()

        self._firstline = False

        if not(self._line):
            return None
        __ll = (self._line).replace('\n', '')
        __values = __ll.split()
        self._outdict.update(dict(zip(self._keys, __values)))
        for i in self._keys:
            self._outdict[i] = (
                SExtractorfile._SE_keys[i]["infunc"](self._outdict[i]))

        return self._outdict.copy()