SolveResult¶
SolveResult
¶
Result of a successful plate-solve.
Returned by SolverDatabase.solve_from_centroids on a successful match.
Contains the camera attitude, matched stars, and error statistics.
Supports pickle serialization.
rotation_matrix_icrs_to_camera
property
¶
3x3 rotation matrix from ICRS to camera frame.
quaternion
property
¶
Attitude quaternion as a 4-element [w, x, y, z] array.
Convention. Hamilton, scalar first: q = w + x·i + y·j + z·k
with w² + x² + y² + z² = 1. This matches scipy.spatial.
transform.Rotation.as_quat(scalar_first=True) and is the usual
convention in aerospace / attitude literature. It does not
match scipy's default (scalar-last) ordering.
Sense. Rotates a vector from the ICRS frame into the camera
frame: camera_vec = q ⊗ icrs_vec ⊗ q*. Equivalently,
rotation_matrix_icrs_to_camera @ icrs_vec == camera_vec.
Suitable for feeding back as attitude_hint on the next frame's
solve_from_centroids call (tracking mode).
ra_deg
property
¶
Right ascension of the boresight in degrees [0, 360).
dec_deg
property
¶
Declination of the boresight in degrees [-90, 90].
roll_deg
property
¶
Roll angle: position angle of camera +Y measured East of North, in degrees.
fov_deg
property
¶
Solved horizontal field of view in degrees.
num_matches
property
¶
Number of matched star pairs.
rmse_arcsec
property
¶
Root mean square error of matched stars in arcseconds.
p90e_arcsec
property
¶
90th percentile error in arcseconds.
max_err_arcsec
property
¶
Maximum match error in arcseconds.
probability
property
¶
False-positive probability (lower is better).
solve_time_ms
property
¶
Time taken to solve in milliseconds.
matched_centroids
property
¶
Indices of matched centroids in the input array.
matched_catalog_ids
property
¶
Catalog IDs of matched stars (negative IDs = Hipparcos gap-fill stars).
status
property
¶
Always 'match_found' when a result is returned.
parity_flip
property
¶
Whether the image x-axis was flipped to achieve a proper rotation.
When True, the rotation matrix assumes negated x-coordinates.
Pixel-to-sky and sky-to-pixel conversions must account for this.
camera_model
property
¶
The camera model used for the solve (focal length, image dimensions, optical center, distortion, and parity).
cd_matrix
property
¶
WCS CD matrix as a 2x2 numpy array (tangent-plane radians per pixel).
Maps pixel offsets from CRPIX to gnomonic tangent-plane coordinates at CRVAL.
theta_deg
property
¶
Fitted rotation angle in degrees (camera roll in tangent plane).
The angle from the tangent-plane ξ (East) axis to the camera +X axis,
measured counter-clockwise. When parity_flip is True,
"camera +X" means the x-negated (mirror-corrected) axis — the same
frame the quaternion rotates into.
crval_ra_deg
property
¶
WCS reference point RA in degrees.
The tangent point of the gnomonic (TAN) projection, close to the boresight.
crval_dec_deg
property
¶
WCS reference point Dec in degrees.
crpix
property
¶
Optical center offset from the geometric image center, in pixels [x, y].
__bool__()
¶
Always True — lets if result: distinguish success from a
(falsy) SolveFailure.