test and demo
rules based heuristic star identification
given an input image of a star pattern, output an integer identifying the star at the center using methods based on geometry, pairs, triangles, etc. the transformation from the input x to the output y is rather direct and deterministic, but noise in the input complicates things. in particular, loss of angular resolution due to position quantization is effectively a large noise source.
find star triangles in the image, and candidate stars that meet the constraints implicit within the triangle. these constraints are effectively the rules for candidate stars. for example, if a triangle consists of star pairs ab and bc, then the third side is ac.
identify central star this is the main function
represents a triangle as three constrained sides ab, bc, ca. travel around the sides ab to bc to ca so star pairs are not duplicated. traveling ac to cb to ba, you get the same pairs backwards.
close loops abca travel around sides connecting by pairs.
close loops abda travel around sides connecting by pairs.
for adding, finding, removing, etc star pairs to a triangle side. one objective here is to work with maps of unique star keys, one key per star, rather than maps with multiple keys per star. this means using unordered_map, not unordered_multimap.
stars each star is a map key whose value is a map of star keys it pairs with
trim pairs remove pairs that have value zero or are no longer stars. then remove stars that have no pairs.
append iterations append the iterations contained in another side
cnn1 cnn using tfrecords
cnn2 cnn using libstarid
sky representation and image generation
sky representation as pointing vectors, with methods to get the stars near an arbitrary point.
star representations as pointing vectors and binary images container on disk
new image matrix create an axi axj image matrix for the star, with a random yaw
get pointing vectors get pointing vector representation of an image
pairs over whole sky
star pairs with a separation angle within a given range.
pairs map each star is a map key whose value is a map of star keys it pairs with.
init creates the pairs data structures for all star pairs with a separation less than maximum angle.
float int table
data structure based on floats in a range, with hash map like characteristics
nasa skymap star catalog
interface cpp eigen and python numpy.