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