Imaging Spectrometer Optimal FITting


License
BSD-1-Clause
Install
pip install isofit==3.0.1

Documentation

ISOFIT - Imaging Spectrometer Optimal FITting

Welcome to ISOFIT 3x. This is a major update to the ISOFIT codebase, and is not backwards compatible with ISOFIT 2x. To view the previous version of ISOFIT, please see dev_2x. Updates and performance enhancements are still underway, but testing and feedback are encouraged! A list of new 3x features is compiled below.

ISOFIT contains a set of routines and utilities for fitting surface, atmosphere and instrument models to imaging spectrometer data. It is written primarily in Python, with JSON format configuration files and some dependencies on widely-available numerical and scientific libraries such as scipy, numpy, and scikit-learn. It is designed for maximum flexibility, so that users can swap in and evaluate model components based on different radiative transfer models (RTMs) and various statistical descriptions of surface, instrument, and atmosphere. It can run on individual radiance spectra in text format, or imaging spectrometer data cubes.

  • Please check the documentation for installation and usage instructions and in depth information.
  • There are three main branches:
  • main (in-line with the current release)
  • dev (for activate development of ISOFIT 3x)
  • dev_2x (archived version of ISOFIT 2x)
  • Information on how to cite the ISOFIT Python package can be found in the CITATION file.

License

Free software: Apache License v2

All images contained in any (sub-)directory of this repository are licensed under the CC0 license which can be found here.

Major ISOFIT 3x features

  • new handling of look-up-tables (LUTs), including the option to provide custom prebuilt LUTs
  • centralized radiative transfer physics for more flexible development and experimentation
  • test coverage for major functionality
  • click command line utilities, including download of external data and example files
  • a more flexible isofit.ini file used to discover various paths such as tests, data, and examples
  • instructions for dev environment setup and a collection of setup scripts
  • numpy implementation of the sRTMnet emulator (removes tensorflow dependency)

Basic features

  • utilities for fitting surface, atmosphere and instrument models to imaging spectrometer data
  • a selection of radiative transfer models (RTMs) incl. MODTRAN and 6S
  • sRTMnet emulator for MODTRAN 6 by coupling a neural network with a surrogate RTM (6S v2.1)
  • various statistical descriptions of surface, instrument, and atmosphere
  • application to both individual radiance spectra and imaging spectrometer data cubes
  • custom instrument models to handle new sensors
  • observation uncertainties to account for model discrepancy errors
  • prior distribution based on background knowledge of the state vector

Status

badge1 badge2 badge3 badge4 badge5 badge6 badge7 badge8