def negatives_iterator(self, samples_per_field=None):
        cat = get_catalog()
        l0, b0, r0 = cat[:, 0], cat[:, 1], cat[:, 3]

        while True:
            lon = self._random_field()
            nsample = samples_per_field
            if nsample is None:
                nsample = 30000 if running_on_cloud() else 500

            l = np.random.uniform(-.5, .5, nsample) + lon
            b = np.random.uniform(-.8, .8, nsample)
            r = np.random.choice(r0, size=nsample)

            bad = overlap(l, b, r, l0, b0, r0)
            l, b, r = l[~bad], b[~bad], r[~bad]

            for i in range(l.size):
                yield lon, l[i], b[i], r[i]
Yield an infinite sequence of offset stamp parameters
dataset/ETHPy150Open ChrisBeaumont/brut/bubbly/dr1.py/LocationGenerator.negatives_iterator