From 8be6417fa4d66a8d6daafc85102b2fd644840672 Mon Sep 17 00:00:00 2001 From: smroid Date: Thu, 26 Dec 2024 21:04:30 -0800 Subject: [PATCH] revert change to mismatch probability; apply refined rotation matrix for returned catalog stars --- tetra3/tetra3.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tetra3/tetra3.py b/tetra3/tetra3.py index 04dde05..c3baab1 100644 --- a/tetra3/tetra3.py +++ b/tetra3/tetra3.py @@ -1921,7 +1921,6 @@ def dist(pattern_hash): nearby_cat_star_centroids = nearby_cat_star_centroids[kept, :] nearby_cat_star_vectors = nearby_cat_star_vectors[kept, :] nearby_cat_star_inds = nearby_cat_star_inds[kept] - num_nearby_catalog_stars = len(nearby_cat_star_centroids) # Only keep as many nearby stars as the image centroids. The 2x "fudge factor" # is because image centroids brightness rankings might not match the nearby star # catalog brightness rankings, so keeping some extra nearby stars helps ensure @@ -1929,6 +1928,7 @@ def dist(pattern_hash): nearby_cat_star_centroids = nearby_cat_star_centroids[:2*num_centroids] nearby_cat_star_vectors = nearby_cat_star_vectors[:2*num_centroids] nearby_cat_star_inds = nearby_cat_star_inds[:2*num_centroids] + num_nearby_catalog_stars = len(nearby_cat_star_centroids) # Match the image centroids to the nearby star centroids. matched_stars = _find_centroid_matches( @@ -1973,6 +1973,13 @@ def dist(pattern_hash): roll = np.rad2deg(np.arctan2(rotation_matrix[1, 2], rotation_matrix[2, 2])) % 360 + # Re-apply refined rotation matrix to nearby_cat_star_vectors. + nearby_cat_star_vectors_derot = np.dot(rotation_matrix, nearby_cat_star_vectors.T).T + (nearby_cat_star_centroids, kept) = _compute_centroids( + nearby_cat_star_vectors_derot, (height, width), fov) + nearby_cat_star_centroids = nearby_cat_star_centroids[kept, :] + nearby_cat_star_inds = nearby_cat_star_inds[kept] + if distortion is None: # Compare mutual angles in catalogue to those with current # FOV estimate in order to scale accurately for fine FOV