Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.

NEODAAS Airborne Tools

Various tools for using, processing or handling airborne remote sensing data acquired by the National Environment Research Council (NERC) Airborne Research Facility (NERC-ARF; formerly ARSF).

Developed by the NERC-ARF Data Analysis Node (NERC-ARF-DAN) based at Plymouth Marine Laboratory and maintained by the NERC Earth Observation Data Aqusition and Analysis Service (NEODAAS).

Most tools are written in Python and depend on other libraries such as NumPy, see individual scripts for more details on required libraries.

Unless otherwise stated tools are made available under the terms of the GNU General Public License as detailed in LICENSE.

General Set up

The majority of these scripts are written in Python and require external libraries such as numpy and GDAL.

To install these under Windows it is recommended to use the following steps:

  1. Download minconda from and follow the instructions to install.

  2. Open a 'Command Prompt' window and install gdal and numpy by typing:

conda install -c conda-forge numpy gdal

Alternatively they can be installed through OSGeo4W. This is recommended if you also plan to install the arsf_dem_scripts.


A tool to extract waveform data from LAS1.3 LiDAR files. Requires:

A library to read and extract data from a LAS1.3 file.


A directory containing the las13 library for reading LAS1.3 files. Consists of a C++ library with python bindings. See separate README for more details.

A script to attribute LAS files with colours from an image (e.g., hyperspectral data). Requires GDAL python bindings and laspy.

A script to convert ASCII LiDAR files used for ARSF data prior to 2009 (.all format) with two returns for each line into into ASCII format with a return on each line or LAS.

For a description of the .all format used see:

For conversion to LAS Requires LAStools > 160730 to use the '-utm ZZnorth' flag.

Usage: -i lidar.all -o lidar_las.las

ARSF DEM Scripts

Scripts to create Digital Elevation Models (DEMs) from LiDAR data are housed in a separate repository:

LiDAR Analysis GUI

Our inhouse LiDAR visualisation tool is available from


A script to assign missing projection information to a GDAL dataset. Requires GDAL Python bindings.

A script to print information from a header file and optionally save wavelengths to a CSV file.

A script to plot information from multiple header files and optionally save parameters to a CSV file. Requires matplotlib and numpy to be installed. If you are using conda (see above) these can be installed using:

conda install numpy matplotlib

Copy selected keys from one header to another.

A script to batch map level 1b files to level 3b using APL.


A script to apply an empirical line correction to a BIL file. Takes field and image spectra from white, grey and black target in a CSV file with the following headings:


From these performs a linar fit for each wavelength in the image (interpolating field spectra to match). Coefficients from linear fit are then applied to the image.

Usage: --image_spectra spectra/f168051b_target_spectra.csv \
                    --field_spectra spectra/20170617-field_spec_targets.csv \
                    flightlines/level1b/f168051b.bil \

Airborne Processing Library (APL)

Library for processing hyperspectral data. Available from


A script to calculate temperature and emissivity from Owl data. Available from:


Extract GPS coordinates from ARSF Wild RC-10 TIFF images available from NEODC using exiftool and save to CSV.

Requires exiftool to be installed from

Usage: -o photo_locations.csv *.tif


A script / library to read SOL/SBET format navigation files.


Converts from heights relative to the WGS-84 ellipsoid to relative to EGM96 Geoid.

Conversion is based on 15 minute gridded conversion file available from:

The tool can be used from the command line:

python --lat 54 --lon -4 --height 0

Or imported and used as a Python function

import convert_wgs84_to_geoid

convert_wgs84_to_geoid.convert_wgs_84_to_geoid(in_lat=54, in_lon=-4, in_elevation=0,

Setting wgs84_to_geoid to False will do the conversion the other way (EGM96 to WGS84).


Scripts for running ARSF on the JASMIN system are available from


Various tools for using, processing or handling NERC-ARF data provided by the Data Analysis Node at Plymouth Marine Laboratory.







No releases published


No packages published