gnuastro-devel
[Top][All Lists]

## [task #15713] Make quad structure to make unique hashes of 4 objects

 From: Mohammad Akhlaghi Subject: [task #15713] Make quad structure to make unique hashes of 4 objects Date: Mon, 6 Jul 2020 13:25:05 -0400 (EDT) User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

```Follow-up Comment #4, task #15713 (project gnuastro):

Very good! But just one thing: probably using the 3 nearest neighbors isn't
too good (there will be too many repetitions and thus too few quads for the
fit).

Maybe a better way to select the three neighbors would be this: let's assume
the healpix size is 'h' degrees. Look in a circle of radius of 'h' degrees
around each point sort them by distance, so the series of points becomes (p
is the nearest, p[n] i the farthest):

p, p, ... p[n-4], p[n-3], p[n-2], p[n-1], p[n]

Then select p[n], p[n-2], p[n-4] as the other three points for constructing

I feel this will create less repetition between the quads (since the
probability that they be the same is much less than the 3 nearest neighbors).

This method has the advantage that the quads will be large (on a scale of the
healpix), thus decreasing statistical errors.

It will thus be a little more computationally expensive, but I think it will
be worth it. To fix the computational cost when there are many points within
the circle of radius 'h', it may be possible to exploit the kd-tree to find
these points instead of actually sorting them. Or we can simply discard many
of the points closer than 'h/2'.

Another method (that is still seems to be more robust than the three nearest
neighbors) is to randomly select three points from all the points within a
distance of 'h'.

What do you think?

_______________________________________________________