Skip to content

An open-source Python package for geospatial processing of aerial hyperspectral imagery

License

Notifications You must be signed in to change notification settings

tnigon/hs_process

Repository files navigation

Welcome to hs_process

An open-source Python package for geospatial processing of aerial hyperspectral imagery

hs_process emphasizes the ability to batch process datacubes, with the overall goal of keeping the processing pipeline as "hands-off" as possible. There is also a focus on maintaining the ability to have control over the subjective aspects of image processing (e.g., segmentation thresholds) and achieving repeatability in image post-processing.

Anaconda-Cloud Install with Downloads License GitHub issues

About

hs_process is a Python package for geospatial post-processing of aerial hyperspectral imagery. The principle motivation for developing hs_process was to streamline the post-processing steps required prior to hyperspectral data analysis. Although commercial software perhaps exists for such needs, open source software that is both flexible and streamlined did not previously exist. The specific motivations were:

  1. Minimize the time and effort required to perform post-processing tasks.
  2. Minimize (and potentially eliminate) the number of steps where user intervention is required.
  3. Provide a framework for post-processing an entire aerial hyperspectral dataset that, when repeated, does not require any user intervention.
  4. Enable users to more easily document the complex processes and inherently subjective parameters used for post-processing aerial hyperspectral imagery (e.g., segmentation thresholds, spatial plot buffers, etc.).

In addressing these motivations, it was important to keep each post-processing steps as flexible as possible so the specific requirements of individual research objectives can be met.

hs-process flow chart

For more information and tutorials, check out the hs_process documentation.

Data requirements

The minimum data requirement to utilize this package is a pre-processed hyperspectral datacube (i.e., radiometric calibration, georectification, and reflectance conversion should have already been completed). Sample imagery captured from a Resonon Pika II VIS-NIR line scanning imager can be downloaded from this link.

To perform spatial cropping, a polygon boundary file is required with "plot" column indicating the plot number of each boundary feature (an example geojson can be downloaded from this link).

Sample data

Download from this link

  • hs_process was developed using images from the Resonon Pika II hyperspectral imager, so it tends to be tailored towards modifying metadata specific to Resonon, with the Pika II model imager in particular.
  • hs_process leverages the Spectral Python library for reading and writing hyperspectral datacubes.

Intended audience

This package was built for those looking for a clean, streamlined solution for post-processing aerial hyperspectral imagery. This package is especially well-suited for R&D departments looking for a straightforward way to achieve repeatable post-processing results so data analysis can proceed more quickly and systematically.

Troubleshooting

Please report any issues you encounter through the Github issue tracker.

Code of Conduct

Everyone interacting in the packaging project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

About

An open-source Python package for geospatial processing of aerial hyperspectral imagery

Resources

License

Stars

Watchers

Forks

Packages

No packages published