Skip to content

Releases: mariergattard/Tristan-albatross

v1.0.2

04 Apr 04:40

Choose a tag to compare

DOI
Maxar Satellite Imagery License
Open Government License v3.0
Static Badge

This repository contains the data and Python script used in the study: Attard et al. (2025) Feasibility of using very high-resolution satellite imagery to monitor Tristan albatrosses Diomedea dabbenena on Gough Island. Endangered Species Research. 56: 187-199. doi: 10.3354/esr01396

The study evaluates the detectability of Tristan albatrosses in high-resolution WorldView-4 satellite imagery (31 cm resolution) over Gough Island, Tristan da Cunha. The goal is to determine whether satellite imagery can facilitate population monitoring of this critically endangered species during the breeding season.


Table of Contents

  • Introduction
  • Script Overview and Workflow
    • Workflow summary
    • Script workflow
  • Installation
  • Usage
  • Structure
  • Results
    • GLM minimum age
    • GLM model comparison
    • Observer performance
    • Gold standard performance
    • Observer clustered data
  • Reusing or Adapting the script
  • Acknowledgements
  • Licence
  • Funding

Introduction

The Tristan albatross Diomedea dabbenena is critically endangered, facing threats such as bycatch and predation. Monitoring this species is challenging due to financial constraints and logistical difficulties. Satellite imagery offers a potential solution for cost-effective population monitoring.

This repository includes a Python script that automates the analysis of satellite imagery data to assess the detectability of Tristan albatrosses. It also generates the figures and tables required for the study.

Script Overview and Workflow

The Python script processes the data and performs the necessary analysis to determine the detectability of Tristan albatrosses in 31 cm resolution satellite imagery. It uses input data from the various folders to run statistical analysis and generate output plots and tables.

Workflow summary

  1. Satellite image of Gough Island:
  • This study uses a single WorldView-4 image (Image ID: 6597a402-ac69-4f62-b346-f99026536906-inv), with a ground sampling distance of 33 cm, resampled to 30 cm resolution, captured at 10:46 am on 1st February 2018. The partially cloud-free satellite image included two primary study sites on Gough Island, where Tristan albatrosses breed: Gonydale and the Hummocks. The image includes multi-spectral and panchromatic files, which were processed using ArcGIS Pro (v3.3.0).
  • The satellite image was orthorectified using a Digital Terrain Model (DTM) from Airbus (product WorldDEMTM) to remove distortion and assign more accurate coordinates. The DTM represented bare earth terrain without obstruction features above ground, and had an absolute vertical accuracy of < 10 m and absolute horizontal accuracy of < 6 m. The Gram-Schmidt pansharpening method was then applied to produce a better visualisation of the multiband image using the high-resolution (30 cm) panchromatic image.
  1. Gold standard dataset:
  • Two wildlife remote-sensing specialists (expert 1 and expert 2) conducted manual counts of the orthorectified and un-orthorectified image.
  • After completing independent reviews, the experts convened to jointly review their annotations and resolve any uncertainties by examining each annotation together at multiple scales. Features confidently classified as presumed albatrosses by both experts were retained, creating a ‘gold standard’ dataset.
  • This dataset was compared with GPS-recorded active nest locations to test whether nest attributes (slope, aspect) or bird plumage (indicating sex and age) influenced detectability in satellite imagery.
  1. Observer annotations:
  • The orthorectified satellite image was divided into 100 m x 100 m tiles (10,000 m² per tile), producing 303 tiles covering a total area of 3.03 km².
  • A random number generator selected 24 tiles containing at least one nest and 6 tiles with no nests based on GPS data.
  • These tiles were uploaded to the VGG Image Annotator (VIA), an open-source annotation tool. Nine volunteers (observers 1 to 9) were provided instructions to locate and label albatrosses.
  • Observer misclassification rates were assessed against one another, the gold standard, and the nest GPS coordinates.
  1. Metrics and analysis:
  • Observations were classified as:
    • True Positive (TP): Albatrosses correctly predicted to be present.
    • False Positive (FP): Albatrosses incorrectly predicted to be present.
    • False Negative (FN): Albatrosses incorrectly predicted to be absent.
  • Annotations classified as true positives were those located within 3 m of the gold standard or another observer, as Tristan albatross nests are usually > 3 m apart, or within 10 m of the nest GPS coordinates, based on the accuracy of the handheld GPS device.
  1. Performance metrics:
  • Metrics were calculated to evaluate observer performance:
    • Recall = TPs/(TPs + FNs)
    • Precision = TPs/(TPs + FPs)
    • F1⎼score = 2 x (recall × precision)/(recall + precision)
  • Recall measures how well the observer identifies true positives (i.e., the proportion of actual albatrosses correctly predicted). Precision measures the quality of positive predictions (i.e., the proportion of predicted albatrosses that are truly present). F1-Scores range from 0 to 1, with higher values indicating better overall performance.

Script workflow:

  1. Loads the necessary data (csv, xlsx, or jpeg files from the data folder).
  2. Processes the satellite imagery data and field survey nest GPS coordinates.
  3. Conducts an analysis to assess albatross detectability based on various predictors.
  4. Generates output plots (figures) and tables, which are saved in the output folder.

Installation

To set up the project:

1. Clone the repository:

git clone https://github.com/mariergattard/tristan-albatross.git
cd project-name

2. Set up a virtual environment (recommended):

python -m venv venv

3. Install dependencies

pip install -r requirements.txt

If requirements.txt is unavailable, manually install dependencies.

Usage

The script is designed to be run in a Jupyter Notebook environment. Follow these steps:

1. Install JupyterLab:

pip install jupyterlab

2. Launch Jupyter Notebook:

jupyter notebook

3. Run the analysis:

Open Tristan_albatross_satellite_image_detection.ipynb in the python_script folder.
Ensure all input data is correctly placed in the data folder.
Run the cells sequentially to execute the analysis.

Structure

The project is designed as follows:

Tristan Albatross Satellite Detection Analysis
│
├── Data
│   │  Input files for the python script. 
│   │  Contains satellite image data, nest GPS coordinates, reference and observer annotations. 
│   │
│   ├──Gough_island_landscape_features
│   │       Shapefiles for Gough Island coastline, ocean, contours, and mountain peaks. 
│   │       Source: Extracted from Digital Terrain Model (DTM) with <10 m resolution.
│   │
│   ├──nest_boundaries
│   │       Shapefiles of Tristan albatross nest boundaries on Gough Island provided by RSPB.
│   │
│   ├──nest_GPS_coordinates
│   │       GPS coordinates of Tristan albatross nests in cloud-free regions of the satellite image.
│   │       Source: RSPB for the 2017/18 breeding season. Hand-held GPS accurate to 10 m. 
│   │ 
│   ├──nesting_bird_information:
│   │     ├──Tristan_albatross_age_sex_data.csv: Minimum age and sex of each nesting bird.
│   │     ├──Tristan_albatross_nest_colony_information.csv: 
│   │         Nest ID of active nests in 31 cm orthorectified satellite image from RSPB.
│   │     └──Tristan_albatross_nest_location_data.csv
│   │         Slope (degrees) and aspect data of nests extracted from DTM in ArcGIS Pro.
│   │
│   ├──observer_annotations
│   │        CSV files with raw annotations from 9 observers using VGG Image Annotator (VIA).
│   │
│   ├──reference_annotations
│   │       CSV files & point shapefiles of reference 1 (MRGA) and 2 (PC) annotations.
│   │ 
│   ├──tile_coordinates_georeference
│   │      CSV file with latitude and longitude of the top-left corner of each tile raster.
│   │      Used to convert tile x, y pixel coordinates into geographical coordinates.
│   │ 
│   ├──tile_fishnet_grid
│   │       A 100m x 100m fishnet grid and FID to create tiles in ArcGIS Pro.
│   │ 
│   └──tiles
│          Non-georeferenced satellite image tiles (n=30) in jpeg format. Each measuring 100m x 100m. 
│          30 tiles randomly selected to complete observer annotations.
│          The number at the end of the filename is the FID from tile_fishnet_grid. 
│       
├── Output
│   │  Collection of files exported using the python script. 
│   │  
│   └──tile_images
│       This contains two subfolders: 
│           1. tiles_with_raw_observer_labels_not_georeferenced: 
│            Tile jpeg images with raw non-georeferenced observer annotations. 
│            Symbols: coloured circles represent each unique observer ID. 
│           2. tile_with_observer_nest_labels_georeferenced: 
│            Tile jpeg images containing georeferenced observer labels and nest GPS coordinates.
│            Symbols: square = observers; white circle = nest GPS coordinates.
│
├── python_script
│       Processes annotatio...
Read more

v1.0.1

04 Apr 04:20

Choose a tag to compare

Tristan Albatross Satellite Image Detection Analysis

DOI
Maxar Satellite Imagery License
Open Government License v3.0
Static Badge

This repository contains the data and Python script used in the study:
Attard et al. (2025) Feasibility of using very high-resolution satellite imagery to monitor Tristan albatrosses Diomedea dabbenena on Gough Island. Endangered Species Research. 56: 187-199. doi: 10.3354/esr01396

The study evaluates the detectability of Tristan albatrosses in high-resolution WorldView-4 satellite imagery (31 cm resolution) over Gough Island, Tristan da Cunha. The goal is to determine whether satellite imagery can facilitate population monitoring of this critically endangered species during the breeding season.


Table of Contents


Introduction

The Tristan albatross Diomedea dabbenena is critically endangered, facing threats such as bycatch and predation. Monitoring this species is challenging due to financial constraints and logistical difficulties. Satellite imagery offers a potential solution for cost-effective population monitoring.

This repository includes a Python script that automates the analysis of satellite imagery data to assess the detectability of Tristan albatrosses. It also generates the figures and tables required for the study.

Script Overview and Workflow

The Python script processes the data and performs the necessary analysis to determine the detectability of Tristan albatrosses in 31 cm resolution satellite imagery. It uses input data from the various folders to run statistical analysis and generate output plots and tables.

Workflow summary

  1. Satellite image of Gough Island:
  • This study uses a single WorldView-4 image (Image ID: 6597a402-ac69-4f62-b346-f99026536906-inv), with a ground sampling distance of 33 cm, resampled to 30 cm resolution, captured at 10:46 am on 1st February 2018. The partially cloud-free satellite image included two primary study sites on Gough Island, where Tristan albatrosses breed: Gonydale and the Hummocks. The image includes multi-spectral and panchromatic files, which were processed using ArcGIS Pro (v3.3.0).
  • The satellite image was orthorectified using a Digital Terrain Model (DTM) from Airbus (product WorldDEMTM) to remove distortion and assign more accurate coordinates. The DTM represented bare earth terrain without obstruction features above ground, and had an absolute vertical accuracy of < 10 m and absolute horizontal accuracy of < 6 m. The Gram-Schmidt pansharpening method was then applied to produce a better visualisation of the multiband image using the high-resolution (30 cm) panchromatic image.
  1. Gold standard dataset:
  • Two wildlife remote-sensing specialists (expert 1 and expert 2) conducted manual counts of the orthorectified and un-orthorectified image.
  • After completing independent reviews, the experts convened to jointly review their annotations and resolve any uncertainties by examining each annotation together at multiple scales. Features confidently classified as presumed albatrosses by both experts were retained, creating a ‘gold standard’ dataset.
  • This dataset was compared with GPS-recorded active nest locations to test whether nest attributes (slope, aspect) or bird plumage (indicating sex and age) influenced detectability in satellite imagery.
  1. Observer annotations:
  • The orthorectified satellite image was divided into 100 m x 100 m tiles (10,000 m² per tile), producing 303 tiles covering a total area of 3.03 km².
  • A random number generator selected 24 tiles containing at least one nest and 6 tiles with no nests based on GPS data.
  • These tiles were uploaded to the VGG Image Annotator (VIA), an open-source annotation tool. Nine volunteers (observers 1 to 9) were provided instructions to locate and label albatrosses.
  • Observer misclassification rates were assessed against one another, the gold standard, and the nest GPS coordinates.
  1. Metrics and analysis:
  • Observations were classified as:
    • True Positive (TP): Albatrosses correctly predicted to be present.
    • False Positive (FP): Albatrosses incorrectly predicted to be present.
    • False Negative (FN): Albatrosses incorrectly predicted to be absent.
  • Annotations classified as true positives were those located within 3 m of the gold standard or another observer, as Tristan albatross nests are usually > 3 m apart, or within 10 m of the nest GPS coordinates, based on the accuracy of the handheld GPS device.
  1. Performance metrics:
  • Metrics were calculated to evaluate observer performance:
    • Recall = TPs/(TPs + FNs)
    • Precision = TPs/(TPs + FPs)
    • F1⎼score = 2 x (recall × precision)/(recall + precision)
  • Recall measures how well the observer identifies true positives (i.e., the proportion of actual albatrosses correctly predicted). Precision measures the quality of positive predictions (i.e., the proportion of predicted albatrosses that are truly present). F1-Scores range from 0 to 1, with higher values indicating better overall performance.

Script workflow:

  1. Loads the necessary data (csv, xlsx, or jpeg files from the data folder).
  2. Processes the satellite imagery data and field survey nest GPS coordinates.
  3. Conducts an analysis to assess albatross detectability based on various predictors.
  4. Generates output plots (figures) and tables, which are saved in the output folder.

Installation

To set up the project:

1. Clone the repository:

git clone https://github.com/mariergattard/tristan-albatross.git
cd project-name

2. Set up a virtual environment (recommended):

python -m venv venv

3. Install dependencies

pip install -r requirements.txt

If requirements.txt is unavailable, manually install dependencies.

Usage

The script is designed to be run in a Jupyter Notebook environment. Follow these steps:

1. Install JupyterLab:

pip install jupyterlab

2. Launch Jupyter Notebook:

jupyter notebook

3. Run the analysis:

Open Tristan_albatross_satellite_image_detection.ipynb in the python_script folder.
Ensure all input data is correctly placed in the data folder.
Run the cells sequentially to execute the analysis.

Structure

The project is designed as follows:

Tristan Albatross Satellite Detection Analysis
│
├── Data
│   │  Input files for the python script. 
│   │  Contains satellite image data, nest GPS coordinates, reference and observer annotations. 
│   │
│   ├──Gough_island_landscape_features
│   │       Shapefiles for Gough Island coastline, ocean, contours, and mountain peaks. 
│   │       Source: Extracted from Digital Terrain Model (DTM) with <10 m resolution.
│   │
│   ├──nest_boundaries
│   │       Shapefiles of Tristan albatross nest boundaries on Gough Island provided by RSPB.
│   │
│   ├──nest_GPS_coordinates
│   │       GPS coordinates of Tristan albatross nests in cloud-free regions of the satellite image.
│   │       Source: RSPB for the 2017/18 breeding season. Hand-held GPS accurate to 10 m. 
│   │ 
│   ├──nesting_bird_information:
│   │     ├──Tristan_albatross_age_sex_data.csv: Minimum age and sex of each nesting bird.
│   │     ├──Tristan_albatross_nest_colony_information.csv: 
│   │         Nest ID of active nests in 31 cm orthorectified satellite image from RSPB.
│   │     └──Tristan_albatross_nest_location_data.csv
│   │         Slope (degrees) and aspect data of nests extracted from DTM in ArcGIS Pro.
│   │
│   ├──observer_annotations
│   │        CSV files with raw annotations from 9 observers using VGG Image Annotator (VIA).
│   │
│   ├──reference_annotations
│   │       CSV files & point shapefiles of reference 1 (MRGA) and 2 (PC) annotations.
│   │ 
│   ├──tile_coordinates_georeference
│   │      CSV file with latitude and longitude of the top-left corner of each tile raster.
│   │      Used to convert tile x, y pixel coordinates into geographical coordinates.
│   │ 
│   ├──tile_fishnet_grid
│   │       A 100m x 100m fishnet grid and FID to create tiles in ArcGIS Pro.
│   │ 
│   └──tiles
│          Non-georeferenced satellite image tiles (n=30) in jpeg format. Each measuring 100m x 100m. 
│          30 tiles randomly selected to complete observer annotations.
│          The number at the end of the filename is the FID from tile_fishnet_grid. 
│       
├── Output
│   │  Collection of files exported using the python script. 
│   │  
│   └──tile_images
│       This contains two subfolders: 
│           1. tiles_with_raw_observer_labels_not_georeferenced: 
│       ...
Read more

v1.0.0

04 Apr 04:00

Choose a tag to compare

This repository contains the data and Python script used in the study: Attard et al. (2025) Feasibility of using very high-resolution satellite imagery to monitor Tristan albatrosses Diomedea dabbenena on Gough Island. Endangered Species Research. 56: 187-199. doi: 10.3354/esr01396.

The provided resources include:

  • Satellite image datasets and annotations used for the manual detection of Tristan albatrosses during the breeding season.
  • Python scripts for data processing and analysis of detection results.
  • These materials are shared to ensure reproducibility and transparency in the study's methodology. For detailed usage instructions and licencing information, please refer to the README file included in this repository.

v0.1.0-beta

21 Jan 11:57

Choose a tag to compare

v0.1.0-beta Pre-release
Pre-release

This pre-release contains the data and Python scripts associated with the resubmission of the accompanying paper titled 'Feasibility of using very high-resolution satellite imagery to monitor Tristan albatrosses Diomedea dabbenena on Gough Island' to Endangered Species Research. The provided resources include:

  • Satellite image datasets and annotations used for the manual detection of Tristan albatrosses during the breeding season.
  • Python scripts for data processing and analysis of detection results.
  • These materials are shared to ensure reproducibility and transparency in the study's methodology. For detailed usage instructions and licencing information, please refer to the README file included in this repository.