Source code for aws.osml.formats.sidd.models.sidd_v2_0_0

#  Copyright 2023-2024 Amazon.com, Inc. or its affiliates.

"""This file was generated by xsdata, v23.8, on 2023-10-05 09:59:45

Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
from dataclasses import dataclass, field
from enum import Enum
from typing import List, Optional, Union

from xsdata.models.datatype import XmlDate, XmlDateTime

from .external.ism_v13.schema.ism.cvegenerated.cvenum_ism25_x import CVEnumISM25X
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismatomic_energy_markings import (
    CVEnumISMatomicEnergyMarkingsValuesvalue,
)
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismclassification_all import CVEnumISMClassificationAll
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismcomplies_with import CVEnumISMCompliesWithValues
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismdissem import CVEnumISMDissemValues
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismexempt_from import CVEnumISMExemptFromValues
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismnon_ic import CVEnumISMNonICValuesvalue
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismnon_uscontrols import CVEnumISMNonUSControlsValues
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismnotice import CVEnumISMNoticeValues
from .external.ism_v13.schema.ism.cvegenerated.cvenum_ismscicontrols import CVEnumISMSCIControlsValuesvalue
from .external.ism_v13.schema.ismcat.cvegenerated.cvenum_ismcatfgiopen import CVEnumISMCATFGIOpenValuesvalue
from .external.ism_v13.schema.ismcat.cvegenerated.cvenum_ismcatfgiprotected import CVEnumISMCATFGIProtectedValuesvalue
from .external.ism_v13.schema.ismcat.cvegenerated.cvenum_ismcatowner_producer import CVEnumISMCATOwnerProducerValuesvalue
from .external.ism_v13.schema.ismcat.cvegenerated.cvenum_ismcatrel_to import CVEnumISMCATRelToValuesvalue
from .sfa import LinearRingType, LineType, MultiLineStringType, MultiPointType, MultiPolygonType, PointType
from .sfa import PolygonType as SfaPolygonType
from .sfa import PolyhedralSurfaceType, ReferenceSystemType
from .sicommon_types_v1_0 import (
    AngleMagnitudeType,
    CornerStringType,
    ErrorStatisticsType,
    GeoInfo,
    LatLonType,
    LatLonVertexType,
    MatchInfoType,
    ParameterType,
    Polarization1Typevalue,
    Poly2DType,
    RadarModeType,
    RadiometricType,
    RangeAzimuthType,
    ReferencePointType,
    RowColDoubleType,
    RowColIntType,
    RowColVertexType,
    XYZPolyType,
    XYZType,
)

__NAMESPACE__ = "urn:SIDD:2.0.0"


[docs] @dataclass class AccuracyType: horizontal: List[float] = field( default_factory=list, metadata={ "name": "Horizontal", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) vertical: List[float] = field( default_factory=list, metadata={ "name": "Vertical", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class AcheivedResolutionType: """ Finest achievable resolution parameters. """
[docs] @dataclass class ClassificationGuidanceType: """ Classification guidance authority (only if file is classified). :ivar authority: Classifying authority. :ivar date: Date that the authority was provided. Specified in YYYY-MM-DD. """ authority: Optional[str] = field( default=None, metadata={ "name": "Authority", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) date: Optional[XmlDate] = field( default=None, metadata={ "name": "Date", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class DRAHistogramOverridesType: """ :ivar clip_min: Suggested override for the lower end-point of the display histogram in the ELT DRA application. Referred to as Pmin in SIPS documentation. :ivar clip_max: Suggested override for the upper end-point of the display histogram in the ELT DRA application. Referred to as Pmax in SIPS documentation. """ clip_min: Optional[int] = field( default=None, metadata={ "name": "ClipMin", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) clip_max: Optional[int] = field( default=None, metadata={ "name": "ClipMax", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class DRAOverrides: """ :ivar subtractor: Subtractor value used to reduce haze in the image. Range: [0.0 to 2047.0] :ivar multiplier: Multiplier value used to reduce haze in the image. Range: [0.0 to 2047.0] """ subtractor: Optional[float] = field( default=None, metadata={ "name": "Subtractor", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) multiplier: Optional[float] = field( default=None, metadata={ "name": "Multiplier", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class DRAParameters: """ :ivar pmin: DRA clip low point. This is the cumulative histogram percentage value that defines the lower end- point of the dynamic range to be displayed. Range: [0.0 to 1.0] :ivar pmax: DRA clip high point. This is the cumulative histogram percentage value that defines the upper end-point of the dynamic range to be displayed. Range: [0.0 to 1.0] :ivar emin_modifier: The pixel value corresponding to the Pmin percentage poitn in the image histogram. Range: [0.0 to 1.0]/ :ivar emax_modifier: The pixel value corresponding to the Pmax percentage poitn in the image histogram. Range: [0.0 to 1.0]/ """ pmin: Optional[float] = field( default=None, metadata={ "name": "Pmin", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) pmax: Optional[float] = field( default=None, metadata={ "name": "Pmax", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) emin_modifier: Optional[float] = field( default=None, metadata={ "name": "EminModifier", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) emax_modifier: Optional[float] = field( default=None, metadata={ "name": "EmaxModifier", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] class DownsamplingMethodType(Enum): DECIMATE = "DECIMATE" MAX_PIXEL = "MAX PIXEL" AVERAGE = "AVERAGE" NEAREST_NEIGHBOR = "NEAREST NEIGHBOR" BILINEAR = "BILINEAR" LAGRANGE = "LAGRANGE"
[docs] class EarthModelType(Enum): """Identifies the earth model used for latitude, longitude and height parameters. All height values are Height Above The Ellipsoid (HAE). """ WGS_84 = "WGS_84"
[docs] class EqualizationAlgorithmType(Enum): VALUE_1_DLUT = "1DLUT"
[docs] @dataclass class FilterBankCoefType: coef: List["FilterBankCoefType.Coef"] = field( default_factory=list, metadata={ "name": "Coef", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) num_phasings: Optional[int] = field( default=None, metadata={ "name": "numPhasings", "type": "Attribute", "required": True, }, ) num_points: Optional[int] = field( default=None, metadata={ "name": "numPoints", "type": "Attribute", "required": True, }, )
[docs] @dataclass class Coef: value: Optional[float] = field( default=None, metadata={ "required": True, }, ) phasing: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, ) point: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] class FilterDatabaseNameType(Enum): BILINEAR = "BILINEAR" CUBIC = "CUBIC" LAGRANGE = "LAGRANGE" NEAREST_NEIGHBOR = "NEAREST NEIGHBOR"
[docs] @dataclass class FilterKernelCoefType: coef: List["FilterKernelCoefType.Coef"] = field( default_factory=list, metadata={ "name": "Coef", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) num_rows: Optional[int] = field( default=None, metadata={ "name": "numRows", "type": "Attribute", "required": True, }, ) num_cols: Optional[int] = field( default=None, metadata={ "name": "numCols", "type": "Attribute", "required": True, }, )
[docs] @dataclass class Coef: value: Optional[float] = field( default=None, metadata={ "required": True, }, ) row: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, ) col: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] class FilterOperationType(Enum): CONVOLUTION = "CONVOLUTION" CORRELATION = "CORRELATION"
[docs] class GeopositioningTypeCoordinateSystemType(Enum): GCS = "GCS" UTM = "UTM"
[docs] class GeopositioningTypeGeodeticDatum(Enum): WORLD_GEODETIC_SYSTEM_1984 = "World Geodetic System 1984"
[docs] class GeopositioningTypeReferenceEllipsoid(Enum): WORLD_GEODETIC_SYSTEM_1984 = "World Geodetic System 1984"
[docs] class GeopositioningTypeSoundingDatum(Enum): MEAN_SEA_LEVEL = "Mean Sea Level"
[docs] class GeopositioningTypeVerticalDatum(Enum): MEAN_SEA_LEVEL = "Mean Sea Level"
[docs] @dataclass class LayerType: """ :ivar bitrate: The bit rate target associated with the layer. It may happen that the bit rate was not achieved due to data characteristics. Note: for JPEG 2000 numerically lossless quality, the bit rate for the final layer is an expected value, based on performance. :ivar index: """ bitrate: Optional[float] = field( default=None, metadata={ "name": "Bitrate", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) index: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class Lookup3TableType: """ :ivar value: :ivar size: Size of LUT """ value: List[str] = field( default_factory=list, metadata={ "pattern": r"([0-9]+),([0-9]+),([0-9]+)", "tokens": True, }, ) size: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class LookupTableType: """ :ivar value: :ivar lut: Size of LUT. """ value: List[int] = field( default_factory=list, metadata={ "tokens": True, }, ) lut: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] class MeasurementTypeARPFlag(Enum): """ :cvar REALTIME: Based on ephemeries at time of collect :cvar PREDICTED: Based on predicted ephemeries (i.e. pre-collect) :cvar POST_PROCESSED: Ephemeris has been refined after data collection """ REALTIME = "REALTIME" PREDICTED = "PREDICTED" POST_PROCESSED = "POST PROCESSED"
[docs] class PixelType(Enum): MONO8_I = "MONO8I" MONO8_LU = "MONO8LU" MONO16_I = "MONO16I" RGB8_LU = "RGB8LU" RGB24_I = "RGB24I"
[docs] @dataclass class PredefinedLookupType: """ :ivar database_name: Database name of LUT to use. :ivar remap_family: Index specifying the remap family. :ivar remap_member: Index specifying the member for the remap family. """ database_name: Optional[str] = field( default=None, metadata={ "name": "DatabaseName", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) remap_family: Optional[int] = field( default=None, metadata={ "name": "RemapFamily", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) remap_member: Optional[int] = field( default=None, metadata={ "name": "RemapMember", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ProcessorInformationType: """ :ivar application: Software application name and version number. :ivar processing_date_time: Date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC. :ivar site: Creation location of product. :ivar profile: Product-specific profile applied during product processing. """ application: Optional[str] = field( default=None, metadata={ "name": "Application", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) processing_date_time: Optional[XmlDateTime] = field( default=None, metadata={ "name": "ProcessingDateTime", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) site: Optional[str] = field( default=None, metadata={ "name": "Site", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) profile: Optional[str] = field( default=None, metadata={ "name": "Profile", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] class RangeAdjustmentAlgorithmType(Enum): """ Algorithm used for dynamic range adjustment. """ AUTO = "AUTO" MANUAL = "MANUAL" NONE = "NONE"
[docs] class RenderingIntentType(Enum): PERCEPTUAL = "PERCEPTUAL" SATURATION = "SATURATION" RELATIVE = "RELATIVE" ABSOLUTE = "ABSOLUTE"
[docs] class ShadowDirectionType(Enum): """ Descirbes the shadow direciton relative to the pixels in the file. """ UP = "UP" DOWN = "DOWN" LEFT = "LEFT" RIGHT = "RIGHT" ARBITRARY = "ARBITRARY"
[docs] @dataclass class AnnotationObjectType: """ Geometrical representation of the annotation. """ point: Optional[PointType] = field( default=None, metadata={ "name": "Point", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) line: Optional[LineType] = field( default=None, metadata={ "name": "Line", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) linear_ring: Optional[LinearRingType] = field( default=None, metadata={ "name": "LinearRing", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) polygon: Optional[SfaPolygonType] = field( default=None, metadata={ "name": "Polygon", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) polyhedral_surface: Optional[PolyhedralSurfaceType] = field( default=None, metadata={ "name": "PolyhedralSurface", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) multi_polygon: Optional[MultiPolygonType] = field( default=None, metadata={ "name": "MultiPolygon", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) multi_line_string: Optional[MultiLineStringType] = field( default=None, metadata={ "name": "MultiLineString", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) multi_point: Optional[MultiPointType] = field( default=None, metadata={ "name": "MultiPoint", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class BankCustomType: filter_coefficients: Optional[FilterBankCoefType] = field( default=None, metadata={ "name": "FilterCoefficients", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class BaseProjectionType: """ :ivar reference_point: Reference point for the geometrical system. """ reference_point: Optional[ReferencePointType] = field( default=None, metadata={ "name": "ReferencePoint", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class ColorDisplayRemapType: """ Object representing that the data requires color display. :ivar remap_lut: LUT-base remap indicating that the color display is done through index-based color. """ remap_lut: Optional[Lookup3TableType] = field( default=None, metadata={ "name": "RemapLUT", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class ColorManagementModuleType: """ Parameters describing the Color Management Module (CMM). :ivar rendering_intent: :ivar source_profile: Name of sensor profile in ICC Profile database. :ivar display_profile: Name of display profile in ICC Profile database. :ivar iccprofile_signature: Valid ICC profile signature. """ rendering_intent: Optional[RenderingIntentType] = field( default=None, metadata={ "name": "RenderingIntent", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) source_profile: Optional[str] = field( default=None, metadata={ "name": "SourceProfile", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) display_profile: Optional[str] = field( default=None, metadata={ "name": "DisplayProfile", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) iccprofile_signature: Optional[str] = field( default=None, metadata={ "name": "ICCProfileSignature", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class DynamicRangeAdjustmentType: """ Parameter describing DRA. :ivar algorithm_type: Algorithm used for dynamic range adjustment. :ivar band_stats_source: Indicates which band to use in computing statistics for DRA. Valid range = 1 to NumBands. :ivar draparameters: :ivar draoverrides: """ algorithm_type: Optional[RangeAdjustmentAlgorithmType] = field( default=None, metadata={ "name": "AlgorithmType", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) band_stats_source: Optional[int] = field( default=None, metadata={ "name": "BandStatsSource", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) draparameters: Optional[DRAParameters] = field( default=None, metadata={ "name": "DRAParameters", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) draoverrides: Optional[DRAOverrides] = field( default=None, metadata={ "name": "DRAOverrides", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ExploitationFeaturesCollectionGeometryType: """Key geometry parameters independent of product processing. All values computed at the center time of the full collection. :ivar azimuth: Angle clockwise from north indicating the ETP line of sight vector. :ivar slope: Angle between the ETP at scene center and the range vector perpendicular to the direction of motion. :ivar squint: Angle from the ground track to platform velocity vector at nadir. Left-look is positive, right- look is negative. :ivar graze: Angle between the ETP and the line of sight vector. :ivar tilt: Angle between the ETP and the cross range vector. Also known as the twist angle. :ivar doppler_cone_angle: The angle between the velocity vector and the radar line-of-sight vector. Also known as the slant plane squint angle. :ivar extension: Exploitation feature extension related to geometry for a single input image """ azimuth: Optional[float] = field( default=None, metadata={ "name": "Azimuth", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) slope: Optional[float] = field( default=None, metadata={ "name": "Slope", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": 0.0, "max_inclusive": 90.0, }, ) squint: Optional[float] = field( default=None, metadata={ "name": "Squint", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, ) graze: Optional[float] = field( default=None, metadata={ "name": "Graze", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": 0.0, "max_inclusive": 90.0, }, ) tilt: Optional[float] = field( default=None, metadata={ "name": "Tilt", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, ) doppler_cone_angle: Optional[float] = field( default=None, metadata={ "name": "DopplerConeAngle", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": 0.0, "max_exclusive": 180.0, }, ) extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "Extension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ExploitationFeaturesCollectionPhenomenologyType: """Phenomenology related to both the geometry and the final product processing. All values computed at the center time of the full collection. :ivar shadow: The phenomon where vertical objects occlude radar energy. :ivar layover: The phenomenon where vertical objects appear as ground objects with the same range/range rate. :ivar multi_path: This is a range dependent phenomenon which describes the energy from a single scatter returned to the radar via more than one path and results in a nominally constant direction in the ETP. :ivar ground_track: Counter-clockwise angle from increasing row direction to ground track at the center of the image. :ivar extension: Exploitation feature extension related to phenomenology for a single input image """ shadow: Optional[AngleMagnitudeType] = field( default=None, metadata={ "name": "Shadow", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) layover: Optional[AngleMagnitudeType] = field( default=None, metadata={ "name": "Layover", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) multi_path: Optional[float] = field( default=None, metadata={ "name": "MultiPath", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, ) ground_track: Optional[float] = field( default=None, metadata={ "name": "GroundTrack", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, ) extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "Extension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class GeographicCoordinatesType: """ Describes the Local Geographic Coordinate system linking row/column to the absolute geographic coordinate (lat/lon) :ivar longitude_density: Pixel ground spacing in E/W direction that is the number of pixels or element intervals in 360 degrees. :ivar latitude_density: Pixel ground spacing in N/S direction that is the number of pixels or element intervals in 360 degrees. :ivar reference_origin: Northwest corner Latitude/Longitude - product NW corner """ longitude_density: Optional[float] = field( default=None, metadata={ "name": "LongitudeDensity", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) latitude_density: Optional[float] = field( default=None, metadata={ "name": "LatitudeDensity", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) reference_origin: Optional[LatLonType] = field( default=None, metadata={ "name": "ReferenceOrigin", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class GeometricChipType: """Contains information related to downstream chipping of the product. There is only one instance, and the instance is updated with respect to the full image parameters. For example, if an image is chipped out of a smaller chip, the new chip needs to be updated to the original full image corners. Since this relationship is linear, bi-linear interpolation is sufficient to determine an arbitrary chip coordinate in terms of the original full image coordinates. Chipping is typically done using an exploitation tool, and should not be done in the initial product creation. :ivar chip_size: Size of the chipped product in pixels. :ivar original_upper_left_coordinate: Upper-left corner with respect to the original product. :ivar original_upper_right_coordinate: Upper-right corner with respect to the original product. :ivar original_lower_left_coordinate: Lower-left corner with respect to the original product. :ivar original_lower_right_coordinate: Lower-right corner with respect to the original product. """ chip_size: Optional[RowColIntType] = field( default=None, metadata={ "name": "ChipSize", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) original_upper_left_coordinate: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "OriginalUpperLeftCoordinate", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) original_upper_right_coordinate: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "OriginalUpperRightCoordinate", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) original_lower_left_coordinate: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "OriginalLowerLeftCoordinate", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) original_lower_right_coordinate: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "OriginalLowerRightCoordinate", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class GeopositioningType: """ Describes the absolute coordinate system to which the data is referenced. :ivar coordinate_system_type: :ivar geodetic_datum: :ivar reference_ellipsoid: :ivar vertical_datum: :ivar sounding_datum: :ivar false_origin: Z values false origin :ivar utmgrid_zone_number: Gride zone number, required for UTM, not include for GCS. (4 character field) Values: +001 to +060 (northern hemisphere) -001 to -060 (southern hemisphere) """ coordinate_system_type: Optional[GeopositioningTypeCoordinateSystemType] = field( default=None, metadata={ "name": "CoordinateSystemType", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) geodetic_datum: Optional[GeopositioningTypeGeodeticDatum] = field( default=None, metadata={ "name": "GeodeticDatum", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) reference_ellipsoid: Optional[GeopositioningTypeReferenceEllipsoid] = field( default=None, metadata={ "name": "ReferenceEllipsoid", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) vertical_datum: Optional[GeopositioningTypeVerticalDatum] = field( default=None, metadata={ "name": "VerticalDatum", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) sounding_datum: Optional[GeopositioningTypeSoundingDatum] = field( default=None, metadata={ "name": "SoundingDatum", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) false_origin: Optional[int] = field( default=None, metadata={ "name": "FalseOrigin", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) utmgrid_zone_number: Optional[int] = field( default=None, metadata={ "name": "UTMGridZoneNumber", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ImageCornersType: """Parameters apply to image corners of the product projected to the same height as the SCP. These corners are an approximate geographic location that is not intended for analytical use. :ivar icp: Image Corner Point (ICP) data for the 4 corners in product. ICPs indexed x = 1, 2, 3, 4, clockwise. """ icp: List["ImageCornersType.ICP"] = field( default_factory=list, metadata={ "name": "ICP", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 4, "max_occurs": 4, }, )
[docs] @dataclass class ICP(LatLonType): index: Optional[CornerStringType] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class InputROIType: """ ROI representing portion of input data used to make this product. :ivar size: Number of rows and columns extracted from the input. :ivar upper_left: The upper-left pixel extracted from the input. """ size: Optional[RowColIntType] = field( default=None, metadata={ "name": "Size", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) upper_left: Optional[RowColIntType] = field( default=None, metadata={ "name": "UpperLeft", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class KernelCustomType: filter_coefficients: Optional[FilterKernelCoefType] = field( default=None, metadata={ "name": "FilterCoefficients", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class LUTInfoType: lutvalues: List[LookupTableType] = field( default_factory=list, metadata={ "name": "LUTValues", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) num_luts: Optional[int] = field( default=None, metadata={ "name": "numLuts", "type": "Attribute", "required": True, }, ) size: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class LayerInfoType: """Original Layer Information. The following fileds repeat for all layers in (0, 1, ..., numLayers - 1). The default number of layers per tile in original image out of the original processor. :ivar layer: Layer Index Number indicates the number of layers being described. Layers are numbered from 0 to (numLayers - 1). :ivar num_layers: """ layer: List[LayerType] = field( default_factory=list, metadata={ "name": "Layer", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) num_layers: Optional[int] = field( default=None, metadata={ "name": "numLayers", "type": "Attribute", "required": True, }, )
[docs] @dataclass class MonochromeDisplayRemapType: """This remap works by taking the input space and using the LUT to map it to a log space (for 8-bit only). From the log space the C0 and Ch fields are applied to get to display-ready density space. The density should then be rendered by the TTC and monitor comp. This means that the default DRA should not apply anything besides the clip points. If a different contrast/brightness is applied it should be done through modification of the clip points via DRA. Examples: Remap LUT Clips ============================= PEDF PEDF->D 0,255 LLG LLG->A->LogA C0,Ch Log N/A C0,Ch NRL N/A 0,255 (Supposed to be display ready) :ivar remap_type: Name of remap applied (for informational purposes only). :ivar remap_parameter: Textual remap parameter. Filled based upon remap type (for informational purposes only). For example, if the data is linlog encoded a RemapParameter could be used to describe any amplitude scaling that was performed prior to linlog encoding the data. """ remap_type: Optional[str] = field( default=None, metadata={ "name": "RemapType", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) remap_parameter: List[ParameterType] = field( default_factory=list, metadata={ "name": "RemapParameter", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class Orientation: """ Parameters describing the default orientation of the product. :ivar shadow_direction: Descirbes the shadow direciton relative to the pixels in the file. """ shadow_direction: Optional[ShadowDirectionType] = field( default=None, metadata={ "name": "ShadowDirection", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class PolygonType: """Indicates the full image includes both valid data and some zero filled pixels. Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order. :ivar vertex: Vertices indexed n = 1, 2, ..., NumVertices. NumVertices >= 3. Vertex 1 is determined by (1) minimum row index, (2) minimum column index if 2 vertices with minimum row index, 1st and last vertices are connected to form the polygon. :ivar size: """ vertex: List[LatLonVertexType] = field( default_factory=list, metadata={ "name": "Vertex", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 3, }, ) size: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class PositionalAccuracyType: """ Describes the horizontal and vertical point and regional information for the DED. :ivar num_regions: Number of positional accuracy regions. :ivar absolute_accuracy: :ivar point_to_point_accuracy: """ num_regions: Optional[int] = field( default=None, metadata={ "name": "NumRegions", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) absolute_accuracy: Optional[AccuracyType] = field( default=None, metadata={ "name": "AbsoluteAccuracy", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) point_to_point_accuracy: Optional[AccuracyType] = field( default=None, metadata={ "name": "PointToPointAccuracy", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class PredefinedFilterType: database_name: Optional[FilterDatabaseNameType] = field( default=None, metadata={ "name": "DatabaseName", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) filter_family: Optional[int] = field( default=None, metadata={ "name": "FilterFamily", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) filter_member: Optional[int] = field( default=None, metadata={ "name": "FilterMember", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ProcTxRcvPolarizationType: """ :ivar tx_polarization_proc: Polarization transmit type :ivar rcv_polarization_proc: Receive polarization type """ tx_polarization_proc: Optional[Union[str, Polarization1Typevalue]] = field( default=None, metadata={ "name": "TxPolarizationProc", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, "pattern": r"OTHER.*", }, ) rcv_polarization_proc: Optional[Union[str, Polarization1Typevalue]] = field( default=None, metadata={ "name": "RcvPolarizationProc", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, "pattern": r"OTHER.*", }, )
[docs] @dataclass class ProcessingEventType: """ :ivar application_name: Application which applied a modification. :ivar applied_date_time: Date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC. :ivar interpolation_method: Type of interpolation applied to the data. :ivar descriptor: Descriptor for the processing event. """ application_name: Optional[str] = field( default=None, metadata={ "name": "ApplicationName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) applied_date_time: Optional[XmlDateTime] = field( default=None, metadata={ "name": "AppliedDateTime", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) interpolation_method: Optional[str] = field( default=None, metadata={ "name": "InterpolationMethod", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) descriptor: List[ParameterType] = field( default_factory=list, metadata={ "name": "Descriptor", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ProcessingModuleType: """ :ivar module_name: The name of the algorithm used in processing the product. :ivar module_parameter: Parameters associated with the algorithm used in processing the product. :ivar processing_module: ProcessingModule is a repeatable structure within itself to create an algorithm as a subset of another algorithm. """ module_name: Optional[ParameterType] = field( default=None, metadata={ "name": "ModuleName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) module_parameter: List[ParameterType] = field( default_factory=list, metadata={ "name": "ModuleParameter", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) processing_module: List["ProcessingModuleType"] = field( default_factory=list, metadata={ "name": "ProcessingModule", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ProductClassificationType: """ The overall classification of the product. :ivar security_extension: Extensible parameters used to support profile-specific needs related to product security. :ivar desversion: :ivar ismcatcesversion: :ivar resource_element: :ivar complies_with: :ivar create_date: :ivar exempt_from: :ivar classification: :ivar owner_producer: :ivar joint: :ivar scicontrols: :ivar saridentifier: :ivar atomic_energy_markings: :ivar dissemination_controls: :ivar display_only_to: :ivar fgisource_open: :ivar fgisource_protected: :ivar releasable_to: :ivar non_icmarkings: :ivar classified_by: :ivar compilation_reason: :ivar derivatively_classified_by: :ivar classification_reason: :ivar non_uscontrols: :ivar derived_from: :ivar declass_date: :ivar declass_event: :ivar declass_exception: :ivar notice_type: :ivar notice_reason: :ivar notice_date: :ivar unregistered_notice_type: :ivar external_notice: """ security_extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "SecurityExtension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) desversion: Optional[str] = field( default=None, metadata={ "name": "DESVersion", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, "max_length": 256, }, ) ismcatcesversion: Optional[str] = field( default=None, metadata={ "name": "ISMCATCESVersion", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, "max_length": 256, }, ) resource_element: Optional[bool] = field( default=None, metadata={ "name": "resourceElement", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, }, ) complies_with: List[CVEnumISMCompliesWithValues] = field( default_factory=list, metadata={ "name": "compliesWith", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, "tokens": True, }, ) create_date: Optional[XmlDate] = field( default=None, metadata={ "name": "createDate", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, }, ) exempt_from: List[CVEnumISMExemptFromValues] = field( default_factory=list, metadata={ "name": "exemptFrom", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "tokens": True, }, ) classification: Optional[CVEnumISMClassificationAll] = field( default=None, metadata={ "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, }, ) owner_producer: List[Union[str, CVEnumISMCATOwnerProducerValuesvalue]] = field( default_factory=list, metadata={ "name": "ownerProducer", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "required": True, "pattern": r"NATO/[a-zA-Z\-_]", "tokens": True, }, ) joint: Optional[bool] = field( default=None, metadata={ "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", }, ) scicontrols: List[Union[str, CVEnumISMSCIControlsValuesvalue]] = field( default_factory=list, metadata={ "name": "SCIcontrols", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"KDK-BLFH-[A-Z0-9]{1,6}|KDK-IDIT-[A-Z0-9]{1,6}|KDK-KAND-[A-Z0-9]{1,6}|RSV-[A-Z0-9]{3}|SI-G-[A-Z]{4}|SI-[A-Z]{3}|SI-[A-Z]{3}-[A-Z]{4}", "tokens": True, }, ) saridentifier: List[str] = field( default_factory=list, metadata={ "name": "SARIdentifier", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"[A-Z_0-9\-]{1,100}|[A-Z]{2,}|[A-Z]{2,}-[A-Z][A-Z0-9]+|[A-Z]{2,}-[A-Z][A-Z0-9]+-[A-Z0-9]{2,}", "tokens": True, }, ) atomic_energy_markings: List[Union[str, CVEnumISMatomicEnergyMarkingsValuesvalue]] = field( default_factory=list, metadata={ "name": "atomicEnergyMarkings", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"RD-SG-((14)|(15)|(18)|(20))|FRD-SG-((14)|(15)|(18)|(20))", "tokens": True, }, ) dissemination_controls: List[CVEnumISMDissemValues] = field( default_factory=list, metadata={ "name": "disseminationControls", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "tokens": True, }, ) display_only_to: List[Union[str, CVEnumISMCATRelToValuesvalue]] = field( default_factory=list, metadata={ "name": "displayOnlyTo", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"NATO/[a-zA-Z\-_]", "tokens": True, }, ) fgisource_open: List[Union[str, CVEnumISMCATFGIOpenValuesvalue]] = field( default_factory=list, metadata={ "name": "FGIsourceOpen", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"NATO/[a-zA-Z\-_]", "tokens": True, }, ) fgisource_protected: List[Union[str, CVEnumISMCATFGIProtectedValuesvalue]] = field( default_factory=list, metadata={ "name": "FGIsourceProtected", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"NATO/[a-zA-Z\-_]", "tokens": True, }, ) releasable_to: List[Union[str, CVEnumISMCATRelToValuesvalue]] = field( default_factory=list, metadata={ "name": "releasableTo", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"NATO/[a-zA-Z\-_]", "tokens": True, }, ) non_icmarkings: List[Union[str, CVEnumISMNonICValuesvalue]] = field( default_factory=list, metadata={ "name": "nonICmarkings", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "pattern": r"ACCM-[A-Z0-9\-_]{1,61}|NNPI", "tokens": True, }, ) classified_by: Optional[str] = field( default=None, metadata={ "name": "classifiedBy", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 1024, }, ) compilation_reason: Optional[str] = field( default=None, metadata={ "name": "compilationReason", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 1024, }, ) derivatively_classified_by: Optional[str] = field( default=None, metadata={ "name": "derivativelyClassifiedBy", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 1024, }, ) classification_reason: Optional[str] = field( default=None, metadata={ "name": "classificationReason", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 4096, }, ) non_uscontrols: List[CVEnumISMNonUSControlsValues] = field( default_factory=list, metadata={ "name": "nonUSControls", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "tokens": True, }, ) derived_from: Optional[str] = field( default=None, metadata={ "name": "derivedFrom", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 1024, }, ) declass_date: Optional[XmlDate] = field( default=None, metadata={ "name": "declassDate", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", }, ) declass_event: Optional[str] = field( default=None, metadata={ "name": "declassEvent", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 1024, }, ) declass_exception: Optional[CVEnumISM25X] = field( default=None, metadata={ "name": "declassException", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", }, ) notice_type: List[CVEnumISMNoticeValues] = field( default_factory=list, metadata={ "name": "noticeType", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "tokens": True, }, ) notice_reason: Optional[str] = field( default=None, metadata={ "name": "noticeReason", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 2048, }, ) notice_date: Optional[XmlDate] = field( default=None, metadata={ "name": "noticeDate", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", }, ) unregistered_notice_type: Optional[str] = field( default=None, metadata={ "name": "unregisteredNoticeType", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", "max_length": 2048, }, ) external_notice: Optional[bool] = field( default=None, metadata={ "name": "externalNotice", "type": "Attribute", "namespace": "urn:us:gov:ic:ism:13", }, )
[docs] @dataclass class ProductPlaneType: """ Plane definition for the product. :ivar row_unit_vector: Unit vector of the plane defined to be aligned in the increasing row direction of the product. (Defined as Rpgd in Design and Exploitation document) :ivar col_unit_vector: Unit vector of the plane defined to be aligned in the increasing column direction of the product. (Defined as Cpgd in Design and Exploitation document) """ row_unit_vector: Optional[XYZType] = field( default=None, metadata={ "name": "RowUnitVector", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) col_unit_vector: Optional[XYZType] = field( default=None, metadata={ "name": "ColUnitVector", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class TxRcvPolarizationType: """ :ivar tx_polarization: Polarization transmit type :ivar rcv_polarization: Receive polarization type :ivar rcv_polarization_offset: Optional angle offset for the receive polarization defined at aperture center. """ tx_polarization: Optional[Union[str, Polarization1Typevalue]] = field( default=None, metadata={ "name": "TxPolarization", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, "pattern": r"OTHER.*", }, ) rcv_polarization: Optional[Union[str, Polarization1Typevalue]] = field( default=None, metadata={ "name": "RcvPolarization", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, "pattern": r"OTHER.*", }, ) rcv_polarization_offset: Optional[float] = field( default=None, metadata={ "name": "RcvPolarizationOffset", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, )
[docs] @dataclass class ValidDataType: """Indicates the full image includes both valid data and some zero filled pixels. Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order. :ivar vertex: Vertices indexed n = 1, 2, ..., NumVertices. NumVertices >= 3. Vertex 1 is determined by (1) minimum row index, (2) minimum column index if 2 vertices with minimum row index, 1st and last vertices are connected to form the polygon. :ivar size: """ vertex: List[RowColVertexType] = field( default_factory=list, metadata={ "name": "Vertex", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 3, }, ) size: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class AnnotationType: """ Single annotation. :ivar identifier: Identifier for the annotation which idicates the type of object represented by this annotation. :ivar spatial_reference_system: Spatial reference system of the annotation. Assumed to be WGS-84 geographic coordinate system if not specified with (lat, lon, h) units in (arc-sec, arc-sec, meters above ellipsoid). :ivar object_value: The geometrical representation of the annotation. """ identifier: Optional[str] = field( default=None, metadata={ "name": "Identifier", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) spatial_reference_system: Optional[ReferenceSystemType] = field( default=None, metadata={ "name": "SpatialReferenceSystem", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) object_value: List[AnnotationObjectType] = field( default_factory=list, metadata={ "name": "Object", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class ColorSpaceTransformType: """ :ivar color_management_module: Parameters describing the Color Management Module (CMM). """ color_management_module: Optional[ColorManagementModuleType] = field( default=None, metadata={ "name": "ColorManagementModule", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class CustomLookupType: lutinfo: Optional[LUTInfoType] = field( default=None, metadata={ "name": "LUTInfo", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class DigitalElevationDataType: """ This block describes the Digital ElevatioNData when it is included with the SIDD product. :ivar geographic_coordinates: Describes the Local Geographic Coordinate system linking row/column to the absolute geographic coordinate (lat/lon) :ivar geopositioning: Describes the absolute coordinate system to which the data is referenced. :ivar positional_accuracy: Describes the horizontal and vertical point and regional information for the DED. :ivar null_value: """ geographic_coordinates: Optional[GeographicCoordinatesType] = field( default=None, metadata={ "name": "GeographicCoordinates", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) geopositioning: Optional[GeopositioningType] = field( default=None, metadata={ "name": "Geopositioning", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) positional_accuracy: Optional[PositionalAccuracyType] = field( default=None, metadata={ "name": "PositionalAccuracy", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) null_value: Optional[int] = field( default=None, metadata={ "name": "NullValue", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class DownstreamReprocessingType: """ :ivar geometric_chip: Contains information related to downstream chipping of the product. :ivar processing_event: Contains information related to downstream processing of the product. """ geometric_chip: Optional[GeometricChipType] = field( default=None, metadata={ "name": "GeometricChip", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) processing_event: List[ProcessingEventType] = field( default_factory=list, metadata={ "name": "ProcessingEvent", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ExploitationFeaturesCollectionInformationType: """ General collection information. :ivar sensor_name: The name of the sensor. :ivar radar_mode: Radar collection mode. The ModeType refers to the collection type [SPOTLIGHT, STRIPMAP, DYNAMIC STRIPMAP]. The optional ModeID is used to represent system-specific mode identifiers. :ivar collection_date_time: Collection date and time defined in Coordinated Universal Time (UTC). The seconds should be followed by a Z to indicate UTC. :ivar local_date_time: Date and time defined in local time. :ivar collection_duration: The duration of the collection (units = seconds). :ivar resolution: Uniformly-weighted resolution (range and azimuth) processed in the slant plane. :ivar input_roi: ROI representing portion of input data used to make this product. :ivar polarization: Transmit and receive polarization. """ sensor_name: Optional[str] = field( default=None, metadata={ "name": "SensorName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) radar_mode: Optional[RadarModeType] = field( default=None, metadata={ "name": "RadarMode", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) collection_date_time: Optional[XmlDateTime] = field( default=None, metadata={ "name": "CollectionDateTime", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) local_date_time: Optional[XmlDateTime] = field( default=None, metadata={ "name": "LocalDateTime", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) collection_duration: Optional[float] = field( default=None, metadata={ "name": "CollectionDuration", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) resolution: Optional[RangeAzimuthType] = field( default=None, metadata={ "name": "Resolution", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) input_roi: Optional[InputROIType] = field( default=None, metadata={ "name": "InputROI", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) polarization: List[TxRcvPolarizationType] = field( default_factory=list, metadata={ "name": "Polarization", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ExploitationFeaturesProductType: """ Metadata regarding the product. :ivar resolution: Uniformly-weighted resolution projected into the Earth Tangent Plane (ETP). :ivar ellipticity: Ellipticity of the 2D-IPR at the ORP, measured in the Earth Geodetic Tangent Plane (EGTP). Ellipticity is the ratio of the IPR ellipse's major axis to minor axis. :ivar polarization: Describes the processed transmit and receive polarizations for the product. :ivar north: Counter-clockwise angle from increasing row direction to north at the center of the image. :ivar extension: Exploitation feature extension for the end product """ resolution: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "Resolution", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) ellipticity: Optional[float] = field( default=None, metadata={ "name": "Ellipticity", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) polarization: List[ProcTxRcvPolarizationType] = field( default_factory=list, metadata={ "name": "Polarization", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) north: Optional[float] = field( default=None, metadata={ "name": "North", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_inclusive": -180.0, "max_inclusive": 180.0, }, ) extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "Extension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class FilterBankType: predefined: Optional[PredefinedFilterType] = field( default=None, metadata={ "name": "Predefined", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) custom: Optional[BankCustomType] = field( default=None, metadata={ "name": "Custom", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class FilterKernelType: predefined: Optional[PredefinedFilterType] = field( default=None, metadata={ "name": "Predefined", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) custom: Optional[KernelCustomType] = field( default=None, metadata={ "name": "Custom", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class GeoDataType: """ This block describes the geographic coordinates of the region covered by the image. :ivar earth_model: Identifies the earth model used for latitude, longitude and height parameters. All height values are Height Above The Ellipsoid (HAE). :ivar image_corners: Parameters apply to image corners of the product projected to the same height as the SCP. These corners are an approximate geographic location that is not intended for analytical use. :ivar valid_data: Indicates the full image includes both valid data and some zero filled pixels. Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order. :ivar geo_info: Parameters describing geographic features. Note: the GeoInfo block may be used as a block within itself. """ earth_model: Optional[EarthModelType] = field( default=None, metadata={ "name": "EarthModel", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) image_corners: Optional[ImageCornersType] = field( default=None, metadata={ "name": "ImageCorners", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) valid_data: Optional[PolygonType] = field( default=None, metadata={ "name": "ValidData", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) geo_info: List[GeoInfo] = field( default_factory=list, metadata={ "name": "GeoInfo", "type": "Element", "namespace": "urn:SICommon:1.0", }, )
[docs] @dataclass class J2KSubtype: """ :ivar num_wavelet_levels: The default number of wavelet decompositionlevels performed per tile in the original image out of the processors. :ivar num_bands: The number of spectral bands in the original image out of the processors. :ivar layer_info: Original Layer Information. The following fileds repeat for all layers in (0, 1, ..., numLayers - 1). The default number of layers per tile in original image out of the original processor. """ num_wavelet_levels: Optional[int] = field( default=None, metadata={ "name": "NumWaveletLevels", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) num_bands: Optional[int] = field( default=None, metadata={ "name": "NumBands", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) layer_info: Optional[LayerInfoType] = field( default=None, metadata={ "name": "LayerInfo", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class MeasurableProjectionType(BaseProjectionType): """ :ivar sample_spacing: Sample spacing in row and column. :ivar time_coapoly: Time (units = seconds) at which center of aperture for a given pixel coordinate in the product occurs. """ sample_spacing: Optional[RowColDoubleType] = field( default=None, metadata={ "name": "SampleSpacing", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) time_coapoly: Optional[Poly2DType] = field( default=None, metadata={ "name": "TimeCOAPoly", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class PolynomialProjectionType(BaseProjectionType): """Polynomial pixel to ground. Only used for sensor systems where the radar geometry parameters are not recorded. :ivar row_col_to_lat: Polynomial that converts Row/Col to Latitude (degrees). :ivar row_col_to_lon: Polynomial that converts Row/Col to Longitude (degrees). :ivar row_col_to_alt: Polynomial that converts Row/Col to Altitude (meters above WGS-84 ellipsoid). :ivar lat_lon_to_row: Polynomial that converts Latitude (degrees) and Longitude (degrees) to pixel row location. :ivar lat_lon_to_col: Polynomial that converts Latitude (degrees) and Longitude (degrees) to pixel column location """ row_col_to_lat: Optional[Poly2DType] = field( default=None, metadata={ "name": "RowColToLat", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) row_col_to_lon: Optional[Poly2DType] = field( default=None, metadata={ "name": "RowColToLon", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) row_col_to_alt: Optional[Poly2DType] = field( default=None, metadata={ "name": "RowColToAlt", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) lat_lon_to_row: Optional[Poly2DType] = field( default=None, metadata={ "name": "LatLonToRow", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) lat_lon_to_col: Optional[Poly2DType] = field( default=None, metadata={ "name": "LatLonToCol", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class ProductCreationType: """ Contains general information about product creation. :ivar processor_information: Details regarding processor. :ivar classification: The overall classification of the product. :ivar product_name: The output product name defined by the processor. :ivar product_class: Class of product. (examples: Dynamic Image, Amplitude Change Detection, Coherent Change Detection, etc.). :ivar product_type: Type of sub-product. (examples: Frame #, Reference, Match, etc.). This field is only needed if there is a suite of associated products. :ivar product_creation_extension: Extensible parameters used to support profile-specific needs related to product creation. """ processor_information: Optional[ProcessorInformationType] = field( default=None, metadata={ "name": "ProcessorInformation", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) classification: Optional[ProductClassificationType] = field( default=None, metadata={ "name": "Classification", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) product_name: Optional[str] = field( default=None, metadata={ "name": "ProductName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) product_class: Optional[str] = field( default=None, metadata={ "name": "ProductClass", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) product_type: Optional[str] = field( default=None, metadata={ "name": "ProductType", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) product_creation_extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "ProductCreationExtension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ProductProcessingType: """ Computed metadata regarding one or more of the input collections and final product. :ivar processing_module: Processing module to keep track of the name and any parameters associated with the algorithms used to produce the SIDD. """ processing_module: List[ProcessingModuleType] = field( default_factory=list, metadata={ "name": "ProcessingModule", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class RemapChoiceType: """ :ivar color_display_remap: Information for proper color display of the data. :ivar monochrome_display_remap: Information for proper monochrome display of the data. """ color_display_remap: Optional[ColorDisplayRemapType] = field( default=None, metadata={ "name": "ColorDisplayRemap", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) monochrome_display_remap: Optional[MonochromeDisplayRemapType] = field( default=None, metadata={ "name": "MonochromeDisplayRemap", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class AnnotationsType: """ :ivar annotation: Annotation Object. """ annotation: List[AnnotationType] = field( default_factory=list, metadata={ "name": "Annotation", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class CylindricalProjectionType(MeasurableProjectionType): """ Cylindrical mapping of the pixel grid. :ivar stripmap_direction: Along stripmap direction :ivar curvature_radius: Radius of Curvature defined at scene center. If not present, the radius of curvature will be derived based upon the equations provided in the Design and Exploitation Document """ stripmap_direction: Optional[XYZType] = field( default=None, metadata={ "name": "StripmapDirection", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) curvature_radius: Optional[float] = field( default=None, metadata={ "name": "CurvatureRadius", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ExploitationFeaturesCollectionType: """ :ivar information: General collection information. :ivar geometry: Key geometry parameters independent of product processing. :ivar phenomenology: Phenomenology related to both the geometry and the final product processing. """ information: Optional[ExploitationFeaturesCollectionInformationType] = field( default=None, metadata={ "name": "Information", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) geometry: Optional[ExploitationFeaturesCollectionGeometryType] = field( default=None, metadata={ "name": "Geometry", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) phenomenology: Optional[ExploitationFeaturesCollectionPhenomenologyType] = field( default=None, metadata={ "name": "Phenomenology", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class FilterType: filter_name: Optional[str] = field( default=None, metadata={ "name": "FilterName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) filter_kernel: Optional[FilterKernelType] = field( default=None, metadata={ "name": "FilterKernel", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) filter_bank: Optional[FilterBankType] = field( default=None, metadata={ "name": "FilterBank", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) operation: Optional[FilterOperationType] = field( default=None, metadata={ "name": "Operation", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class GeographicProjectionType(MeasurableProjectionType): """ Geographic mapping of the pixel grid. """
[docs] @dataclass class J2KType: """ :ivar original: :ivar parsed: Conditional fields that exist only for parsed images. """ original: Optional[J2KSubtype] = field( default=None, metadata={ "name": "Original", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) parsed: Optional[J2KSubtype] = field( default=None, metadata={ "name": "Parsed", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class NewLookupTableType: lutname: Optional[str] = field( default=None, metadata={ "name": "LUTName", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) predefined: Optional[PredefinedLookupType] = field( default=None, metadata={ "name": "Predefined", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) custom: Optional[CustomLookupType] = field( default=None, metadata={ "name": "Custom", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class PlaneProjectionType(MeasurableProjectionType): """ Planar representation of the pixel grid. :ivar product_plane: Plane definition for the product. """ product_plane: Optional[ProductPlaneType] = field( default=None, metadata={ "name": "ProductPlane", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class BandEqualizationType: """ Band equalization ensures that real-world neutral colors have equal digital count values (i.e. are represented as neutral colors) across the dynamic range of the imaged scene. :ivar algorithm: Allowed values: 1DLUT :ivar band_lut: """ algorithm: Optional[EqualizationAlgorithmType] = field( default=None, metadata={ "name": "Algorithm", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) band_lut: List["BandEqualizationType.BandLUT"] = field( default_factory=list, metadata={ "name": "BandLUT", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class BandLUT(NewLookupTableType): k: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class CompressionType: """ Contains information regarding any compression that has occured to the image data. :ivar j2_k: Block describing details of JPEG 2000 compression. """ j2_k: Optional[J2KType] = field( default=None, metadata={ "name": "J2K", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class ExploitationFeaturesType: """ Computed metadata regarding the collect. :ivar collection: Metadata regarding one of the input collections. :ivar product: Metadata regarding the product. """ collection: List["ExploitationFeaturesType.Collection"] = field( default_factory=list, metadata={ "name": "Collection", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) product: List[ExploitationFeaturesProductType] = field( default_factory=list, metadata={ "name": "Product", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, )
[docs] @dataclass class Collection(ExploitationFeaturesCollectionType): identifier: Optional[str] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class MeasurementType: """ Geometric SAR information required for measurement/geolocation. :ivar polynomial_projection: Polynomial pixel to ground. Only used for sensor systems where the radar geometry parameters are not recorded. :ivar geographic_projection: Geographic mapping of the pixel grid referred to as GGD in the Design and Exploitation document. :ivar plane_projection: Planar representation of the pixel grid referred to as PGD in the Design and Exploitation document. :ivar cylindrical_projection: Cylindrical mapping of the pixel grid referred to as CGD in the Design and Exploitation document. :ivar pixel_footprint: Size of the image in pixels. :ivar arpflag: Flag indicating whether ARP polynomial is based on the best available ("collect time" or "predicted") ephemeris. :ivar arppoly: Center of aperture polynomial (units = m) based upon time into the collect. :ivar valid_data: Indicates the full image includes both valid data and some zero filled pixels. Simple convex polygon enclosed the valid data (may include some zero filled pixels for simplification). Vertices in clockwise order. """ polynomial_projection: Optional[PolynomialProjectionType] = field( default=None, metadata={ "name": "PolynomialProjection", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) geographic_projection: Optional[GeographicProjectionType] = field( default=None, metadata={ "name": "GeographicProjection", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) plane_projection: Optional[PlaneProjectionType] = field( default=None, metadata={ "name": "PlaneProjection", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) cylindrical_projection: Optional[CylindricalProjectionType] = field( default=None, metadata={ "name": "CylindricalProjection", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) pixel_footprint: Optional[RowColIntType] = field( default=None, metadata={ "name": "PixelFootprint", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) arpflag: Optional[MeasurementTypeARPFlag] = field( default=None, metadata={ "name": "ARPFlag", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) arppoly: Optional[XYZPolyType] = field( default=None, metadata={ "name": "ARPPoly", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) valid_data: Optional[ValidDataType] = field( default=None, metadata={ "name": "ValidData", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class RRDSType: """ :ivar downsampling_method: Algorithm used to perform RRDS downsampling :ivar anti_alias: Only included if DownSamplingMethod=DECIMET :ivar interpolation: Only included if DownSamplingMethod=DECIMET """ downsampling_method: Optional[DownsamplingMethodType] = field( default=None, metadata={ "name": "DownsamplingMethod", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) anti_alias: Optional[FilterType] = field( default=None, metadata={ "name": "AntiAlias", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) interpolation: Optional[FilterType] = field( default=None, metadata={ "name": "Interpolation", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class ScalingType: """ :ivar anti_alias: Anti-Alias Filter used for scaling. Refer to program-specific documentation for population guidance :ivar interpolation: Interpolation Filter used for scaling. Refer to program-specific documentation for population guidance. """ anti_alias: Optional[FilterType] = field( default=None, metadata={ "name": "AntiAlias", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) interpolation: Optional[FilterType] = field( default=None, metadata={ "name": "Interpolation", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class SharpnessEnhancementType: """ :ivar modular_transfer_function_compensation: Note: If defining a custom Filter, it must be no larger than 5x5. :ivar modular_transfer_function_enhancement: Note: If defining a custom Filter, it must be no larger than 5x5. """ modular_transfer_function_compensation: Optional[FilterType] = field( default=None, metadata={ "name": "ModularTransferFunctionCompensation", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) modular_transfer_function_enhancement: Optional[FilterType] = field( default=None, metadata={ "name": "ModularTransferFunctionEnhancement", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class GeometricTransformType: """ :ivar scaling: :ivar orientation: Parameters describing the default orientation of the product """ scaling: Optional[ScalingType] = field( default=None, metadata={ "name": "Scaling", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) orientation: Optional[Orientation] = field( default=None, metadata={ "name": "Orientation", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, )
[docs] @dataclass class ProductGenerationOptionsType: """ Performs several key actions on an image to prepare it for necessary additional processing to achieve the desired output product. :ivar band_equalization: Band equalization ensures that real-world neutral colors have equal digital count values (i.e. are represented as neutral colors) across the dynamic range of the imaged scene. :ivar modular_transfer_function_restoration: Filter must be no larger than 15x15. :ivar data_remapping: Data remapping refers to the specific need to convert the data of incoming, expanded or uncompressed image band data to non-mapped image data. :ivar asymmetric_pixel_correction: """ band_equalization: Optional[BandEqualizationType] = field( default=None, metadata={ "name": "BandEqualization", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) modular_transfer_function_restoration: Optional[FilterType] = field( default=None, metadata={ "name": "ModularTransferFunctionRestoration", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) data_remapping: Optional[NewLookupTableType] = field( default=None, metadata={ "name": "DataRemapping", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) asymmetric_pixel_correction: Optional[FilterType] = field( default=None, metadata={ "name": "AsymmetricPixelCorrection", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class InteractiveProcessingType: """ :ivar geometric_transform: The geometric transform element is used to perform various geometric distortions to each band of image data. These distortions include image chipping, scaling, rotation, shearing, etc. :ivar sharpness_enhancement: :ivar color_space_transform: :ivar dynamic_range_adjustment: Specifies the recommended ELT DRA overrides :ivar tonal_transfer_curve: The 1-D LUT element uses one or more 1-D LUTs to stretch or compress tome data in valorous regions within a digital image's dynamic range. 1-D LUT can be implemented using a Tonal Transfer Curve (TTC). There are 12 families of TTCs: Range = [0,11]. There are 64 members for each family: Range=[0, 63]. :ivar band: """ geometric_transform: Optional[GeometricTransformType] = field( default=None, metadata={ "name": "GeometricTransform", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) sharpness_enhancement: Optional[SharpnessEnhancementType] = field( default=None, metadata={ "name": "SharpnessEnhancement", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) color_space_transform: Optional[ColorSpaceTransformType] = field( default=None, metadata={ "name": "ColorSpaceTransform", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) dynamic_range_adjustment: Optional[DynamicRangeAdjustmentType] = field( default=None, metadata={ "name": "DynamicRangeAdjustment", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) tonal_transfer_curve: Optional[NewLookupTableType] = field( default=None, metadata={ "name": "TonalTransferCurve", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) band: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class NonInteractiveProcessingType: """ :ivar product_generation_options: Performs several key actions on an image to prepare it for necessary additional processing to achieve the desired output product. :ivar rrds: Creates a set of sub-sampled versions of an image to provide processing chains with quick access to lower mangification values for faster computation speeds and performance. :ivar band: """ product_generation_options: Optional[ProductGenerationOptionsType] = field( default=None, metadata={ "name": "ProductGenerationOptions", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) rrds: Optional[RRDSType] = field( default=None, metadata={ "name": "RRDS", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) band: Optional[int] = field( default=None, metadata={ "type": "Attribute", "required": True, }, )
[docs] @dataclass class ProductDisplayType: """ Type for describing proper display of the derived product. :ivar pixel_type: Defines the pixel type, based on enumeration and definition in Design and Exploitation document. :ivar num_bands: Number of bands contained in the image. Populate with the number of bands present after remapping. For example an 8-bit RGB image (RGBLU) this should be populated with 3. :ivar default_band_display: Indicates which band to display by default. Valid range = 1 to NumBands. :ivar non_interactive_processing: :ivar interactive_processing: :ivar display_extension: Optional extensible parameters used to support profile-specific needs related to product display. Predefined filter types. """ pixel_type: Optional[PixelType] = field( default=None, metadata={ "name": "PixelType", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) num_bands: Optional[int] = field( default=None, metadata={ "name": "NumBands", "type": "Element", "namespace": "urn:SIDD:2.0.0", "required": True, }, ) default_band_display: Optional[int] = field( default=None, metadata={ "name": "DefaultBandDisplay", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, ) non_interactive_processing: List[NonInteractiveProcessingType] = field( default_factory=list, metadata={ "name": "NonInteractiveProcessing", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) interactive_processing: List[InteractiveProcessingType] = field( default_factory=list, metadata={ "name": "InteractiveProcessing", "type": "Element", "namespace": "urn:SIDD:2.0.0", "min_occurs": 1, }, ) display_extension: List[ParameterType] = field( default_factory=list, metadata={ "name": "DisplayExtension", "type": "Element", "namespace": "urn:SIDD:2.0.0", }, )
[docs] @dataclass class SIDD: """ Root element of the SIDD document. :ivar product_creation: Information related to processor, classification, and product type. :ivar display: Contains information on the parameters needed to display the product in an exploitation tool. :ivar geo_data: Contains generic and extensible targeting and geographic region information. :ivar measurement: Contains the metadata necessary for performing measurements. :ivar exploitation_features: Computed metadata regarding the input collections and final product. :ivar downstream_reprocessing: Contains metadata related to downstream processing of the product. :ivar error_statistics: See SICD documentation for metadata definitions. :ivar radiometric: Radiometric information about the product. :ivar match_info: Information about other collections that are matched to the current collection. The current collection is the collection from which this SIDD product was generated. :ivar compression: Contains information regarding any compression that has occured to the image data. :ivar digital_elevation_data: This block describes the Digital ElevatioNData when it is included with the SIDD product. :ivar product_processing: Contains metadata related to algorithms used during product generation. :ivar annotations: List of annotations for the imagery. """
[docs] class Meta: namespace = "urn:SIDD:2.0.0"
product_creation: Optional[ProductCreationType] = field( default=None, metadata={ "name": "ProductCreation", "type": "Element", "required": True, }, ) display: Optional[ProductDisplayType] = field( default=None, metadata={ "name": "Display", "type": "Element", "required": True, }, ) geo_data: Optional[GeoDataType] = field( default=None, metadata={ "name": "GeoData", "type": "Element", "required": True, }, ) measurement: Optional[MeasurementType] = field( default=None, metadata={ "name": "Measurement", "type": "Element", "required": True, }, ) exploitation_features: Optional[ExploitationFeaturesType] = field( default=None, metadata={ "name": "ExploitationFeatures", "type": "Element", "required": True, }, ) downstream_reprocessing: Optional[DownstreamReprocessingType] = field( default=None, metadata={ "name": "DownstreamReprocessing", "type": "Element", }, ) error_statistics: Optional[ErrorStatisticsType] = field( default=None, metadata={ "name": "ErrorStatistics", "type": "Element", }, ) radiometric: Optional[RadiometricType] = field( default=None, metadata={ "name": "Radiometric", "type": "Element", }, ) match_info: Optional[MatchInfoType] = field( default=None, metadata={ "name": "MatchInfo", "type": "Element", }, ) compression: Optional[CompressionType] = field( default=None, metadata={ "name": "Compression", "type": "Element", }, ) digital_elevation_data: Optional[DigitalElevationDataType] = field( default=None, metadata={ "name": "DigitalElevationData", "type": "Element", }, ) product_processing: Optional[ProductProcessingType] = field( default=None, metadata={ "name": "ProductProcessing", "type": "Element", }, ) annotations: Optional[AnnotationsType] = field( default=None, metadata={ "name": "Annotations", "type": "Element", }, )