Points generated with a Poisson distribution law share a property (let us name it Poisson property here), which specifies that no couple of points is closer to each other than a minimal distance. This distance is computed by taking into account the size of the (rectangular here) domain we want to generate points in, and the number of points to generate.
The minimal distance between any two points for a set of n points
generated in a rectangle of size
is chosen as:
| d(Sx,Sy,n) | = | ![]() |
(1) |
Points are randomly generated, only the ones satisfying the Poisson property are stored, until the requested number of points has been reached. Figure 1 shows an example of 100 generated points scattered according to a Poisson distribution law.
In the case of jitter offsets, we are interested in generating points which share the Poisson property for any h consecutive points (should ideally by equal to the half size of the running time filter described in the sky filters below) out of a group of n (total number of points to generate). The problem is now described as:
Generate n points, for which any h (h<n) consecutive points share the Poisson property. The algorithm we use can be described as:
This way, we can be sure that h consecutive points will be homogeneously scattered over the requested domain, and that the sky estimation will be done with optimized chances of finding mostly sky variations.
A Poisson point generator simply called poisson dedicated to this task has been written using only standard ANSI C features, allowing compilation on any station without need to download any specific library. It has been included in SOFI/ISAAC templates, when random offset generation is requested to be done by the instrument (AutoJitter template).