Raw corrected (L1A)

Product description
The L1A Product is a raw, but corrected product from Satellogic’s products family. It is composed by the raw frames that have been radiometrically corrected along with the necessary metadata.
The algorithms applied to the L0 data to convert it into L1A are: - Artifacts removals - PSF Deconvolution - Radiometric correction to Top of the atosmphere units - HDR (combining 2 L0 frames with different exposures, only on Mark V) - Stray light correction - NO-data and cloud mask calculation
Given the nature of our payload design and operations, the L1A product is a set of overlapping frames, each with 4 areas corresponding to each of the RGBNir bands of the sensor.
Each of the frames is 16-bit single band Grayscale GeoTIFF. The GeoTiff location is coarsly defined by the onboard satellite telemetry to help with the fine location process. Each of the frames contains 4 regions, corresponding to the blue, green, red, and NIR bands. The order of the bands is different for Mark IV and Mark V satellites, as the following images demonstrate:
| Mark IV | Mark V |
|---|---|
![]() |
![]() |
The size of frames also varies by platform being 5120x5120 for Mark IV and 9344x7000 for Mark V, as also visible in the images above.
The exact pixel positions where each band starts and ends in the frame vary slightly between satellites and can be found in the metadata file for each frame.
Technical characteristics
| Parameter | Mark IV |
Mark V |
|
|---|---|---|---|
| Spectral bands | Blue : 450 - 510 nm |
Blue : 450 - 517 nm |
|
| Frame size | 5120 x 5120 pix |
7000 x 9344 pix |
|
| GSD | 1.03m 1 |
0.73m 1 |
|
| Swath | 5.2 Km 1 |
6.9 Km 1 |
|
| Image bit depth | 16 bit scaled TOA (0-10000) |
| |
| Algorithms applied | Artifacts removal, PSF deconvolution, stray light correciton, radiometric correction, HDR (optional) |
| |
| Geolocation Accuracy | <= 300m TBC CE90 |
| |
| Image format | GeoTiff, LZW loseless compression |
| |
| Ancilliary files | Metadata (JSON), preview (PNG), thumbnail (PNG), cloud mask (TIF), cloud_statistics (CSV) |
| |
STAC item
Assets
Each L1A product/stac item, contains following assets/components
Non documented assets should be ignored.
All assets follow the same basename template.
{DATE}_{TIME}_{SECOND_DECIMALS}_SN{SATELLITE}_{PRODUCT}_{PAYLOAD}_{SUFFIX}.{EXTENSION}
- DATE: Year(4 digits)month(2 digits)day(2 digits)
- TIME: Hour(2 digits)minute(2 digits)second(2 digits)
- SECOND_DECIMALS: All the decimal part from the timestamp seconds
- SATELLITE: Satellite number
- PRODUCT: L1A
- PAYLOAD: MS for multispectral (4 bands)
- SUFFIX: depends on the asset, can be empty.
- EXTENSION: depends on the asset type.
All time values refer to the capture time in UTC. Hence the string 20220619_153346_938represent actually 2022-06-19 15:33:46.938.
Raster, preview and thumbnail
The full resolution raster as well as downsampled versions for preview and thumbnails.
![]()
Cloud mask
The mask is a single band GeoTiff. The values of the raster represent different cloud data as follows:
- 0: nodata
- 1: valid_data
- 128: shadow_data
- 255: cloud
Cloud statistics
The cloud statistics csv files contains a description of the detected cloud and saturated pixel count for each individual band. For example
| scene_id | band | detected_cloud_coverage | saturation |
|---|---|---|---|
| SL-newsat43-20240527T030147882889Z-micro-L1A-0.14.4 | blue | 0.0 | 7.05 |
| SL-newsat43-20240527T030147882889Z-micro-L1A-0.14.4 | green | 0.0 | 0.00 |
| SL-newsat43-20240527T030147882889Z-micro-L1A-0.14.4 | nir | 0.0 | 2.78 |
| SL-newsat43-20240527T030147882889Z-micro-L1A-0.14.4 | red | 0.0 | 0.00 |
TOA Factors
The L1A product is calibrated into Top Of Atmosphere units. L1A frames are in units of reflectance which are a 0-100% value. In order to fit them in a standard Tiff file, the decimal percentage mapped to 0-10000 units. In order to convert it to radiance, calibration factors are included in the TOA_factors.json file in the toa_reflectance_to_radiance field as can be seen in the following example.
{
"radiance_units": "W / (m^2 . nm . sr)",
"toa_reflectance_to_radiance": {
"blue": 2.3587899599526496,
"green": 2.5087676303983786,
"nir": 4.099456322455012,
"red": 2.8611134377357574
},
"reflectance_scale_factor": {
"blue": 0.0001,
"green": 0.0001,
"nir": 0.0001,
"red": 0.0001
}
}
Metadata Asset
| Field Name | Description | Example |
|---|---|---|
| Attachments | Reserved for internal use. |
{
"file_name": "20241001_124204_866_SN30_L1A_MS_burnt_pixels_mask.tif",
"metadata": {},
"name": "burnt_pixels_mask",
"type": "internal",
"url": "../20241001_124204_866_SN30_L1A_MS_burnt_pixels_mask.tif"
}
|
| footprint | The estimated footprint of the individual frame. Each coordinate is a longitude/latitude pair. Together they define a closed loop. |
{
"type": "Polygon",
"coordinates": [
[
[15.115170031610152, -23.518794742780624],
[15.158185734842615, -23.526282398012047],
[15.149905529193973, -23.564663684514922],
[15.106889825961508, -23.557178214316675],
[15.115170031610152, -23.518794742780624]
]
]
}
|
| last_modified | Timestamp when the product was last processed. | 2024-10-01T13:06:39.789463+00:00 |
| metadata → advance_vector | The advance vector of the satellite. Either 1 (when the satellite advances with its body +Y face) or -1 (when the satellite advances with its body -Y face). | 1 |
| metadata → binning | Low level configuration for sensor binning. | [1, 1] |
| metadata → camera | Internal camera name. | micro |
| metadata → clouds_percentage | Percentage of frame covered by clouds. | 0.15 |
| metadata → exposure_sec | Exposure time in seconds. | 0.00147375 |
| metadata → frame_index | Internal assigned index to the individual frame in the capture. | 195 |
| metadata → gsd | Ground Sampling Distance (in meters). Greatest value from metadata -> gsd_x and metadata -> gsd_y reported. | 0.87 |
| metadata → gsd_x | Ground Sampling Distance in x direction (in meters). Average value at the center of the frame. | 0.87 |
| metadata → gsd_y | Ground Sampling Distance in y direction (in meters). Average value at the center of the frame. | 0.84 |
| metadata → image_dimensions | Dimension of frame in pixels. |
{
"height": 5120,
"width": 5120
}
|
| metadata → last_modified | Timestamp when the product was last processed. | 2024-10-01T13:04:21.946155+00:00 |
| metadata → metrics | Internal Use | "lsub0": {} |
| metadata → nss_version | Internal satellite specs database version. |
0.75.0 |
| metadata → parent_scene_id | Scene ID of Parent Item (In this case L0) |
20241001_124204_866_SN30_L0_MS |
| metadata → payload | Options are MS for multispectral and HS for hyperspectral. |
MS |
| metadata → product_metadata → bands | Position and information of each of the bands present on the raw frame. Only blue band given as example but all band info has same format. Information is given for "blue" , "green" , "nir" and "red". The "band_indices" are zero-indexed pixel locations in the frame and indicate a semi open interval [y_min, y_max]. |
{
"blue": {
"band_field_of_view": {
"x_fov": 0.6286165523911111,
"y_fov": 0.13652765747244444
},
"band_indices": {
"y_max": 5075,
"y_min": 3964
},
"center_of_band": {
"cob_x_px": 2560,
"cob_y_px": 4520
}
}
}
|
| metadata → product_metadata → category | Internal identification of the capture. Possible values: (production, engineering, no_process) |
production |
| metadata → product_metadata → frames | Internal Use |
[] |
| metadata → product_metadata → rois | Internal data describing the captured ROIs by the sensor. |
[
{
"bitmask": "ALL",
"coord": [0, 0, 5119, 5119],
"roi_id": 0
}
]
|
| metadata → product_metadata → satellite | Internal satellite serial number. Format: FM<sat_id> |
FM32 |
| metadata → product_metadata → satellite_serial_number | Internal satellite serial number. Format: FM<sat_id> |
FM32 |
| metadata → product_metadata → time_range | Start and end timestamps, in Unix time format, for the entire associated capture. |
[
1727786522.420183,
1727786528.019939
]
|
| metadata → product_version_L0 | Product Version for L0 aligned with ICD version. |
1.0.0 |
| metadata → product_version_L1A | Product Version for L1A aligned with ICD version. |
1.0.0 |
| metadata → satellite_attitude_calculated_ecef2body | The estimated satellite attitude with respect to ECEF. Same as metadata → telemetry → satellite_attitude_calculated_ecef2body. |
[
0.6617749437400468,
0.33208852842525194,
-0.44960407955915377,
-0.49962716576460797
]
|
| metadata → satellite_generation | Satellite generation category, mainly to differentiate between MarkIV and MarkV. Same as metadata → model. |
MarkIV |
| metadata → model | Satellite generation category, mainly to differentiate between MarkIV and MarkV. |
MarkIV |
| metadata → satellite_position_calculated_ecef | The position of the satellite with respect to ECEF. Values are X/Y/Z positions in meters. See also: metadata → telemetry → satellite_posvel. |
[
6012979.7371040005,
1523837.439984,
-2681023.48782
]
|
| metadata → sensor_position | Sensor position for the frame, in millimeters. |
{
"pos_x": 0.0,
"pos_y": 0.0,
"pos_z": 0.0
}
|
| metadata → software_version_L0 | Internal software version for L0 parent product used to process the product. |
0.6.3 |
| metadata → software_version_L1A | Internal software version for L1a used to process the product. |
0.15.1 |
| metadata → source_frame_type | Reserved for future internal use. |
standard |
| metadata → subsampling | Sensor level configuration for subsampling. |
[1, 1] |
| metadata → telemetry → attitude → ecef2body | Satellite attitude information, currently contains only the ecef2body data. |
[
0.6617749437400468,
0.33208852842525194,
-0.44960407955915377,
-0.49962716576460797
]
|
| metadata → telemetry → body2sensor_quaternion | The satellite body to sensor quaternion (for MSI / HSI). Default identity value if calibration isn’t performed. |
{
"qi": -0.0012972240863929375,
"qj": 0.0009388672449488652,
"qk": 0.005374776818772846,
"qr": 0.999984273632398
}
|
| metadata → telemetry → estimated_error | The estimated errors of the measurements provided in this document in deg, deg, deg, m, m |
{
"payload_attitude_pitch_error": 0.004539493216154901,
"payload_attitude_roll_error": 0.004256778246143252,
"payload_attitude_yaw_error": 0.004244614056092482,
"satellite_altitude_error": 47.2,
"satellite_position_error_xyz": 47
}
|
| metadata → telemetry → location_calculated | The longitude/latitude/altitude of the boresight, calculated. |
[
15.137548,
-23.54195,
597536
]
|
| metadata → telemetry → payload_attitude | LVLH (“Local Vertical Local Horizontal” reference frame) to Payload. The rotation between the Payload Reference Frame and Orbit Reference. |
{
"pitch": 13.57006407602525,
"qi": 0.09506036382113325,
"qj": 0.0727520162204592,
"qk": 0.6818541228632522,
"qr": 0.7216270688523518,
"roll": 2.2393771906085735,
"yaw": 86.48701411730309
}
|
| metadata → telemetry → payload_attitude_ecef | The estimated payload attitude with respect to ECEF. Roll/pitch/yaw are angles in degrees; qi/qj/qk/qr are the attitude quaternion. |
{
"pitch": 15.802253367098107,
"qi": -0.32900242113190187,
"qj": 0.45068687626615067,
"qk": 0.4967473404425208,
"qr": 0.6647411723476201,
"roll": -66.91502704371982,
"yaw": 84.01983057758471
}
|
| metadata → telemetry → position → gps_ecef_meter | Satellite position information, currently contains only the gps_ecef_meter data (position with respect to ECEF). |
[
6012979.7371040005,
1523837.439984,
-2681023.48782
]
|
| metadata → telemetry → satellite_altitude | The satellite altitude at the moment of the capture, in meters. |
382896.60 |
| metadata → telemetry → satellite_attitude_calculated_ecef2body | The estimated satellite attitude with respect to ECEF. Calculated using internal tools. |
{
"qi": 0.33208852842525194,
"qj": -0.44960407955915377,
"qk": -0.49962716576460797,
"qr": 0.6617749437400468
}
|
| metadata → telemetry → satellite_nadir | The estimated Nadir point in WGS84 at the moment of the capture. |
{
"latitude": -23.506943305431854,
"longitude": 14.220771279251512
}
|
| metadata → telemetry → satellite_posvel | The position and velocity of the satellite with respect to ECEF. |
{
"pos_x": 6012979.7371040005,
"pos_y": 1523837.439984,
"pos_z": -2681023.48782,
"vel_x": -2544.52083428125,
"vel_y": -2224.1147652851564,
"vel_z": -6980.149495113282
}
|
| metadata → valid_pixel | Percentage of pixels that are valid, from 0 to 100. |
87.22 |
| productname | The product name |
L1A |
| rasters | Reserved for internal use. |
{
"bands": [
"raw"
],
"file_name": "20241001_124204_866_SN30_L1A_MS_analytic.tiff",
"source": "internal",
"url": "../tmp/output/image_20241001-124204-866_0195.tiff"
}
|
| satellite_class | The satellite class this individual frame is from. |
NewSat |
| satellite_name | The name of the satellite that took this frame. Format: newsat<N>, with N>0 |
newsat30 |
| scene_id | The ID of the individual frame this metadata file corresponds to. |
20241001_124204_866_SN30_L1A_MS |
| sceneset_id | The UUID of the entire capture this individual frame is part of. |
7b4d2542-07ab-47c4-a413-a053bb2aaa51 |
| supplier | The name of the supplier of the imagery. |
Satellogic |
| timestamp | The timestamp of the corresponding individual frame, in ISO8601 |
2024-09-02T12:51:09.614415+00:00 |
| metadata → sun_azimuth | Sun azimuth angle. From the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees (0-360). |
302.950614861444 |
| metadata → sun_elevation | The estimated sun elevation measured at the target at the moment of the capture. Value in degrees. |
56 |
| metadata → viewing_azimuth | Viewing azimuth angle. The angle measured from the sub-satellite point (point on the ground below the platform) between the scene center and true north. Measured clockwise from north in degrees (0-360). |
168.7509986841136 |
| metadata → incidence_angle | The incidence angle is the angle between the vertical (normal) to the intercepting surface and the line of sight back to the satellite at the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported. | 14.49134335756983 |
| metadata → off_nadir | Offnadir expressed in degrees. In case this angle cannot be computed, a value of -1 will be reported. |
13.649393326775941 |
Item metadata
The L1A product can be found in our STAC archives. Each frame of a capture is a single Item in the corresponding collection. The following metadata and assets are available for each
The following table shows the description of each field and an example corresponding to the capture used in previous section. (see STAC Common Metadata)
| Prefix | Field Name | Description | Example |
|---|---|---|---|
| n/a | id | Unique identifier for the STAC item | 20250930_025801_143_SN45_L1A_MS_1_0_0 |
| n/a | bbox | Item bounding box | [ 119.56896495671906, 23.62805912936759, 119.65730868533569, 23.690097800133774 ], |
| n/a | assets | List of the assets available for a given item | {
"preview": {
"href": "link to the file",
"type": "image/png",
"roles": [
"overview"
]
},
"analytic": {...},
"metadata": {...},
"thumbnail": {...},
"internal_metrics": {...}
}
|
| n/a | collection | Collection name | l1a |
| properties | gsd | Ground sample distance in meters | 0.90 |
| properties | proj : shape | Dimension of image in pixels (Height x Width) | [7000, 9344] |
| properties | platform | Satellite name | newsat45 |
| properties | instruments | Options are MS for multispectral and HS for hyperspectral | ms |
| properties | view : azimuth | Viewing azimuth angle. The angle measured from the sub-satellite point (point on the ground below the platform) between the scene center and true north. Measured clockwise from north in degrees (0-360) | 166.1138 |
| properties | view : off_nadir | The angle from the sensor between nadir (straight down) and the scene center. Measured in degrees (0-90). In case this angle cannot be computed, a value of -1 will be reported | 24.9490 |
| properties | view : sun_elevation | The estimated sun elevation measured at the target at the moment of the capture. Value in degrees. | 60 |
| properties | view : sun_azimuth | Sun azimuth angle. From the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees (0-360) | 72.3332 |
| properties | satl : outcome_id | The UUID of the entire capture this individual frame is part of | ffbabb4f-3a97-45ec-bca3-0e4d56608c1c |
| properties | satl : satellite_generation | Satellite generation category, mainly to differentiate between MarkIV and MarkV | MarkV |
| properties | satl : nss_version | Internal satellite specs database version | 0.89.6 |
| properties | satl : valid_pixel | Percentage of pixels that are valid, from 0 to 100 | 100 |
| properties | satl : exposure_sec | Exposure time of capture in seconds | 0.002769 |
| properties | satl : product_name | The product name | L1A |
| properties | satl : last_modified | Timestamp when the product was last processed | 2025-09-30T04:30:38.122305+00:00 |
| properties | satl : transaction_id | Internal processing transaction identifier | l1a-pipeline-cw5td |
| properties | satl : product_version | Product Version aligned with ICD version | 1.0.0 |
| properties | satl : software_version | Internal software version used to process the product | 0.6.22 |
| properties | satl : satellite_altitude | Satellite altitude in meters | 498240.1195991831 |
| properties | eo : cloud_cover" | Percentage of the image covered by clouds | 6.37 |
| properties | satl-qa : dr_blue | Dynamic Range for the blue band2, In case this metric cannot be computed, a value of -999 will be reported | 96.728 |
| properties | satl-qa : dr_green | Dynamic Range for the green band2, In case this metric cannot be computed, a value of -999 will be reported | 123.545 |
| properties | satl-qa : dr_red | Dynamic Range for the red band2, In case this metric cannot be computed, a value of -999 will be reported | 150.386 |
| properties | satl-qa : dr_nir | Dynamic Range for the NIR band2, In case this metric cannot be computed, a value of -999 will be reported | 81.207 |
| properties | satl-qa : snr_blue | Signal To Noise Ratio for the blue band, In case this metric cannot be computed, a value of -999 will be reported | 64.353 |
| properties | satl-qa : snr_green | Signal To Noise Ratio for the green band, In case this metric cannot be computed, a value of -999 will be reported | 56.291 |
| properties | satl-qa : snr_red | Signal To Noise Ratio for the red band, In case this metric cannot be computed, a value of -999 will be reported | 38.133 |
| properties | satl-qa : snr_nir | Signal To Noise Ratio for the NIR band, In case this metric cannot be computed, a value of -999 will be reported | 23.073 |
| properties | satl-qa : burnt_blue | Burnt pixels percentage for the blue band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_green | Burnt pixels percentage for the green band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_red | Burnt pixels percentage for the red band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : burnt_nir | Burnt pixels percentage for the NIR band, In case this metric cannot be computed, a value of -999 will be reported | 0 |
| properties | satl-qa : sharpness_fwhm_act_blue | Full Width Half Maximum across-track value in pixels for blue band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_act_green | Full Width Half Maximum across-track value in pixels for green band1, In case this metric cannot be computed, a value of -999 will be reported | 3.675 |
| properties | satl-qa : sharpness_fwhm_act_red | Full Width Half Maximum across-track value in pixels for red band1, In case this metric cannot be computed, a value of -999 will be reported | 3.241 |
| properties | satl-qa : sharpness_fwhm_act_nir | Full Width Half Maximum across-track value in pixels for NIR band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_alt_blue | Full Width Half Maximum along-track value in pixels for blue band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : sharpness_fwhm_alt_green | Full Width Half Maximum along-track value in pixels for green band1, In case this metric cannot be computed, a value of -999 will be reported | 3.008 |
| properties | satl-qa : sharpness_fwhm_alt_red | Full Width Half Maximum along-track value in pixels for red band1, In case this metric cannot be computed, a value of -999 will be reported | 2.846 |
| properties | satl-qa : sharpness_fwhm_alt_nir | Full Width Half Maximum along-track value in pixels for NIR band1, In case this metric cannot be computed, a value of -999 will be reported | -999 |
| properties | satl-qa : qa_software_version | Quality Control project SW version | 2.11.2 |
| properties | satl-insights : lulc_snow | Land use/land cover percentage for snow | 0 |
| properties | satl-insights : lulc_urban | Land use/land cover percentage for urban areas | 8.1 |
| properties | satl-insights : lulc_water | Land use/land cover percentage for water | 77.3 |
| properties | satl-insights : lulc_forest | Land use/land cover percentage for forest | 12.6 |
| properties | satl-insights : lulc_bareland | Land use/land cover percentage for bare land | 0.5 |
| properties | satl-insights : lulc_cropland | Land use/land cover percentage for cropland | 0 |
| properties | satl-insights : lulc_grassland | Land use/land cover percentage for grassland | 1.5 |
Packaging specification
If delivered as a package scene (via S3, FTP, or Zip download link) an L1A capture is packaged in the following format:
Scenes are delivered as a single folder. The file name follow the following format:
{DATE}_{TIME}_{SECOND_DECIMALS}_SN{SATELLITE}_{PRODUCT}_{PAYLOAD}_{SUFFIX}.{EXTENSION}, for example like "20241001_124204_866_SN30_L1A_MS".
Inside each package, a flat structure can be found with all corrsponding frames and their associated ancilliary files.
The following files and folders can be found in a typical scene:
.
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_cloud_mask.tiff
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_preview.png
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_anaytic.tiff
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_metadata.json
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_thumbnail.png
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_toa_factors.json
├── {date_hour_ms}_SN{sn}_{product_name}_{payload}_cloud_statistics.csv
Additionally, every L1A package includes a digital signature to ensure data authenticity and integrity. Each package contains a manifest file and cryptographic signature that allows verification that the delivered data has not been tampered with. Learn more about Digital Signature verification.
Known issues
Payload related issues
Changelog
| Version | Release date | Change log |
|---|---|---|
| 1.1.0 | 17/11/2025 |
|
| ICD 1.0.0 | 03/09/2024 |
|
Imagery End User Rights Agreement and Terms of Use
All imagery products are delivered under Satellogic Imagery End User License Agreement. The terms and conditions of the agreement are available to customers and accessible online on the website under License Agreement.

