Filling Out the Image Product Information Class

From The SBN Wiki
Revision as of 16:18, 27 June 2018 by Raugh (talk | contribs) (Safety Save - Still editing)
Jump to navigation Jump to search

The Image_Product_Information class contains parameters describing the collection of the data, including exposure, filter, sampling, correction, and framing parameters.

Contents

<Autoexposure_Parameters>

OPTIONAL

This class is used to identify the histogram thresholding algorithm that was applied to the data, with the input parameters. Parameters can be provided explicitly here, via the Algorithm_Parameter subclass, or by referencing them in the data file via the pds:Local_Internal_Reference class.

<autoexposure_algorithm_name>

REQUIRED

The name or ID used by the pipeline processing or documentation for the specific algorithm applied. This is typically mission-defined, and should be validated by a Schematron statement in the associated mission or project dictionary.

<Algorithm_Parameter>

OPTIONAL

This class is used to name and provide a value for one of the parameters input to the previously named thresholding algorithm. It may be repeated as needed.

<name>

REQUIRED

A string containing a variable name. This string may contain blanks and UTF-8 non-ASCII characters.

<value>

REQUIRED

A string containing the value of the preceding named variable. This string must contain only ASCII characters, but it may contain embedded blanks.

This attribute may be repeated as needed. If the variable named in the associated <name> takes a vector as input, for example, then use one <value> attribute to hold each of the vector components.

<pds:Local_Internal_Reference>

OPTIONAL

Use this class to point to autoexposure parameters that are documented as part of this data product. Note that this class and its attributes are defined in the pds: namespace. We indicate that here by explicitly including the "pds:" prefix to indicate we are not in the img: namespace.

<pds:comment>

OPTIONAL

Use this attribute as needed to provide additional explanation about the content or format of the data object being referenced.

<pds:local_identifier_reference>

REQUIRED

This attribute must contain the value of the <local_identifier> attribute in the data object being referenced.

<pds:local_reference_type>

REQUIRED

This attribute must have the value to_mission_autoexposure_parameters.


<Exposure_Parameters>

OPTIONAL

Use this class to define the exposure duration, count, and type.

<exposure_count>

OPTIONAL

This attribute is defined as "the maximum number of exposures taken during a specified interval", but there is no way to specify an interval and what is needed is the actual number of exposures, not a potential maximum. Also, this number is allowed to be zero, which is not logical.

<exposure_duration>

OPTIONAL

This is the total amount of time during which data were taken (i.e., the total time for all exposures contributing to the image object). You must specify units of time for this attribute.

It seems odd that this attribute is optional. The following attribute seems to negate the units and definition of this attribute.

<exposure_duration_count>

OPTIONAL

This is described as "the value, in raw counts, of the amount of time the instrument sensor was gathering light... . This is a raw value either commanded or taken directly from telemetry, as opposed to the exposure_duration attributes, which has been converted to engineering units." This is not consistent with the definition for that field, which is defined as being in units of time. It is not clear what "counts" is equivalent to or how it might be calculated.

<exposure_type>

OPTIONAL

This attribute indicates the exposure setting on a camera.

This attribute has a 15-character limit but no defined standard values.


<Data_Correction_Parameters>

OPTIONAL

<Data_Correction>

OPTIONAL

<active_flag>

REQUIRED

<data_correction_type>

REQUIRED

<data_correction_venue>

OPTIONAL

<Data_Correction_File>

OPTIONAL

<description>

OPTIONAL

UNKNOWN

The schema contains an empty choice list at this point.

<Flat_Field_Correction_Parameters>

OPTIONAL

<flat_field_algorithm>

REQUIRED

This attribute may be repeated.

<Correction_Parameter>

REQUIRED

This attribute may be repeated.

= <sequence_number> or <name> or <id> =

REQUIRED

One of these is required; all may be supplied or any one of them can be repeated for a total of up to three occurrences. Note that name may contain UTF-8 characters, but sequence_number and id' are constrained to ASCII only. Apart from that different, all three are defined as strings of less than 256 character that are otherwise unconstrained.

= <value_number> or <value_string> =

REQUIRED

Exactly one of these must be present. Both are defined as ASCII_Real data.

<Radiometric_Correction_Parameters>

OPTIONAL

<radiometric_correction_type_name>

REQUIRED

<Shutter_Subtraction_Parameters>

OPTIONAL

<shutter_subtraction_mode>

REQUIRED

<exposure_duration_threshold_count>

REQUIRED


<Filter>

OPTIONAL

Use this class to define the attributes of each filter associated with the image data being described.

This class may be repeated.

Does it make sense for this class to be repeatable? Under what circumstances would an image product need to reference several filters?


<filter_name>

OPTIONAL

This attribute contains the filter name.

The definition says "commonly-used", but what constitutes "commonly"? There are many standardized filters (and filter names) in ground-based observing, but there is no standard value list for this field. Are spacecraft filter names similarly standardized? If so, there should be a value list for those. If not, then "commonly-used" is not a reasonable definition for an archive - there should be some reason to include a colloquial name (like "This is the name used in the mission documentation", e.g.).

<filter_id>

OPTIONAL

This attribute contains an abbreviated identifier for the <filter_name>, if provided.

<filter_number>

OPTIONAL

This attribute contains a number associated with the filter in the context of the mission or data collection program.

The definition of this class includes a reference to "the bin class of a spectral data object", which is inappropriate in the context of the Imaging dictionary.

<bandwidth>

OPTIONAL

This attribute indicates the filter passband.

This attribute has several problems:

  • It is both nillable and optional, which is contrary to core dictionary conventions.
  • It has no associated units of measure
  • It references "channels", which are not otherwise mentioned in this dictionary

<center_filter_wavelength>

OPTIONAL

This attribute specifies the wavelength at the center of the filter passband.

This attribute has several problems:

  • It is both nillable and optional, which is contrary to core dictionary conventions.
  • It has no associated units of measure
  • It references itself to "minimum and maximum instrument filter wavelength values", which are never provided.
  • It is not clear how this value corresponds to the generalized <bandwidth>, preceding.

<comment>

OPTIONAL

If there are any additional notes about the exposure you would like to leave for users, this is the place to do it.

Because this is based on the pds:comment type, it is restricted to ASCII characters. That could be a problem for a comment field in a class that deals with measurements that are frequently given in units that are expressed using non-ASCII characters.

<Bayer_Parameters>

OPTIONAL

<bayer_state>

'REQUIRED

<debayer_venue>

OPTIONAL

<debayer_algorithm>

OPTIONAL



<Sampling_Parameters>

OPTIONAL

<crosstrack_summing>

OPTIONAL

<downtrack_summing>

OPTIONAL

<sample_bits>

OPTIONAL

<sample_bit_mask>

OPTIONAL

<sampling_factor>

OPTIONAL

<Companding_Parameters>

OPTIONAL

<companding_state>

REQUIRED

<companding_venue>

REQUIRED

<companding_method>

REQUIRED



<Downsampling_Parameters>

OPTIONAL

<downsampling_flag>

OPTIONAL

<downsampling_venue>

OPTIONAL

<downsampling_method>

OPTIONAL

<Pixel_Averaging_Dimensions>

OPTIONAL

<height_pixels>

REQUIRED

<width_pixels>

REQUIRED

Does it make sense that only one of this and the previous pixel_averaging keyword could be included?



<Frame_Parameters>

OPTIONAL

<frame_id>

OPTIONAL

<frame_type_name>

OPTIONAL

Values: Mono, Stereo

Why is this field repeatable?

<interframe_delay>

OPTIONAL



<Subframe_Parameters>

OPTIONAL

What does it mean to repeat this class? How would you, e.g., map a specific set of parameters to a particular frame (or would you)?

It's a little odd that the required fields occur at the bottom of the class, after all the optional attributes.

<first_line>

REQUIRED

<first_sample>

REQUIRED

<lines>

REQUIRED

<samples>

REQUIRED

<name>

OPTIONAL

<description>

OPTIONAL

<subframe_type>

OPTIONAL

This attribute has a null rule defined and no standard values.