hylite
An open-source python toolbox for hyperspectral data preprocessing, correction, projection and analysis.
Tutorials
A variety of interactive notebook tutorials are available for hylite:
Basic:
- Introduction tutorial using GoogleColab
- Another introduction from the DRT workshop
- Yet another introduction from the VGC conference
Advanced:
Publications
If you use hylite for your work then please cite:
- Thiele, S. T., Lorenz, S., et al., (2021). Multi-scale, multi-sensor data integration for automated 3-D geological mapping using hylite. Ore Geology Reviews. https://doi.org/10.1016/j.oregeorev.2021.104252
Other relevant papers include:
Thiele, S.T., Bnoulkacem, Z., Lorenz, S., Bordenave, A., Menegoni, N., Madriz, Y., Dujoncquoy, E., Gloaguen, R. and Kenter, J., 2021. Mineralogical Mapping with Accurately Corrected Shortwave Infrared Hyperspectral Data Acquired Obliquely from UAVs. Remote Sensing, 14(1), p.5. https://doi.org/10.3390/rs14010005
Thiele, S. T., Lorenz, S., Kirsch, M., & Gloaguen, R. (2021). A Novel and Open-Source Illumination Correction for Hyperspectral Digital Outcrop Models. IEEE Transactions on Geoscience and Remote Sensing. https://doi.org/10.1109/TGRS.2021.3098725
Lorenz, S., Thiele, S.T., Kirsch, M., Unger, G., Zimmermann, R., Guarnieri, P., Baker, N., Sørensen, E.V., Rosa, D. and Gloaguen, R., 2022. Three-Dimensional, Km-Scale Hyperspectral Data of Well-Exposed Zn–Pb Mineralization at Black Angel Mountain, Greenland. Data, 7(8), p.104. https://doi.org/10.3390/data7080104
Guarnieri, P., Thiele, S.T., Baker, N., Sørensen, E.V., Kirsch, M., Lorenz, S., Rosa, D., Unger, G. and Zimmermann, R., 2022. Unravelling the Deformation of Paleoproterozoic Marbles and Zn-Pb Ore Bodies by Combining 3D-Photogeology and Hyperspectral Data (Black Angel Mine, Central West Greenland). Minerals, 12(7), p.800. https://doi.org/10.3390/min12070800
Kirsch, M., Mavroudi, M., Thiele, S., Lorenz, S., Tusa, L., Booysen, R., Herrmann, E., Fatihi, A., Möckel, R., Dittrich, T. and Gloaguen, R.,
- Underground hyperspectral outcrop scanning for automated mine‐face mapping: The lithium deposit of Zinnwald/Cínovec. The Photogrammetric Record, 38(183), pp.408-429. https://doi.org/10.1111/phor.12457
Documentation
Almost all of the modules, classes and functions in hylite have docstrings. These can be viewed in a notebook or python console using the help(...) function or by typing "?" after a class or function name. Searchable documentation is also available online.
1""" 2An open-source python toolbox for hyperspectral data preprocessing, correction, projection and analysis. 3 4----------- 5 6### Tutorials 7 8A variety of interactive notebook tutorials are available for *hylite*: 9 10Basic: 11- [Introduction tutorial using GoogleColab](https://drive.google.com/drive/folders/1hkr4gtP1OY_PIK7cynl3dWd3sYi_9s5F?usp=drive_link) 12- [Another introduction from the DRT workshop](https://tinyurl.com/drt2022) 13- [Yet another introduction from the VGC conference](https://drive.google.com/drive/folders/1_gDRMrccNG3OMyIPYy0mkpkbN6nn92OW?usp=sharing) 14 15Advanced: 16- [Building corrected hyperclouds](https://tinyurl.com/Maamorilik01) 17- [Minimum wavelength mapping](https://tinyurl.com/Maamorilik02) 18- [Visualising hyperclouds](https://tinyurl.com/Maamorilik03) 19 20---------- 21 22### Publications 23 24If you use hylite for your work then please cite: 25 26* Thiele, S. T., Lorenz, S., et al., (2021). Multi-scale, multi-sensor data integration for automated 3-D geological 27mapping using hylite. *Ore Geology Reviews*. https://doi.org/10.1016/j.oregeorev.2021.104252 28 29Other relevant papers include: 30 31* Thiele, S.T., Bnoulkacem, Z., Lorenz, S., Bordenave, A., Menegoni, N., Madriz, Y., Dujoncquoy, E., Gloaguen, R. and Kenter, J., 2021. 32Mineralogical Mapping with Accurately Corrected Shortwave Infrared Hyperspectral Data Acquired Obliquely from UAVs. 33*Remote Sensing*, 14(1), p.5. https://doi.org/10.3390/rs14010005 34 35* Thiele, S. T., Lorenz, S., Kirsch, M., & Gloaguen, R. (2021). 36A Novel and Open-Source Illumination Correction for Hyperspectral Digital Outcrop Models. *IEEE Transactions on 37Geoscience and Remote Sensing*. https://doi.org/10.1109/TGRS.2021.3098725 38 39* Lorenz, S., Thiele, S.T., Kirsch, M., Unger, G., Zimmermann, R., Guarnieri, P., Baker, N., 40Sørensen, E.V., Rosa, D. and Gloaguen, R., 2022. Three-Dimensional, Km-Scale Hyperspectral Data of Well-Exposed Zn–Pb 41Mineralization at Black Angel Mountain, Greenland. *Data*, 7(8), p.104. https://doi.org/10.3390/data7080104 42 43* Guarnieri, P., Thiele, S.T., Baker, N., Sørensen, E.V., Kirsch, M., Lorenz, S., Rosa, D., Unger, G. and Zimmermann, R., 2022. 44Unravelling the Deformation of Paleoproterozoic Marbles and Zn-Pb Ore Bodies by Combining 3D-Photogeology and 45Hyperspectral Data (Black Angel Mine, Central West Greenland). *Minerals*, 12(7), p.800. https://doi.org/10.3390/min12070800 46 47* Kirsch, M., Mavroudi, M., Thiele, S., Lorenz, S., Tusa, L., Booysen, R., Herrmann, E., Fatihi, A., Möckel, R., Dittrich, T. and Gloaguen, R., 482023. Underground hyperspectral outcrop scanning for automated mine‐face mapping: The lithium deposit of Zinnwald/Cínovec. 49The Photogrammetric Record, 38(183), pp.408-429. https://doi.org/10.1111/phor.12457 50 51------- 52 53# Documentation 54 55Almost all of the modules, classes and functions in *hylite* have docstrings. These can be viewed in a notebook or 56python console using the help(...) function or by typing "?" after a class or function name. Searchable documentation 57is also available online. 58""" 59 60# to generate docs with pdoc run: pdoc --html hylite --output-dir docs --force 61 62# disable numpy multithreading 63import os 64os.environ["OMP_NUM_THREADS"] = "1" 65os.environ["OPENBLAS_NUM_THREADS"] = "1" 66os.environ["MKL_NUM_THREADS"] = "1" 67os.environ["VECLIB_MAXIMUM_THREADS"] = "1" 68os.environ["NUMEXPR_NUM_THREADS"] = "1" 69 70#disable annoying warnings 71#np.warnings.filterwarnings('ignore') 72#warnings.filterwarnings("ignore", category=DeprecationWarning) 73# ignore all warnings 74#def _warn(*args, **kwargs): 75# pass 76#warnings.warn = _warn 77 78import warnings 79warnings.filterwarnings('ignore') 80warnings.filterwarnings("ignore", category=DeprecationWarning) 81 82########################################### 83## Define useful preset band combinations 84########################################### 85RGB = (680.0,550.0,505.0) 86""" 87Wavelengths for red [680.0], green [550.0] and blue [505.0]- useful for plotting. 88Note that we use the upper end of blue as this is the first band of rikola data. 89""" 90 91VNIR = (800.0, 550.0, 505.0) 92"""Useful preview for VNIR data using (infrared [1972.0], green [644.0], blue [1450.0]).""" 93 94SWIR = (2200.0,2250.0,2350.0) 95"""Useful preview for SWIR data (2200.0, 2250.0, 2350.0) sensitive to clay, mica, carbonate and amphibole absorbtions.""" 96 97BROAD = (1972.0,644.0,1450.0) #useful preview for data that covers visible VNIR and SWIR range 98"""Useful preview that covers VNIR and SWIR range (1972.0,644.0,1450.0) .""" 99 100MWIR = (3000., 3400., 3800. ) 101"""Useful preview for MWIR range (3000., 3400., 3800. ).""" 102 103LWIR = TIR = (10101.01, 9174.31, 8547.01) 104"""Useful preview for TIR range (10101.01, 9174.31, 8547.01).""" 105 106band_select_threshold = 10. 107"""Maximum distance (in nanometers) to use when matching wavelengths with band indices. See HyData.get_band_index(...) for more detail.""" 108 109#import basic data classes 110from .hyheader import HyHeader 111from .hydata import HyData 112from .hyimage import HyImage 113from .hycloud import HyCloud 114from .hylibrary import HyLibrary 115from .hycollection import HyCollection 116from .hyscene import HyScene 117from .hyfeature import HyFeature, MultiFeature, MixedFeature
Wavelengths for red [680.0], green [550.0] and blue [505.0]- useful for plotting. Note that we use the upper end of blue as this is the first band of rikola data.
Useful preview for VNIR data using (infrared [1972.0], green [644.0], blue [1450.0]).
Useful preview for SWIR data (2200.0, 2250.0, 2350.0) sensitive to clay, mica, carbonate and amphibole absorbtions.
Useful preview that covers VNIR and SWIR range (1972.0,644.0,1450.0) .
Useful preview for MWIR range (3000., 3400., 3800. ).
Maximum distance (in nanometers) to use when matching wavelengths with band indices. See HyData.get_band_index(...) for more detail.