forked from dstndstn/astrometry.net
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhealpix-utils.h
56 lines (42 loc) · 1.94 KB
/
healpix-utils.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
# This file is part of the Astrometry.net suite.
# Licensed under a 3-clause BSD style license - see LICENSE
*/
#ifndef HEALPIX_UTILS_H
#define HEALPIX_UTILS_H
#include "astrometry/bl.h"
/**
Returns healpixes that are / may be within range of the given point, resp.
The non-approx versions take radius in *degrees*!
The approx vesions take radius in *unit-sphere distance*!
This makes no sense!
*/
il* healpix_rangesearch_xyz(const double* xyz, double radius, int Nside, il* hps);
il* healpix_rangesearch_xyz_approx(const double* xyz, double radius, int Nside, il* hps);
il* healpix_rangesearch_radec_approx(double ra, double dec, double radius, int Nside, il* hps);
il* healpix_rangesearch_radec(double ra, double dec, double radius, int Nside, il* hps);
/**
Starting from a "seed" or list of "seeds" healpixes, grows a region
by looking at healpix neighbours. Accepts healpixes for which the
"accept" function returns 1. Returns the healpixes that are
accepted. The accepted results are placed in "accepted", if
non-NULL, or in a newly-allocated list.
If "rejected" is non-NULL, the healpixes that are rejected will be
put there.
If "depth" is non-zero, that number of neighbour steps will be taken.
Zero means no limit.
NOTE that any existing entries in the "accepted" list will be treated
as having already been accepted: when the search reaches them, their
neighbours will not be added to the frontier to explore.
*/
il* healpix_region_search(int seed, il* seeds, int Nside,
il* accepted, il* rejected,
int (*accept)(int hp, void* token),
void* token,
int depth);
ll* healpix_region_searchl(int64_t seed, ll* seeds, int Nside,
ll* accepted, ll* rejected,
int (*accept)(int64_t hp, void* token),
void* token,
int depth);
#endif