Perseverance Imagery, technical discussion of processing, cameras, etc. |
Perseverance Imagery, technical discussion of processing, cameras, etc. |
Feb 22 2021, 02:26 AM
Post
#101
|
||
Member Group: Members Posts: 219 Joined: 14-November 11 From: Washington, DC Member No.: 6237 |
Putting this here, for reference as the payload of the JSON feed link for Perseverence raws (see source in other thread here)
https://mars.nasa.gov/rss/api/?feed=raw_ima...;&extended= Looks like there's a ton of good data in addition to just the (PNG! Bayer color separated!) images This is for the first image shown on the page at the moment. CODE "images": [ { "extended": { "mastAz":"UNK", "mastEl":"UNK", "sclk":"667129493.453", "scaleFactor":"4", "xyz":"(0.0,0.0,0.0)", "subframeRect":"(1,1,1280,960)", "dimension":"(1280,960)" }, "sol":2, "attitude":"(0.415617,-0.00408664,-0.00947025,0.909481)", "image_files": { "medium":"https://mars.nasa.gov/mars2020-raw-images/pub/ods/surface/sol/00002/ids/edr/browse/rcam/RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01_800.jpg", "small":"https://mars.nasa.gov/mars2020-raw-images/pub/ods/surface/sol/00002/ids/edr/browse/rcam/RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01_320.jpg", "full_res":"https://mars.nasa.gov/mars2020-raw-images/pub/ods/surface/sol/00002/ids/edr/browse/rcam/RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01.png", "large":"https://mars.nasa.gov/mars2020-raw-images/pub/ods/surface/sol/00002/ids/edr/browse/rcam/RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01_1200.jpg" }, "imageid":"RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01", "camera": { "filter_name":"UNK", "camera_vector":"(-0.7838279435884001,0.600143487448691,0.15950407306054173)", "camera_model_component_list":"2.0;0.0;(46.176,2.97867,720.521);(-0.701049,0.00940617,0.713051);(8.39e-06,0.0168764,-0.00743155);(-0.00878744,-0.00869157,-0.00676256);(-1.05782,-0.466472,-0.724517);(-0.702572,0.0113481,0.711523);(-448.981,-528.002,453.359)", "camera_position":"(-1.05782,-0.466472,-0.724517)", "instrument":"REAR_HAZCAM_RIGHT", "camera_model_type":"CAHVORE" }, "caption":"NASA's Mars Perseverance rover acquired this image of the area in back of it using its onboard Rear Right Hazard Avoidance Camera. \n\n This image was acquired on Feb. 21, 2021 (Sol 2) at the local mean solar time of 15:37:11.", "sample_type":"Full", "date_taken_mars":"Sol-00002M15:37:11.985", "credit":"NASA/JPL-Caltech", "date_taken_utc":"2021-02-21T02:16:26Z", "json_link":"https://mars.nasa.gov/rss/api/?feed=raw_images&category=mars2020&feedtype=json&id=RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01", "link":"https://mars.nasa.gov/mars2020/multimedia/raw-images/?id=RRB_0002_0667129492_604ECM_N0010052AUT_04096_00_2I3J01", "drive":"52", "title":"Mars Perseverance Sol 2: Rear Right Hazard Avoidance Camera (Hazcam)", "site":1, "date_received":"2021-02-21T23:12:58Z" }, (with syntax color): Here's hoping that one of you skilled characters can make good use... |
|
|
||
Jun 1 2021, 11:21 AM
Post
#102
|
|
Member Group: Members Posts: 248 Joined: 25-February 21 From: Waltham, Massachussetts, U.S.A. Member No.: 8974 |
In an attempt to try to understand the camera model parameters in the metadata json, and therefore then the CAHVORE camera model, I ended up putting together a camera model analyzer:
https://observablehq.com/@andreasplesch/the...re-camera-model (updated for better table formatting) It is based on https://agupubs.onlinelibrary.wiley.com/doi...29/2003JE002199 and I think equivalent to the CAHVORE to Photogrammetric conversion of https://github.com/bvnayak/CAHVOR_camera_model which is in python. I tested the analyzer with the test data of the python code repo and get the same results which is a good sign. My goal is to unproject the fisheye projection of the Ingenuity cameras, and https://www-mipl.jpl.nasa.gov/vicar/dev/htm...p/marscahv.html would seem to be right tool but with a steep learning curve. In any case, I have some understanding now that the "E" parameter is for fisheye distortion, adjusting the radial distance with a third degree polynomial. Looking the json metadata, I noticed that after the 7 triples for the CAHVORE parameters, there are additional numbers like 2;0 or 3;0 . Do we know what these extra parameters are for ? Any further hints or feedback much appreciated. -------------------- --
Andreas Plesch, andreasplesch at gmail dot com |
|
|
Jun 2 2021, 01:53 AM
Post
#103
|
|
Member Group: Members Posts: 219 Joined: 14-November 11 From: Washington, DC Member No.: 6237 |
Andreas, this is really helpful - I have been poking at the same sources (when I have other real work to do...) and seem to be on the same track, if a bit behind - and I have been slogging in Octave and Excel, not making slick live calculation pages! Anyway, none of your results contradict what I've seen so far, including the RTE's ~2mm uncorrected focal length (with 5.9 mm sensor diag., corresponding to something like 14mm equivalent full-frame F.L., and FOV over 90 deg.) By the way, where did you find the JSON for the heli images? I've only been able to pull the Perseverence ones from the RSS feed.
Looking the json metadata, I noticed that after the 7 triples for the CAHVORE parameters, there are additional numbers like 2;0 or 3;0 . Do we know what these extra parameters are for ? I don't know that they're needed for "normal" CAHV[ORE] processing. In the MSL CAMERA SIS, they specify "MTYPE" and "MPARMS" related to the geometric camera model. I had thought it referred to 1=CAHV/2=CAHVOR/3-CAHVORE Edit: I was half-right; at the end of the file here (linked from bvnayak's code you point to above), it explains the last 2 parameters. The MPARM value is called called L in several sources. * T: CAHVORE Type (MTYPE): MODEL_COMPONENT_8 To distinguish the various CAHVORE model types (e.g., CAHVORE-1, CAHVORE-2, CAHVORE-3), a parameter "T" is specified. It's value may be integers 1, 2, or 3 to coincide with CAHVORE-1, CAHVORE-2, or CAHVORE-3, repectively. * P: CAHVORE Parameter (MPARM): MODEL_COMPONENT_9 "P" is an additional parameter to CAHVORE that specifies the Linearity of the camera model for the CAHVORE-3 case. It is an arbitrary floating-point number. A value of 0.0 results in a model equivalent to CAHVORE-2, while a value of 1.0 results in a model equivalent to CAHVORE-1. |
|
|
Lo-Fi Version | Time is now: 25th June 2024 - 09:47 PM |
RULES AND GUIDELINES Please read the Forum Rules and Guidelines before posting. IMAGE COPYRIGHT |
OPINIONS AND MODERATION Opinions expressed on UnmannedSpaceflight.com are those of the individual posters and do not necessarily reflect the opinions of UnmannedSpaceflight.com or The Planetary Society. The all-volunteer UnmannedSpaceflight.com moderation team is wholly independent of The Planetary Society. The Planetary Society has no influence over decisions made by the UnmannedSpaceflight.com moderators. |
SUPPORT THE FORUM Unmannedspaceflight.com is funded by the Planetary Society. Please consider supporting our work and many other projects by donating to the Society or becoming a member. |