hy-tools

Hyperspectral image processing library

https://github.com/enspec/hytools

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: science.org, zenodo.org
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

remote-sensing spectroscopy
Last synced: 6 months ago · JSON representation ·

Repository

Hyperspectral image processing library

Basic Info
  • Host: GitHub
  • Owner: EnSpec
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 14.2 MB
Statistics
  • Stars: 69
  • Watchers: 9
  • Forks: 26
  • Open Issues: 8
  • Releases: 15
Topics
remote-sensing spectroscopy
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

HyTools

DOI

HyTools is a python library for processing airborne and spaceborne imaging spectroscopy data. At it's core it consists of functions for reading and writing ENVI formatted images and reading NEON AOP HDF files along with a series of image processing functions including spectral resampling, topographic, BRDF and glint correction, spectral transforms, masking and more. We have also created a series of command line tools which combine these functions and provide a streamlined workflow for processing images.

For examples see the HyTools basics ipython notebook here. For FlexBRDF correction see the tutorial here. An alternative of FlexBRDF correction without using Ray can be checked out here. NetCDF (EMIT and AVIRIS-NG) and Geographic Lookup Table (GLT) support are added in the latest version here.

Installation

To install with pip run: bash pip install hy-tools or bash python -m pip install git+https://github.com/EnSpec/hytools.git or clone bash git clone https://github.com/EnSpec/hytools.git and install with setuptools bash python setup.py install

Basic usage

```python

import hytools as ht

Create a HyTools container object

hy_obj = ht.HyTools()

Read and load ENVI file metadata

hyobj.readfile('./envi_file')

Calculate NDVI, retrieves closest wavelength to input wavelength

ir = hyobj.getwave(900) red = hyobj.getwave(660) ndvi = (ir-red)/(ir+red)

or

Calculate normalized difference index, NDVI by default

ndvi = hy_obj.ndi()

Other options for retrieving data

band = hyobj.getband(10) column = hyobj.getcolumn(1) line = hyobj.getline(234) chunk = hyobj.getchunk(0,100,0,100) pixels = hyobj.getpixels([102,434],[324,345])

Create a writer object to write to new file

writer = ht.io.WriteENVI('outputenvi',hyobj.get_header())

Create an iterator object to cycle though image

iterator = hy_obj.iterate(by = 'line')

Cycle line by line, read from original data

while not iterator.complete: #Read next line line = iterator.read_next()

#Do some calculations....... radiance = line * gain + offset

#Write line to file writer.writeline(radiance,iterator.currentline)

writer.close() ```

Owner

  • Name: Environmental Spectroscopy Lab
  • Login: EnSpec
  • Kind: organization
  • Location: Madison, WI

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: HyTools
message: >-
  HyTools: a python library for processing airborne and
  spaceborne imaging spectroscopy data
type: software
authors:
  - given-names: Adam
    family-names: Chlus
    email: adam.chlus@jpl.nasa.gov
    affiliation: Jet Propulsion Laboratory, California Institute of Technology; University of Wisconsin - Madison
  - given-names: Zhiwei
    family-names: Ye
    email: ye6@wisc.edu
    affiliation: University of Wisconsin - Madison
    orcid: 'https://orcid.org/0000-0001-5673-7034'
  - given-names: Ting
    family-names: Zheng
    email: tzheng39@wisc.edu
    affiliation: University of Wisconsin - Madison
    orcid: 'https://orcid.org/0000-0003-4728-6627'
  - given-names: Natalie
    family-names: Queally
    email: nqueally@ucla.edu
    affiliation: University of California, Los Angeles; University of Wisconsin - Madison
  - given-names: Evan
    family-names: Greenberg
    email: egreenberg@ucsb.edu
    affiliation: University of California, Santa Barbara
  - given-names: Philip
    family-names: Townsend
    email: ptownsend@wisc.edu
    affiliation: University of Wisconsin - Madison

identifiers:
  - type: doi
    value: 10.5281/zenodo.12573700
    description: Release 1.5.1
  - type: doi
    value: 10.5281/zenodo.7591966
    description: Release 1.5.0
repository-code: 'https://github.com/EnSpec/hytools'
abstract: >-
  HyTools is a python library for processing airborne and
  spaceborne imaging spectroscopy data. At it's core it
  consists of functions for reading and writing ENVI or
  NetCDF formatted images and reading NEON AOP HDF files
  along with a series of image processing functions
  including spectral resampling, topographic, BRDF and glint
  correction, spectral transforms, masking and more. We have
  also created a series of command line tools which combine
  these functions and provide a streamlined workflow for
  processing images.
keywords:
  - imaging spectroscopy
  - remote sensing
  - BRDF correction
  - glint correction
  - topographic correction
  - hyperspectral
license: GPL-3.0
commit: acd11db3d655b017ad2dd6ed382fe1e7f385fde9
version: 1.5.1
date-released: '2024-06-27'

GitHub Events

Total
  • Create event: 2
  • Release event: 3
  • Issues event: 6
  • Watch event: 8
  • Delete event: 1
  • Issue comment event: 13
  • Push event: 25
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 2
Last Year
  • Create event: 2
  • Release event: 3
  • Issues event: 6
  • Watch event: 8
  • Delete event: 1
  • Issue comment event: 13
  • Push event: 25
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 2

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 261
  • Total Committers: 6
  • Avg Commits per committer: 43.5
  • Development Distribution Score (DDS): 0.211
Past Year
  • Commits: 7
  • Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
adamchlus 2****s 206
Winston Olson-Duvall w****l@j****v 30
Evan Greenberg g****g@p****n 9
oldmanye007 x****e@g****m 9
Evan Greenberg g****g@d****v 4
Evan Greenberg g****g@E****l 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 9
  • Average time to close issues: 4 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 8
  • Total pull request authors: 5
  • Average comments per issue: 3.09
  • Average comments per pull request: 0.56
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: 5 days
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 9.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • serbinsh (4)
  • HlEvag (1)
  • arthur-e (1)
  • wenquchen (1)
  • zxdawn (1)
  • brentwilder (1)
  • LirenW (1)
  • davidraythompson (1)
  • jantin1 (1)
  • mjb-oz (1)
Pull Request Authors
  • oldmanye007 (3)
  • adamchlus (3)
  • krkovach (2)
  • evan-greenbrg (2)
  • winstonolson (1)
Top Labels
Issue Labels
documentation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 261 last-month
  • Total docker downloads: 10
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 13
  • Total maintainers: 2
pypi.org: hy-tools

HyTools: Hyperspectral image processing library

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 261 Last month
  • Docker Downloads: 10
Rankings
Docker downloads count: 3.8%
Forks count: 8.1%
Stargazers count: 9.7%
Dependent packages count: 10.1%
Average: 11.4%
Dependent repos count: 11.5%
Downloads: 25.0%
Maintainers (2)
Last synced: 6 months ago

Dependencies

docs/source/requirements.txt pypi
  • sphinx_rtd_theme *
requirements.txt pypi
  • h5py *
  • matplotlib *
  • numpy *
  • pandas *
  • ray *
  • scikit-learn *
  • scipy *
setup.py pypi
  • h5py *
  • matplotlib *
  • numpy *
  • pandas *
  • ray *
  • scikit-learn *
  • scipy *