-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sensor model and reference system documentation #36
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some comments on structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a lot of good stuff in this document. A few overarching thoughts:
- The depth of information varies widely. I would pick a persona and write this for them. Then, I would write it again for someone with a different level of knowledge. I suspect the documents will vary greatly in the vocabulary and depth of information provided.
- As noted in a comment, this needs to be a number of smaller documents with an overarching start here, end here, you will have a conceptual understanding of _________.
!!! INFO "Reference System vs Reference Frame" | ||
A __reference system__ provides an origin, axes / planes, and a fixed point that allows for the description of an object. A __reference frame__ is a description within the context of that reference system, and provides the location of an object at a given moment in time. | ||
|
||
Finally, reference frames often have dependencies on other reference frames, which results in a "frame chain" that must be calculated. For example, consider a common scenario in which a camera is intended to record an image of a planetary body. The camera is mounted on a gimbal, which is mounted on the spacecraft. In order to move from the image plane to a BCBF system, it is necessary to know the location of the camera and the planetary body. However, in order to know the location of the camera, it is necessary to know the extrinsics not only of the camera, but also of the gimbal and the spacecraft to which it is mounted. The dependency chain that is formed is known as a "frame chain," and the entire chain of extrinsics must be calculated in order to accurately model the objects' relative locations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would take this into a new section and then provide a simple example. For example, take an imaginary sensor, fixed to a spacecraft, and describe the chain of transformations to get from the sensor position in the bodies reference frame. Just include frame chain stuff, not distortion, focal/pixel, etc. Just transform the position of the sensor into the body frame.
Instead of ISIS Data / PDS Data, would you consider 'intrinsics (e.g., SPICE instrument kernel)' and 'extrinsics (e.g., SPICE ephemeris)' or something like that? My thinking is that the source really does not matter, it's the content that is important. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AustinSanders Overall, this is a huge improvement over the last version that got reviewed. I have a bunch of consider comments in here that you should feel very free to consider and ignore.
|
||
## The Community Sensor Model | ||
|
||
Because the only requirement of a sensor model is that it models a sensor's geometric information, the design and implementation of a sensor model largely remains open-ended. Of particular importance is the sensor's interface, i.e. what information is required to create the model and what information is produced by the model. Without a concrete interface specification, each sensor model may require and provide its own set of information, which makes it incredibly difficult to facilitate interoperability between sensor models. In order to address these concerns about interoperability, the US defense and intelligence community established the [Community Sensor Model (CSM) working group](https://gwg.nga.mil/gwg/focus-groups/Community_Sensor_Model_Working_Group_(CSMWG).html) , which is responsible for developing and maintaining a set of standards upon which sensor models can be implemented. The resulting CSM standard describes an application programming interface (API) for multiple sensor types. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am struggling a little here and wonder if other readers might too. The topic sentence is 100% correct. When I read 'the design and implementation of a sensor model', I am not sure whether the sensor model is a mathematical construct, software (it definitely does not read as such), or something physical, like a camera. I wonder if this sentence could be re-written in a way to make it clear that the CSM is computer code that realizes capabilities that one normally wants to accomplish with the mathematical model that is the sensor model?
@AustinSanders Apologies, I had a change request in, but you made a ton of changes and it looks good. I think any additional changes can/should happen incrementally after publication. The link check CI failure looks like a red-herring because of how the |
@AustinSanders Any chance the new glossary additions can go in in another PR? Happy to review. This is a big add to this PR that appeared super close to being mergable. |
2483079
to
42e6f9c
Compare
Likely needs some restructuring, but not sure what the best split is. Maybe split the ecosystem stuff off from the sensor models doc, leaving us with 1. reference systems / reference frames 2. Sensor models + the CSM 3. Software ecosystem (3a USGS ecosystem, 3b extended ecosystem)
Licensing
This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words: