{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,26]],"date-time":"2026-02-26T19:19:01Z","timestamp":1772133541756,"version":"3.50.1"},"reference-count":42,"publisher":"MDPI AG","issue":"8","license":[{"start":{"date-parts":[[2024,8,1]],"date-time":"2024-08-01T00:00:00Z","timestamp":1722470400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"European Space Agency (the Mars planetary mapping project)"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Algorithms"],"abstract":"<jats:p>This paper describes the design, implementation, and usage of a Python package called Hyperspectral Python (HypPy). Proprietary software for processing hyperspectral images is expensive, and tools developed using these packages cannot be freely distributed. The idea of HypPy is to be able to process hyperspectral images using free and open-source software. HypPy was developed using Python and relies on the array-processing capabilities of packages like NumPy and SciPy. HypPy was designed with practical imaging spectrometry in mind and has implemented a number of novel ideas. To name a few of these ideas, HypPy has BandMath and SpectralMath tools for processing images and spectra using Python statements, can process spectral libraries as if they were images, and can address bands by wavelength rather than band number. We expect HypPy to be beneficial for research, education, and projects using hyperspectral data because it is flexible and versatile.<\/jats:p>","DOI":"10.3390\/a17080337","type":"journal-article","created":{"date-parts":[[2024,8,1]],"date-time":"2024-08-01T12:38:20Z","timestamp":1722515900000},"page":"337","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Hyperspectral Python: HypPy"],"prefix":"10.3390","volume":"17","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0382-7225","authenticated-orcid":false,"given":"Wim","family":"Bakker","sequence":"first","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2347-1625","authenticated-orcid":false,"given":"Frank","family":"van Ruitenbeek","sequence":"additional","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2871-3913","authenticated-orcid":false,"given":"Harald","family":"van der Werff","sequence":"additional","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6802-5042","authenticated-orcid":false,"given":"Christoph","family":"Hecker","sequence":"additional","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3960-0081","authenticated-orcid":false,"given":"Arjan","family":"Dijkstra","sequence":"additional","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8755-3518","authenticated-orcid":false,"given":"Freek","family":"van der Meer","sequence":"additional","affiliation":[{"name":"Faculty ITC, University of Twente, 7522 NH Enschede, The Netherlands"}]}],"member":"1968","published-online":{"date-parts":[[2024,8,1]]},"reference":[{"key":"ref_1","unstructured":"NV5 Geospatial Solutions Inc. (2023, November 24). ENVI\u2014Environment for Visualizing Images. Available online: https:\/\/www.nv5geospatialsoftware.com\/docs\/using_envi_Home.html."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"e31230","DOI":"10.12681\/jpentai.31230","article-title":"Free and Open-Source Software: Freedom, Transparency and Efficiency in the Digitalization Era","volume":"1","author":"Prokakis","year":"2022","journal-title":"J. Politics Ethics New Technol. AI"},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"357","DOI":"10.1038\/s41586-020-2649-2","article-title":"Array programming with NumPy","volume":"585","author":"Harris","year":"2020","journal-title":"Nature"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"261","DOI":"10.1038\/s41592-019-0686-2","article-title":"SciPy 1.0: Fundamental algorithms for scientific computing in Python","volume":"17","author":"Virtanen","year":"2020","journal-title":"Nat. Methods"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"90","DOI":"10.1109\/MCSE.2007.55","article-title":"Matplotlib: A 2D Graphics Environment","volume":"9","author":"Hunter","year":"2007","journal-title":"Comput. Sci. Eng."},{"key":"ref_6","unstructured":"van Rossum, G., and Drake, F.L. (2009). Python 3 Reference Manual, CreateSpace. Available online: https:\/\/dl.acm.org\/doi\/book\/10.5555\/1593511."},{"key":"ref_7","unstructured":"Tragheim, D.G., Marsh, S.H., Pedley, R.C., Napier, B.R., Bateson, L., Smith, A.G., Marchant, A.P., Gunnink, J.L., Oosthoek, J.H.P., and Muller, J.P. (2010). The Mars Planetary Mapping Pilot Project, European Space Agency (ESA)."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1109\/83.287018","article-title":"The Khoros software development environment for image and signal processing","volume":"3","author":"Konstantinides","year":"1994","journal-title":"IEEE Trans. Image Process."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1145\/204362.204367","article-title":"Cantata","volume":"29","author":"Young","year":"1995","journal-title":"ACM SIGGRAPH Comput. Graph."},{"key":"ref_10","unstructured":"Ousterhout, J.K., Jones, K., Foster-Johnson, E., Fellows, D., Griffin, B., and Welton, D. (2009). Tcl and the Tk Toolkit, Addison-Wesley. [2nd ed.]."},{"key":"ref_11","unstructured":"Roseman, M. (2020). Modern Tkinter for Busy Python Developers: Quickly Learn to Create Great Looking User Interfaces for Windows, Mac and Linux Using Python\u2019s Standard GUI Toolkit, Late Afternoon Press."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Kokaly, R.F., Clark, R.N., Swayze, G.A., Livo, K.E., Hoefen, T.M., Pearson, N.C., Wise, R.A., Benzel, W.M., Lowers, H.A., and Driscoll, R.L. (2017). USGS Spectral Library Version 7, USGS. Technical report.","DOI":"10.3133\/ds1035"},{"key":"ref_13","unstructured":"Bibring, J.P., Langevin, Y., Altieri, F., Arvidson, R., Beilud, G., Berth\u00e9l, M., Dout\u00e9, S., Drossart, P., Encrenaz, T., and Forget, F. (2009). OMEGA: Observatoire pour la Min\u00e9ralogie, l\u2019Eau, les Glaces et l\u2019Activit\u00e9, European Space Agency, ESA (Special Publication). Available online: https:\/\/sci.esa.int\/s\/WnjXOYW."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1016\/0034-4257(93)90012-M","article-title":"The airborne visible\/infrared imaging spectrometer (AVIRIS)","volume":"44","author":"Vane","year":"1993","journal-title":"Remote Sens. Environ."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"19905","DOI":"10.1364\/OE.24.019905","article-title":"Spectral super-resolution reflectance retrieval from remotely sensed imaging spectrometer data","volume":"24","author":"Jia","year":"2016","journal-title":"Opt. Express"},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"S115","DOI":"10.1180\/minmag.2017.081.070","article-title":"The hydrothermal alteration of carbonatite in the Fen Complex, Norway: Mineralogy, geochemistry, and implications for rare-earth element resource formation","volume":"82","author":"Marien","year":"2018","journal-title":"Mineral. Mag."},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Richards, J.A., and Jia, X. (1999). Remote Sensing Digital Image Analysis, Springer.","DOI":"10.1007\/978-3-662-03978-6"},{"key":"ref_18","unstructured":"Driscoll, M. (2021). Pillow: Image Processing with Python, Leanpub. Available online: https:\/\/leanpub.com\/pillow."},{"key":"ref_19","unstructured":"Malvern Panalytical Ltd. (2024, July 31). ASD File Format\u2014Version 8. Technical Report, Malvern Panalytical. Available online: https:\/\/www.malvernpanalytical.com\/en\/learn\/knowledge-center\/user-manuals\/asd-file-format-v8."},{"key":"ref_20","unstructured":"Hettinger, R. (2023, November 24). What\u2019s New In Python 3.8. Available online: https:\/\/docs.python.org\/3\/whatsnew\/3.8.html."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1016\/0034-4257(79)90013-0","article-title":"Red and photographic infrared linear combinations for monitoring vegetation","volume":"8","author":"Tucker","year":"1979","journal-title":"Remote Sens. Environ."},{"key":"ref_22","unstructured":"Chang, C.-I. (July, January 28). Spectral information divergence for hyperspectral image analysis. Proceedings of the IEEE 1999 International Geoscience and Remote Sensing Symposium, IGARSS\u201999 (Cat. No.99CH36293), Hamburg, Germany."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"159","DOI":"10.1016\/j.rse.2005.04.025","article-title":"Seamless geological map generation using ASTER in the Broken Hill-Curnamona province of Australia","volume":"99","author":"Hewson","year":"2005","journal-title":"Remote Sens. Environ."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"51","DOI":"10.1109\/MGRS.2019.2899193","article-title":"Spectral Absorption Feature Analysis for Finding Ore: A Tutorial on Using the Method in Geological Remote Sensing","volume":"7","author":"Hecker","year":"2019","journal-title":"IEEE Geosci. Remote Sens. Mag."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"108","DOI":"10.1016\/j.pss.2014.06.009","article-title":"Mapping the wavelength position of deepest absorption features to explore mineral diversity in hyperspectral images","volume":"101","author":"Bakker","year":"2014","journal-title":"Planet. Space Sci."},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Ellson, J., Gansner, E.R., Koutsofios, E., North, S.C., and Woodhull, G. (2004). Graphviz and Dynagraph\u2014Static and Dynamic Graph Drawing Tools. Graph Drawing Software, Springer Link.","DOI":"10.1007\/978-3-642-18638-7_6"},{"key":"ref_27","unstructured":"ITC (2023, November 24). Master of Science Degree Programme in Geo-Information Science and Earth Observation\u2014Academic Year 2023\u20132024. Available online: https:\/\/studyguide.itc.nl\/m-geo."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"104012","DOI":"10.1016\/j.oregeorev.2021.104012","article-title":"Using hyperspectral imagery for identification of pyrophyllite-muscovite intergrowths and alunite in the shallow epithermal environment of the Yerington porphyry copper district","volume":"131","author":"Portela","year":"2021","journal-title":"Ore Geol. Rev."},{"key":"ref_29","unstructured":"Portela, B. (2023, November 24). Short Course\u2014Remote Sensing and Mineral Spectroscopy for the Exploration & Mining Geologist November 7\u201311, 2022, Istanbul. Available online: https:\/\/www.linkedin.com\/posts\/brunobvportela_geologicalremotesensing-istanbul-turkey-activity-7001884993555693568-bkXG."},{"key":"ref_30","unstructured":"Geological Remote Sensing Group (2023, November 24). GRSG Annual Conference & AGM 2022: Orbit to Outcrop. Available online: https:\/\/www.grsg.org.uk\/grsg-agm-conference-2022."},{"key":"ref_31","unstructured":"Chicarro, A., Martin, P.D., and Trautner, R. (2004). The Mars Express mission: An overview. Mars Express: A European Mission to the Red Planet, ESA. Available online: https:\/\/sci.esa.int\/documents\/33745\/35957\/1567254632829-OverviewWeb.pdf."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"112790","DOI":"10.1016\/j.rse.2021.112790","article-title":"Accurate hyperspectral imaging of mineralised outcrops: An example from lithium-bearing pegmatites at Uis, Namibia","volume":"269","author":"Booysen","year":"2022","journal-title":"Remote Sens. Environ."},{"key":"ref_33","first-page":"102233","article-title":"An evaluation of airborne SWIR imaging spectrometers for CH4 mapping: Implications of band positioning, spectral sampling and noise","volume":"94","author":"Scafutto","year":"2021","journal-title":"Int. J. Appl. Earth Obs. Geoinf."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Bakker, W., van der Werff, H., and van der Meer, F. (2019, January 24\u201326). Determining Smile And Keystone Of Lab Hyperspectral Line Cameras. Proceedings of the 2019 10th Workshop on Hyperspectral Imaging and Signal Processing: Evolution in Remote Sensing (WHISPERS), Amsterdam, The Netherlands.","DOI":"10.1109\/WHISPERS.2019.8921045"},{"key":"ref_35","first-page":"95","article-title":"Mineral mapping based on automatic detection of multiple absorption features","volume":"13","year":"2014","journal-title":"EARSeL EProc."},{"key":"ref_36","unstructured":"Therien, C. (2023, November 24). Welcome to the PySptools Documentation. Available online: https:\/\/pysptools.sourceforge.io\/."},{"key":"ref_37","unstructured":"Boggs, T. (2023, November 24). Spectral Python (SPy) User Guide. Available online: https:\/\/www.spectralpython.net\/user_guide.html."},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1186\/s40965-017-0031-6","article-title":"Orfeo ToolBox: Open source processing of remote sensing images","volume":"2","author":"Grizonnet","year":"2017","journal-title":"Open Geospat. Data Softw. Stand."},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"van der Linden, S., Rabe, A., Jakimow, B., Thiel, F., Cooper, S., Okujeni, A., and Hostert, P. (2021, January 19\u201323). Integrating Imaging Spectroscopy and GIS\u2014Free and Open Source Image Analysis in QGIS with the EnMAP-Box 3. Proceedings of the OSA Optical Sensors and Sensing Congress 2021 (AIS, FTS, HISE, SENSORS, ES), Washington, DC, USA.","DOI":"10.1364\/HISE.2021.HF4E.2"},{"key":"ref_40","unstructured":"van Rossum, G., and Fridman, L. (2024, July 31). Why Python 3.11 Is So Fast. 2022. Interview on YouTube. Available online: https:\/\/youtu.be\/TLhRuZ9cJWc."},{"key":"ref_41","unstructured":"Modular Inc. (2023, November 24). Mojo\u2014A New Programming Language. Available online: https:\/\/www.modular.com\/mojo."},{"key":"ref_42","unstructured":"Bakker, W.H. (2024). wimhbakker\/hyppy: HypPy3. Zenodo."}],"container-title":["Algorithms"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-4893\/17\/8\/337\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T15:28:19Z","timestamp":1760110099000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-4893\/17\/8\/337"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,8,1]]},"references-count":42,"journal-issue":{"issue":"8","published-online":{"date-parts":[[2024,8]]}},"alternative-id":["a17080337"],"URL":"https:\/\/doi.org\/10.3390\/a17080337","relation":{},"ISSN":["1999-4893"],"issn-type":[{"value":"1999-4893","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,8,1]]}}}