LOST  0.0.1
LOST: Open-source Star Tracker
star-id.cpp File Reference
#include <stdlib.h>
#include <math.h>
#include <assert.h>
#include <vector>
#include <algorithm>
#include <chrono>
#include <unordered_map>
#include "star-id.hpp"
#include "star-id-private.hpp"
#include "databases.hpp"
#include "attitude-utils.hpp"
Include dependency graph for star-id.cpp:

Go to the source code of this file.

Classes

class  lost::PairDistanceInvolvingIterator
 Given a list of star pairs, finds all those pairs which involve a certain star. More...
 

Namespaces

 lost
 LOST starting point.
 

Macros

#define _CHECK_DISTANCE(_dist)   if (_dist < vectorDatabase.MinDistance() + tolerance || _dist > vectorDatabase.MaxDistance() - tolerance) { continue; }
 

Functions

std::vector< int16_t > lost::ConsumeInvolvingIterator (PairDistanceInvolvingIterator it)
 
std::unordered_multimap< int16_t, int16_t > lost::PairDistanceQueryToMap (const int16_t *pairs, const int16_t *end)
 Given the result of a pair-distance kvector query, build a hashmultimap of stars to other stars that appeared with it in the query. More...
 
std::vector< std::vector< IRUnidentifiedCentroid * >::iterator > lost::FindUnidentifiedCentroidsInRange (std::vector< IRUnidentifiedCentroid * > *centroids, const Star &star, const Camera &camera, decimal minDistance, decimal maxDistance)
 Return all the unidentified centroids within the requested distance bounds from star More...
 
void lost::AddToAllUnidentifiedCentroids (const StarIdentifier &starId, const Stars &stars, std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids, decimal minDistance, decimal maxDistance, decimal angleFrom90Threshold, const Camera &camera)
 Given a list of unidentified centroids not yet at the soft threshold, and a list of unidentified centroids already below the soft threshold, appropriately add the given centroid to all the unidentified centroids still above the threshold, and perhaps move them to the below threshold list. More...
 
std::vector< int16_t > lost::IdentifyThirdStar (const PairDistanceKVectorDatabase &db, const Catalog &catalog, int16_t catalogIndex1, int16_t catalogIndex2, decimal distance1, decimal distance2, decimal tolerance)
 Given two already-identified centroids, and the distance from each to an as-yet unidentified third centroid, return a list of candidate catalog stars that could be the third centroid. More...
 
IRUnidentifiedCentroid * lost::SelectNextUnidentifiedCentroid (std::vector< IRUnidentifiedCentroid * > *aboveThresholdCentroids, std::vector< IRUnidentifiedCentroid * > *belowThresholdCentroids)
 
int lost::IdentifyRemainingStarsPairDistance (StarIdentifiers *identifiers, const Stars &stars, const PairDistanceKVectorDatabase &db, const Catalog &catalog, const Camera &camera, decimal tolerance)
 Given some identified stars, attempt to identify the rest. More...
 

Variables

const decimal lost::kAngleFrom90SoftThreshold = DECIMAL_M_PI_4
 

Macro Definition Documentation

◆ _CHECK_DISTANCE

#define _CHECK_DISTANCE (   _dist)    if (_dist < vectorDatabase.MinDistance() + tolerance || _dist > vectorDatabase.MaxDistance() - tolerance) { continue; }