{"name": "HDF-EOS Extractor", "package_name": "hdfeos_extractor", "description": "Opens hyperspectral HDF-EOS5 cubes (Planet Tanager and similar) and explores them: click a pixel and see its spectrum, sweep a sampling line, navigate the data cube. Also extracts to ENVI's native format with wavelengths, FWHM and bad band list. / Abre cubos hiperespectrales HDF-EOS5 y los explora; tambien los extrae al formato nativo de ENVI.", "about": "A hyperspectral cube is three things at once - a place, a picture and a spectrum - and most tools show only one of them. This plugin links the three, and it does it on the original HDF-EOS5 container: no need to convert anything first. Click a pixel on the map or on the cube and its full spectral signature is plotted immediately; drag a sampling line across the scene and the plot follows, summarising every pixel the line crosses; drag a rectangle and get the mean signature of the area with its per-band standard deviation. The classic hyperspectral cube is drawn too - the image at the front, the spectral transects as the two side faces - but unlike a static cube the faces are the slice that passes through the crosshair, so dragging it actually travels through the cube, and clicking a side face brings that band to the front. RGB composition is chosen by wavelength and not by band number, so the presets mean the same thing on any sensor. Bad bands are handled properly: the file's own bbl, the water vapour absorption windows, the noisy ends of the range and any hand-written ranges are excluded from the analysis - not just hidden from the plot, but kept out of the mean, the standard deviation and the spectral angle, where a bad band does its real damage unseen. Signatures can be named, annotated, compared by spectral angle, saved to a JSON library and exported to CSV. The plugin also keeps the Processing algorithm \"HDF-EOS5 to ENVI\", which unpacks the container into ENVI's native format - raw binary plus text header, read by every hyperspectral package - with the centre wavelengths, the FWHM, the fill value and a bad band list that already flags the water vapour absorption windows, so MNF, PPI and spectral unmixing do not drag those bands along. Unorthorectified products come in sensor geometry with latitude and longitude stored per pixel; those can be written as an IGM file for ENVI's \"Georeference from Input Geometry\", and the 2D ancillary layers (cloud and cirrus masks, nodata, aerosol optical depth, column water vapour, sun and sensor angles) stacked into one multiband file. Because it is a Processing algorithm it also works in batch over a folder of scenes and inside the graphical modeller. NO MANDATORY EXTERNAL DEPENDENCY: it needs only numpy and GDAL, both bundled with QGIS. h5py is used when present because it gives fuller access to HDF5 attributes and faster random reads; pyqtgraph is used for the spectral plot when installed and a built-in canvas takes over when it is not. The analysis core imports neither QGIS nor Qt, so the same code runs from Jupyter or a plain script. Nothing is downloaded and no remote service is contacted. ESPANOL: abre el cubo HDF-EOS5 y lo explora enlazando en tiempo real la posicion del pixel, la imagen y su firma espectral, sin convertir nada antes. Dibuja el cubo con los transectos espectrales en las caras, y esas caras siguen a la cruz. Conserva el algoritmo de extraccion a ENVI, por lotes y desde el modelador. Sin dependencias externas obligatorias.", "homepage": "https://github.com/csoto666/qgis-hdfeos-extractor", "repository": "https://github.com/csoto666/qgis-hdfeos-extractor", "tracker": "https://github.com/csoto666/qgis-hdfeos-extractor/issues", "author": "Carlo Soto Castro", "tags": ["hyperspectral", "hdf5", "hdf-eos", "envi", "tanager", "planet", "remote sensing", "spectral", "raster", "imagery", "processing", "spectra", "signature", "reflectance", "analysis", "spectral library", "datacube"], "downloads": 18, "latest_version": "1.0", "versions": [{"version": "1.0", "experimental": false, "qgis_min": "3.16.0", "qgis_max": "3.99.0", "downloads": 17, "uploaded_by": "csoto666", "upload_datetime": "2026-09-12T20:06:39.712222"}]}