Star Trackers: First Contact

Sept. 1, 2016, 4 a.m. UTC

Sept. 1, 2017, 4 a.m. UTC

Timeline

The competition is over.

Your submission has to be a ZIP file containing a results file as described on the data page named result.csv in the root of the ZIP file. The data download contains a sample result file named result_sample.csv which shows the format and is the correct output for the input_sample.csv file.

Additionally to the results file, the ZIP can optionally also contain the C code as described on the scripts page named identification.c. This C file has to contain the two functions described and is only allowed to use C standard library includes. The data file that can be used within the C code has to be named data without an extension and like the other files has to be also in the root of the ZIP file.

The submission system will inform you of any problems in your submission file and will not accept invalid files.

Results file

Your result file should contain the catalog star HIP number \(h\) (the identifier in the Hipparchos catalog) for every star in each scene of the input file. If the star is an artifact and thus not part of the catalog, the value has to be -1. The format of the submitted file must be a headerless CSV file with variable row length, similar to the input file. Each row/line corresponds to the same scene from the input file. If the input scene contained \(N\) stars, the result row contains \(N\) columns with the numbers \(h_1\),\(h_2\),...,\(h_N\), for example:

-1,34987,-1,32578,34033,-1

C Code

As mentioned before, submitting C code is optional, you can develop the algorithm in any language you want. C code is only necessary for comparing its speed against other submitted solutions. In the data zip that you can download from the data page, you can find the following C source code files:

The file main.c contains a main function that runs your implemented star identification algorithm, measuring its speed. The file identification.c contains the prototypes for the two functions you need to implement and submit. For further details check the documentation inside this file.

To compile the code, you need to compile the main.c file. To run the application a file called input.csv containing the scenes must be present in the current working directory. This file is read and each scene is fed to the star identification algorithm.

gcc -O2 -o starid main.c
./starid

The application optionally accepts one or two parameters. If parameters are present the time is measured and output at the end. The first one is the number of times the identification code is deployed over the input.csv file. The time spent for these repetitions is then averaged. The second number is the number of overall runs of the time measuring procedure (default: 3). Of these runs the best run is taken to alleviate effects of other processes running in the background.