Difference between revisions of "Filling Out the Image Product Information Class"

From The SBN Wiki
Jump to navigation Jump to search
(Safety Save - Still editing)
(Safety Save - Still editing)
Line 63: Line 63:
 
''OPTIONAL''
 
''OPTIONAL''
  
Use this class to define the exposure duration, count, and type.
+
Use this class to define configuration and parameters of the image exposure.
 +
 
 +
'''Note:''' In the ''Image_Product_Information'' class, these parameters are of the exposure the produced the data.  When this class is used in the ''Command_Parameters'' class, it indicates the parameters that were commanded to the spacecraft, which may not be the same.
  
 
=== <exposure_count> ===
 
=== <exposure_count> ===
Line 71: Line 73:
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|
 
|
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.
+
This attribute is defined as "the number of exposures taken during a certain interval", but there is no way to specify what interval, or what the relationship is between ''exposure_count'' and ''exposure_duration''.
 
|}
 
|}
  
 
=== <exposure_duration> ===
 
=== <exposure_duration> ===
  
''OPTIONAL''
+
''REQUIRED''
 
 
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.
 
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|
 
|
It seems odd that this attribute is optional.  The following attribute seems to negate the units and definition of this attribute.
+
This is defined as "the amount of time the instrument sensor was gathering light", but does not define the relationship between this and ''exposure_count''.
 
|}
 
|}
 +
 +
You must specify a unit of time for this attribute.
 +
 +
If this class appears in the ''&lt;Command_Parameters&gt;'' class, ''exposure_duration'' is optional.
  
 
=== <exposure_duration_count> ===
 
=== <exposure_duration_count> ===
  
 
''OPTIONAL''
 
''OPTIONAL''
 +
 +
This attribute represents the exposure duration in units of data number (DN).
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|
 
|
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.
+
This attribute is allowed to be zero, but it's not clear what a zero value here would mean.
 
|}
 
|}
  
Line 98: Line 104:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute indicates the exposure setting on a camera.
+
This attribute must contain one of the following values:
 +
 
 +
: * '''Manual'''
 +
: * '''Auto'''
 +
: * '''Test'''
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|
 
|
This attribute has a 15-character limit but no defined standard values.
+
What these values mean is not quite clear.
 
|}
 
|}
  
Line 110: Line 120:
  
 
''OPTIONAL''
 
''OPTIONAL''
 +
 +
This class describes the processing applied to the data to remove instrumental artifacts.  This processing might have been applied onboard the spacecraft prior to transmission, or after the data were received on the ground.
 +
 +
In the ''Image_Product_Information'' class, these attributes reflect processing that is known to have been applied.  In the ''Command_Parameters'' class, these attributes indicate the processing that was commanded, whether or not it was ultimately carried out.
 +
 +
This class may be repeated.
  
 
=== <Data_Correction> ===
 
=== <Data_Correction> ===
  
 
''OPTIONAL''
 
''OPTIONAL''
 +
 +
This class provides details about the processing performed.
  
 
==== <active_flag> ====
 
==== <active_flag> ====
  
 
''REQUIRED''
 
''REQUIRED''
 +
 +
This attribute must have a value of '''true''' or '''false'''.  '''True''' indicates that the associated correction(s) are "active".
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
|
 +
What "active" means is not defined.
 +
|}
  
 
==== <data_correction_type> ====
 
==== <data_correction_type> ====
  
 
''REQUIRED''
 
''REQUIRED''
 +
 +
This attribute defines the specific type of correction described by the containing ''&lt;Data_Correction&gt;'' class.  It must  have one of the following values:
 +
 +
: * '''Antiblooming'''
 +
: * '''Bad Pixel'''
 +
: * '''Blemish Protextion'''
 +
: * '''Brightness'''
 +
: * '''Dark Current'''
 +
: * '''Flat Field'''
 +
: * '''Inverse LUT'''
 +
: * '''Light Flood'''
 +
: * '''Radiometric'''
 +
: * '''Responsivity'''
 +
: * '''Shutter Subtraction'''
  
 
==== <data_correction_venue> ====
 
==== <data_correction_venue> ====

Revision as of 21:50, 27 June 2018

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 configuration and parameters of the image exposure.

Note: In the Image_Product_Information class, these parameters are of the exposure the produced the data. When this class is used in the Command_Parameters class, it indicates the parameters that were commanded to the spacecraft, which may not be the same.

<exposure_count>

OPTIONAL

This attribute is defined as "the number of exposures taken during a certain interval", but there is no way to specify what interval, or what the relationship is between exposure_count and exposure_duration.

<exposure_duration>

REQUIRED

This is defined as "the amount of time the instrument sensor was gathering light", but does not define the relationship between this and exposure_count.

You must specify a unit of time for this attribute.

If this class appears in the <Command_Parameters> class, exposure_duration is optional.

<exposure_duration_count>

OPTIONAL

This attribute represents the exposure duration in units of data number (DN).

This attribute is allowed to be zero, but it's not clear what a zero value here would mean.

<exposure_type>

OPTIONAL

This attribute must contain one of the following values:

* Manual
* Auto
* Test

What these values mean is not quite clear.


<Data_Correction_Parameters>

OPTIONAL

This class describes the processing applied to the data to remove instrumental artifacts. This processing might have been applied onboard the spacecraft prior to transmission, or after the data were received on the ground.

In the Image_Product_Information class, these attributes reflect processing that is known to have been applied. In the Command_Parameters class, these attributes indicate the processing that was commanded, whether or not it was ultimately carried out.

This class may be repeated.

<Data_Correction>

OPTIONAL

This class provides details about the processing performed.

<active_flag>

REQUIRED

This attribute must have a value of true or false. True indicates that the associated correction(s) are "active".

What "active" means is not defined.

<data_correction_type>

REQUIRED

This attribute defines the specific type of correction described by the containing <Data_Correction> class. It must have one of the following values:

* Antiblooming
* Bad Pixel
* Blemish Protextion
* Brightness
* Dark Current
* Flat Field
* Inverse LUT
* Light Flood
* Radiometric
* Responsivity
* Shutter Subtraction

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