# Interface ImageDescription

All Superinterfaces:
  `ContentInformation, CoverageDescription`

All Known Implementing Classes:
  `DefaultImageDescription`

@UML(identifier="MD_ImageDescription", specification=ISO_19115) public interface ImageDescription extends CoverageDescription
Information about an image's suitability for use.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Double`
  `getCloudCoverPercentage()`
  Area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.
  `Integer`
  `getCompressionGenerationQuantity()`
  Count of the number of lossy compression cycles performed on the image.
  `Double`
  `getIlluminationAzimuthAngle()`
  Illumination azimuth measured in degrees clockwise from true north at the time the image is taken.
  `Double`
  `getIlluminationElevationAngle()`
  Illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface.
  `Identifier`
  `getImageQualityCode()`
  Specifies the image quality.
  `ImagingCondition`
  `getImagingCondition()`
  Conditions affected the image.
  `Identifier`
  `getProcessingLevelCode()`
  Image distributor's code that identifies the level of radiometric and geometric processing that has been applied.
  `Boolean`
  `getTriangulationIndicator()`
  Indication of whether or not triangulation has been performed upon the image.
  `Boolean`
  `isCameraCalibrationInformationAvailable()`
  Indication of whether or not constants are available which allow for camera calibration corrections.
  `Boolean`
  `isFilmDistortionInformationAvailable()`
  Indication of whether or not Calibration Reseau information is available.
  `Boolean`
  `isLensDistortionInformationAvailable()`
  Indication of whether or not lens aberration correction information is available.
  `Boolean`
  `isRadiometricCalibrationDataAvailable()`
  Indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.

  ### Methods inherited from interface CoverageDescription

  `getAttributeDescription, getContentType, getDimensions, getRangeElementDescriptions`

- ## Method Details

  - ### getIlluminationElevationAngle

    @UML(identifier="illuminationElevationAngle", obligation=OPTIONAL, specification=ISO_19115) Double getIlluminationElevationAngle()
    Illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface. For images from a scanning device, refer to the centre pixel of the image.
    Returns:
      A value between -90° and +90°, or `null` if unspecified.

  - ### getIlluminationAzimuthAngle

    @UML(identifier="illuminationAzimuthAngle", obligation=OPTIONAL, specification=ISO_19115) Double getIlluminationAzimuthAngle()
    Illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image.
    Returns:
      A value between 0° and 360°, or `null` if unspecified.

  - ### getImagingCondition

    @UML(identifier="imagingCondition", obligation=OPTIONAL, specification=ISO_19115) ImagingCondition getImagingCondition()
    Conditions affected the image.
    Returns:
      Conditions affected the image, or `null` if unknown.

  - ### getImageQualityCode

    @UML(identifier="imageQualityCode", obligation=OPTIONAL, specification=ISO_19115) Identifier getImageQualityCode()
    Specifies the image quality.
    Returns:
      The image quality, or `null` if unknown.

  - ### getCloudCoverPercentage

    @UML(identifier="cloudCoverPercentage", obligation=OPTIONAL, specification=ISO_19115) Double getCloudCoverPercentage()
    Area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.
    Returns:
      A value between 0 and 100, or `null` if unknown.

  - ### getProcessingLevelCode

    @UML(identifier="processingLevelCode", obligation=OPTIONAL, specification=ISO_19115) Identifier getProcessingLevelCode()
    Image distributor's code that identifies the level of radiometric and geometric processing that has been applied.
    Returns:
      The level of radiometric and geometric processing that has been applied, or `null` if unknown.

  - ### getCompressionGenerationQuantity

    @UML(identifier="compressionGenerationQuantity", obligation=OPTIONAL, specification=ISO_19115) Integer getCompressionGenerationQuantity()
    Count of the number of lossy compression cycles performed on the image. Returns `null` if the information is not provided.
    Returns:
      The number of lossy compression cycles performed on the image, or `null` if unknown.

  - ### getTriangulationIndicator

    @UML(identifier="triangulationIndicator", obligation=OPTIONAL, specification=ISO_19115) Boolean getTriangulationIndicator()
    Indication of whether or not triangulation has been performed upon the image. Returns `null` if the information is not provided.
    Returns:
      Whether or not triangulation has been performed upon the image, or `null` if unknown.

  - ### isRadiometricCalibrationDataAvailable

    @UML(identifier="radiometricCalibrationDataAvailability", obligation=OPTIONAL, specification=ISO_19115) Boolean isRadiometricCalibrationDataAvailable()
    Indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.
    Returns:
      Whether or not the radiometric calibration information is available, or `null` if unknown.

  - ### isCameraCalibrationInformationAvailable

    @UML(identifier="cameraCalibrationInformationAvailability", obligation=OPTIONAL, specification=ISO_19115) Boolean isCameraCalibrationInformationAvailable()
    Indication of whether or not constants are available which allow for camera calibration corrections.
    Returns:
      Whether or not constants are available for camera calibration corrections, or `null` if unknown.

  - ### isFilmDistortionInformationAvailable

    @UML(identifier="filmDistortionInformationAvailability", obligation=OPTIONAL, specification=ISO_19115) Boolean isFilmDistortionInformationAvailable()
    Indication of whether or not Calibration Reseau information is available.
    Returns:
      Whether or not Calibration Reseau information is available, or `null` if unknown.

  - ### isLensDistortionInformationAvailable

    @UML(identifier="lensDistortionInformationAvailability", obligation=OPTIONAL, specification=ISO_19115) Boolean isLensDistortionInformationAvailable()
    Indication of whether or not lens aberration correction information is available.
    Returns:
      Whether or not lens aberration correction information is available, or `null` if unknown.