Skip to main content

Imaging Spectrometer Optimal FITting

Project description

This codebase 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, scikit-learn, and numba. 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.

The subdirectories contain:

  • data/ - shared data files

  • docs/ - documentation

  • examples/ - a series of example runs packaged with input data and sample configuration files.

  • isofit/ - the main Python codebase, with the top-level program isofit.py.

  • utils/ - general purpose utilities and routines.

Installation Instructions

From Github

The code repository, development branches, and user community are found on GitHub. To install:

  1. Download or clone the git repo located at https://github.com/davidraythompson/isofit.

  2. Install the ISOFIT dependencies using pip

python3 -m pip install scipy
python3 -m pip install numba
python3 -m pip install matplotlib
python3 -m pip install scikit-learn
python3 -m pip install spectral
  1. Make sure the isofit/ and utils/ subdirectories are in your Python path like this:

export PYTHONPATH="${PYTHONPATH}:/path/to/isofit/isofit:/path/to/isofit/utils"

From PyPI

Also, the latest release is always hosted on PyPI, so if you have pip installed, you can install ISOFIT from the command line with

pip install isofit

This will install the “isofit” package into your environment as well as its dependencies.

Quick Start

This quick start presumes that you are using the MODTRAN 6.0 radiative transfer model. Other open-source options including LibRadTran and neural network emulators will also be integrated in the future, however, for the current release MODTRAN 6.0 is required.

  1. Configure your environment with the variables ISOFIT_BASE pointing to the base checkout directory of ISOFIT, and also MODTRAN_DIR pointing to the base MODTRAN 6.0 directory.

  2. Run the following code

cd examples/20171108_Pasadena
./run_example.sh
  1. This will build surface models and run the retrieval. The default example uses a lookup table approximation, and the code should recognize that the tables do not currently exist. It will call MODTRAN to rebuild them, which will take a few minutes.

  2. Look for output data in examples/20171108_Pasadena/output/.

Additional Installation Info for Mac OSX

  1. Install the command-line compiler

xcode-select --install
  1. Download the python3 installer from https://www.python.org/downloads/mac-osx/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isofit-0.1.0.dev1.tar.gz (53.6 MB view hashes)

Uploaded Source

Built Distribution

isofit-0.1.0.dev1-py3-none-any.whl (59.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page