Filling Out the Image Product Information Class

From The SBN Wiki
Revision as of 21:47, 26 April 2017 by Jpadams (talk | contribs) ()
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.

<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.


<Filter>

OPTIONAL

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

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

<bayer_mode>

OPTIONAL

This attribute either specifies that the data are encoded in a Bayer pattern, or how that pattern was removed. It must have one of the following values:

  • MIPL Malvar
  • No Bayer
  • Onboard Color
  • Raw Bayer

The way the definition of this attribute is written, it should never be optional. That seems wrong for image data in general. The values also seem oddly inconsistent with the field definition.

<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.

<full_width_half_maximum>

OPTIONAL

The definition of this field is a mathematical one rather than one appropriate to the context of the class. FWHM is also one method of specifying bandwidth, so it's not clear how this is different from <bandwidth>, preceding. It also has units of length, but the units should depend on the units of the function it is describing, which may or may not be in units of length.

<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.


<Data_Correction_Parameters>

OPTIONAL

<Data_Correction>

OPTIONAL

<data_correction_flag>

REQUIRED

<data_correction_subtype>

OPTIONAL

<active_flag>

REQUIRED

<Constants_List>

OPTIONAL

This class contains a choice list in which all elements are explicitly set to minOccurs=0, allowing "none of the above" to be valid. (Possible LDDTool issue.)

<Constant>

"REQUIRED"

<index_sequence_number>

OPTIONAL

<index_name>

OPTIONAL

<index_id>

OPTIONAL

<index_value_number>

REQUIRED

<Data_Correction_File>

OPTIONAL

<description>

OPTIONAL

<pds:Internal_Reference>

OPTIONAL

Seems like this should be required, or there's no point in having the class. Is it valid to have this class with just a description field?

<Stereo_Product_Parameters>

OPTIONAL

This class also contains a choice list in which all elements have minOccurs = 0. (Possible LDDTool problem.)

<geometry_projection_type>

OPTIONAL

Standard values "Linearized", "Raw"

<linearization_mode>

OPTIONAL

Values: Actual, Nominal, None

<linearization_mode_fov>

OPTIONAL

<stero_baseline_length>

OPTIONAL

<Stereo_Partner>

OPTIONAL

This class just contains an Internal Reference. There's no point in requiring the additional level.

<pds:Internal_Reference>

REQUIRED

There is no reference_type defined for this context.


<Sampling_Parameters>

OPTIONAL

What does it mean to repeat this class?

<downsample_flag>

OPTIONAL

Does it make sense that this is optional?

<crosstrack_summing>

OPTIONAL

<downtrack_summing>

OPTIONAL

<pixel_averaging_height>

OPTIONAL

<pixel_averaging_width>

OPTIONAL

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

<sample_bit_method>

OPTIONAL

There are no standard values defined for this field. Is that intentional?

<sample_bits>

OPTIONAL

<sample_bit_mode_id>

OPTIONAL

There are no standard values defined for this field.

<sampling_factor>

OPTIONAL


<Frame_Parameters>

OPTIONAL

<frame_id>

OPTIONAL

<frame_type>

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.

<name>

OPTIONAL

<description>

OPTIONAL

<subframe_type>

OPTIONAL

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

<first_line>

REQUIRED

<first_sample>

REQUIRED

<lines>

REQUIRED

<samples>

REQUIRED


<Derived_Product_Parameters>

OPTIONAL

<horizon_mask_elevation>

OPTIONAL

What does it mean to repeat this attribute?

<derived_image_type>

OPTIONAL

Why is this optional?

There are no defined standard values for this type.

<Data_Correction_File>

OPTIONAL

<description>

OPTIONAL

<pds:Internal_Reference>

OPTIONAL

As before, this makes no sense as an optional component in an optional class that contains nothing else of substance.