Mobirise Website Builder
Mobirise Website Builder

Official RETINA Dataset

All the images available for download on this page are sourced from the Sentinel-1 satellite constellation, part of the Copernicus Earth observation component of the European Union Space Programme. You can access the data directly through this link: Copernicus Data Browser.

Image Post-Processing Steps

1

Correction of orbit state vectors

2

Thermal noise removal

3

Radiometric calibration

4

Terrain corrections

File Format

The processed images are stored in GeoTiff format with two bands: VV and VH.

Viewing and Processing the Images


These files are compatible with any GIS software, including SNAP and QGIS. Additionally, we provide Python and MATLAB code for reading the images.

To view the images in Python, ensure you have "numpy", "rasterio", and "matplotlib" installed. Images are viewable by clipping the bands by minimum and maximum threshold values of the pixels intensity.

Python Code:
# Print the number of bands
print(f'Number of bands: {num_bands}')

# Optionally, print additional information
print(f'Width: {dataset.width}')
print(f'Height: {dataset.height}')
print(f'CRS: {dataset.crs}') # Coordinate Reference System (CRS)
print(f'Bounds: {dataset.bounds}')

# BAND STATISTICS
with rasterio.open(file_path) as dataset:
band1 = dataset.read(1)
band2 = dataset.read(2)

def print_stats(band, band_name):
print(f"{band_name} statistics:")
print(f" Min: {np.min(band)}")
print(f" Max: {np.max(band)}")
print(f" Mean: {np.mean(band)}")
print(f" Std: {np.std(band)}")

print_stats(band1, "Band 1")
print_stats(band2, "Band 2")

# Function to clip pixel values
def clip_array(array, min_percentile=2, max_percentile=98):
min_val = np.percentile(array, min_percentile)
max_val = np.percentile(array, max_percentile)
array_clipped = np.clip(array, min_val, max_val) # We keep the values of the array between min and max percentile
return array_clipped

# Clipping the bands
band1_clipped = clip_array(band1)
band2_clipped = clip_array(band2)

# Normalizing the clipped bands
band1_normalized = (band1_clipped - np.min(band1_clipped)) / (np.max(band1_clipped) - np.min(band1_clipped))
band2_normalized = (band2_clipped - np.min(band2_clipped)) / (np.max(band2_clipped) - np.min(band2_clipped))

plt.figure(figsize=(10, 10))
plt.title("Band 1 (Clipped and Normalized)")
plt.imshow(band1_normalized, cmap='gray')
plt.show()

plt.figure(figsize=(10, 10))
plt.title("Band 2 (Clipped and Normalized)")
plt.imshow(band2_normalized, cmap='gray')
plt.show()

To view the images in MATLAB, ensure you have Mapping Toolbox installed.

MATLAB Code:
>> filename_read = 'filenameread.tif';
>> filename_write = 'filenamewrite.tif';
>> [A,R] = readgeoraster(filename_read,'OutputType','double');
>> info = georasterinfo(filename_read);
>> im1 = A(:,:,1);
>> im1db = 10*log10(im1);
>> max_im1db = max(im1db(:));
>> min_im1db = min(im1db(:));
>> im2 = A(:,:,2);
>> im2db = 10*log10(im2);
>> max_im2db = max(im2db(:));
>> min_im2db = min(im2db(:));
>> figure, imagesc(im1db)
>> colormap('gray'), colorbar, axis image
>> clim([max_im1db-60, max_im1db])
>> print(filename_write,'-dtiff','-r600')

AI Website Creator