{"name": "HDF-EOS Extractor", "package_name": "hdfeos_extractor", "version": "2.21", "experimental": false, "qgis_min": "3.16.0", "qgis_max": "3.99.0", "downloads": 75, "uploaded_by": null, "upload_datetime": "2026-09-23T12:53:31.161318", "changelog": "2.21 - EVERY SIGNATURE NOW KNOWS WHERE IT WAS TAKEN. The data was already there: a signature has kept the full list of (x, y) pixels since the first version, and nothing used it. Signatures > File > Footprints to map turns that list into geometry and adds two layers to the project: one for points -single pixels and scattered pixel sets- and one for polygons -rectangular areas, as the outline of their outer edge-. Two layers and not one because hardly any tool will open a layer of mixed geometry. Each footprint carries the colour of its curve in the plot, which ties the map to the spectral profile without reading any legend, plus a table with the name, type, pixel count, date, source, notes and spectral range. Add them once and they keep themselves up to date: every new signature shows up on the map without asking again, and if you remove the layers the plugin lets go and does not hand them back, because removing them is your decision. Scattered pixels go out as several points and NOT as their bounding box: that box would paint hectares nobody measured. A signature read from someone else's CSV has no pixels, so it stays out and the count is reported rather than given an invented position. Footprints to GeoJSON writes the same thing to two files, reprojected to longitude/latitude, because that is what the format means: RFC 7946 fixes WGS84 and dropped the member that used to declare anything else.\n2.20 - N-DIMENSIONAL CLOUD, in a window you turn on and off. A two-band scatter plot lies by omission: two classes that are clearly apart across the full spectrum can land on top of each other in the band pair you happened to pick. The way out is not to look at more pairs -426 bands make ninety thousand of them- but to look at the whole cloud and make it TURN: an n-dimensional cloud projected onto a rotating plane shows a different shadow every instant, and the eye separates moving groups far better than still ones. Every pixel of every saved signature is a point, coloured by its signature -not the mean, which cannot show whether an area was one group or two-. The labelled spokes are each band's axis: one pointing where a group stretches is the band that separates it, and spokes fade as they turn edge-on, which is information too. Drag to turn it by hand, switch a class off to see the one it was hiding, and the lasso brings a group back to the library as a new signature with its pixels, comparable by spectral angle. The rotation is a product of Givens rotations at incommensurate frequencies, so the basis stays orthonormal by construction and the tour never repeats a view; it is applied to the two basis vectors only, O(n) per frame instead of O(n squared). Drawn with QPainter: no new dependencies, as always.\n2.19 - The plugin page now reads as a list instead of a block. Checked against the HTML the QGIS Plugin Manager actually builds: it turns every line break in the about text into a <br/>, and it puts the description in a heading. So the description is now one short headline, and each capability fits a single line. No functional changes.\n2.18 - Clearer documentation. The plugin page and the repository README now say what the plugin does and how to install it; the reasoning behind each decision moved to NOTAS.md, where whoever touches the code looks for it. No functional changes.\n2.17 - Shorter, clearer plugin page. No functional changes.\n2.16 - Much quicker on heavy cubes: bands, transects and spectra are cached, and dragging no longer queues up work. Returning to a pixel you already visited is immediate.\n2.15 - The \"Spectral profile\" and \"Saved signatures\" sections fold away when you click their name, giving the height to the cube.\n2.14 - Fixes an unexpected QGIS crash on macOS when detaching and re-docking the cube window.\n2.13 - Closing the panel no longer closes the scene, and the detached cube window comes back when you close it.\n2.12 - New \"Link with the map\": the cube and the QGIS canvas navigate together.\n2.11 - Security and import fixes required by the plugin repository.\n2.10 - Fixes a loading failure in 2.9: a module was missing from the ZIP.\n2.9 - Qt6 compatible.\n2.8 - Fixes the georeference when the scene is read through GDAL: it used to land far from its place.\n2.7 - Verified corner to corner against a real Tanager product.\n2.6 - GDAL is also asked for the georeference when it does not turn up any other way.\n2.5 - Orthorectified products place themselves, reading the HDF-EOS grid. Extraction to ENVI keeps the georeference.\n2.4 - The view sent to QGIS carries the file's own georeference, with rotation and transparency. Cube and spectrum move into the same panel.\n2.3 - The cube gets its own window, and \"Send view to QGIS\" appears.\n2.2 - Colour bar with the data scale, zoom, \"Fit to data\" and a multi-pixel mode.\n2.1 - Bad bands: the file's bbl, the water vapour windows, the noisy ends and hand-written ranges are kept out of the analysis.\n2.0 - Extractor and explorer become a single plugin, with a dockable panel and a signature library.\n1.0 - First release: \"HDF-EOS5 to ENVI\" algorithm in the Processing toolbox.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/hdfeos_extractor/version/2.21/download/"}