pds-data-dictionaries / PDS4-LDD-Issue-Repo

Issue repository for tracking all PDS4 Discipline Dictionary-related issues, new feature requests, and releases.
Apache License 2.0
2 stars 1 forks source link

[ldd-img] add iso attributes to Detector #266

Closed rgdeen closed 10 months ago

rgdeen commented 11 months ago

Issue Type Enhancement

Describe the issue identified (if applicable) Missions are using more and more COTS cameras. Some of these have processing built in that needs to be identified in the label. In this case, the SACA camera for CADRE has an "iso" setting, analogous to gain, that should be reported.

This is similar to gain, except that the numbers are different. So for example if ISO=100 is the default, ISO=200 means 2x the gain (DN's are twice as high), etc. The IMG DD has gain_number which is a float multiplicative factor, and gain_mode_id which is a mission-dependent thing, but not an ISO setting. ISO seems to be a fairly standard terminology for digital cameras.

Describe the solution you'd like New class under Detector:

img:ISO . child of Detector. Definition: Specifies the ISO gain level set for the camera.

Attributes: iso_number - int, cardinality 0:1, definition: The ISO gain number set for the camera. The number has its origin in film sensitivity, so ISO 100 is a typical number for daylight scenes and higher numbers have more gain (and more noise). This should generally conform to ISO 12232:2019 unless specified otherwise in iso_mode_id. iso_mode_id card 0:1 - description of how ISO is used. @crombie should assign a definition here.

Only one VICAR keyword, ISO

Describe alternatives you've considered The values could be direct children of Detector rather than using an intervening ISO class.

Also considered GAIN_MODE_ID instead of ISO for VICAR, but why not be explicit.

Comments from Kate Crombie:

ISO sub-class with in the Detector class: After a bit of looking into what ISO is vs gain, I think that adding iso_number and iso_mode_id to an ISO class would be reasonable, where iso_number is the value and iso_mode_id is a description of how the mission defines and uses ISO (which according to my reading should conform to the specifications outlined in ISO 12232:2019, but :woman-shrugging:). This addition should get a ticket on the LDD Issues page.

LDD Dictionary Version none

PDS4 IM Version n/a

Need-by Date I need to know if this approach is acceptable by end of Nov (so I can change the vicar labels if needed). I won't need it actually in the DD until spring 2024 (flexible).

Additional context nope

katecrombie commented 11 months ago

iso_mode_id should be optional and is defined as the mission specific definition of how the value is actually used.

thareUSGS commented 10 months ago

ISO and attributes added to v1.8.9.0. I will look at adding the other ticket also. Builds for testing here: https://github.com/pds-data-dictionaries/ldd-img/tree/release/1.21.0.0/build/development/c864d417002d6ee3e332da1cd6f198fd2d29abc7

rgdeen commented 10 months ago

LGTM, thanks!