def get_sources(self, skydir=None, distance=None, cuts=None,
                    minmax_ts=None, minmax_npred=None,
                    exclude=None, square=False, coordsys='CEL',
                    names=None):
        """Retrieve list of source objects satisfying the following
        selections:

        * Angular separation from ``skydir`` or ROI center (if
             ``skydir`` is None) less than ``distance``.           

        * Cuts on source properties defined in ``cuts`` list.

        * TS and Npred in range specified by ``minmax_ts`` and ``minmax_npred``.

        * Name matching a value in ``names``

        Sources can be excluded from the selection by adding their
        name to the ``exclude`` list.

        Returns
        -------
        srcs : list
            List of source objects.
        """

        if skydir is None:
            skydir = self.skydir

        if exclude is None:
            exclude = []

        rsrc, srcs = self.get_sources_by_position(skydir,
                                                  distance,
                                                  square=square,
                                                  coordsys=coordsys)

        o = []
        for s in srcs + self.diffuse_sources:

            if names and s.name not in names:
                continue
            if s.name in exclude:
                continue
            if not s.check_cuts(cuts):
                continue
            ts = s['ts']
            npred = s['npred']

            if not utils.apply_minmax_selection(ts, minmax_ts):
                continue
            if not utils.apply_minmax_selection(npred, minmax_npred):
                continue
            o.append(s)

        return o
Retrieve list of source objects satisfying the following
        selections:

        * Angular separation from ``skydir`` or ROI center (if
             ``skydir`` is None) less than ``distance``.           

        * Cuts on source properties defined in ``cuts`` list.

        * TS and Npred in range specified by ``minmax_ts`` and ``minmax_npred``.

        * Name matching a value in ``names``

        Sources can be excluded from the selection by adding their
        name to the ``exclude`` list.

        Returns
        -------
        srcs : list
            List of source objects.