Tools for gathering and processing InSAR data


License
MIT
Install
pip install apertools==0.7.0

Documentation

Build Status

Apertools: tools for InSAR (Interferometric Synthetic Aperture Radar)

Other helping tools: sentineleof for downloading Sentinel 1 EOF precise orbit files.

Setup and installation

pip install apertools

sario.py

Input/Output functions for SAR data. Contains methods to load Sentinel, UAVSAR and DEM files

Main function:

import apertools.sario
my_slc = apertools.sario.load('/file/path/radar.slc')
geocoded_slc = apertools.sario.load('/file/path/myslc.geo')
my_int = apertools.sario.load('/file/path/interferogram.int')
unwrapped_int = apertools.sario.load('/file/path/igram.unw')
my_dem = apertools.sario.load('/file/path/elevation.dem')
my_hgt = apertools.sario.load('/file/path/N20W100.hgt')

latlon.py

Contains LatlonImage class, which loads metadata about an image and acts as a smart numpy array. Includes functionality for slicing/selecting pixels by latitude/longitude, among other things.

Also contains helper functions for maniuplating lat/lon data.

plotting.py

Useful plotting functions, including center-shifted colormap (to make 0 values a neutral color), and 3D stack viewing function

los.py

Line of sight utilities

gps.py

Several functions for using GPS data in conjunction with InSAR stacks

parsers.py

Classes to deal with extracting relevant data from SAR filenames. Example:

from apertools.parsers import Sentinel

parser = Sentinel('S1A_IW_SLC__1SDV_20180408T043025_20180408T043053_021371_024C9B_1B70.zip')
parser.start_time
    datetime.datetime(2018, 4, 8, 4, 30, 25)

parser.mission
    'S1A'

parser.polarization
    'DV'
parser.full_parse
('S1A',
 'IW',
 'SLC',
 '_',
 '1',
 'S',
 'DV',
 '20180408T043025',
 '20180408T043053',
 '021371',
 '024C9B',
 '1B70')


parser.field_meanings
('Mission',
 'Beam',
 'Product type',
 'Resolution class',
 'Product level',
 'Product class',
 'Polarization',
 'Start datetime',
 'Stop datetime',
 'Orbit number',
 'data-take identified',
 'product unique id')

UAVSAR parser also exists.

log.py

Module to make logging pretty with times and module names.

If you also pip install colorlog, it will become colored (didn't require this in case people like non-color logs.)

from apertools.log import get_log
logger = get_log()
logger.info("Better than printing")
[05/29 16:28:19] [INFO log.py] Better than printing