1 /*
2 # This file is part of the Astrometry.net suite.
3 # Licensed under a 3-clause BSD style license - see LICENSE
4 */
5
6 #include <stdlib.h>
7 #include <math.h>
8
9 #include "os-features.h"
10 #include "index.h"
11 #include "starutil.h"
12 #include "log.h"
13 #include "errors.h"
14 #include "ioutils.h"
15 #include "boilerplate.h"
16 #include "tic.h"
17
18 static const char* OPTIONS = "hvr:d:R:";
19
printHelp(char * progname)20 void printHelp(char* progname) {
21 BOILERPLATE_HELP_HEADER(stdout);
22 printf("\nUsage: %s [options] <index-files>\n"
23 " [-r <ra>] (deg)\n"
24 " [-d <dec>] (deg)\n"
25 " [-R <radius>] (deg)\n"
26 " [-v]: +verbose\n"
27 "\n", progname);
28 }
29
30
main(int argc,char ** argv)31 int main(int argc, char **argv) {
32 int argchar;
33 //double ra=HUGE_VAL, dec=HUGE_VAL, radius=HUGE_VAL;
34 int loglvl = LOG_MSG;
35 char** myargs;
36 int nmyargs;
37 int i;
38
39 while ((argchar = getopt (argc, argv, OPTIONS)) != -1)
40 switch (argchar) {
41 /*
42 case 'r':
43 ra = atof(optarg);
44 break;
45 case 'd':
46 dec = atof(optarg);
47 break;
48 case 'R':
49 radius = atof(optarg);
50 break;
51 */
52 case 'v':
53 loglvl++;
54 break;
55 case '?':
56 fprintf(stderr, "Unknown option `-%c'.\n", optopt);
57 case 'h':
58 printHelp(argv[0]);
59 break;
60 default:
61 return -1;
62 }
63 log_init(loglvl);
64 nmyargs = argc - optind;
65 myargs = argv + optind;
66
67 if (nmyargs < 1) {
68 printHelp(argv[0]);
69 exit(-1);
70 }
71
72 for (i=0; i<nmyargs; i++) {
73 char* indexfn = myargs[i];
74 index_t index;
75 tic();
76 logmsg("Reading meta-data for index %s\n", indexfn);
77 if (index_get_meta(indexfn, &index)) {
78 ERROR("Failed to read metadata for index %s", indexfn);
79 continue;
80 }
81 toc();
82
83 logmsg("Index %s: id %i, healpix %i (nside %i), %i stars, %i quads, dimquads=%i, scales %g to %g arcmin.\n",
84 index.indexname,
85 index.indexid, index.healpix, index.hpnside,
86 index.nstars, index.nquads, index.dimquads,
87 arcsec2arcmin(index.index_scale_lower),
88 arcsec2arcmin(index.index_scale_upper));
89
90 index_close(&index);
91 }
92
93 return 0;
94 }
95
96