Repository navigation
Releases: Michael-S-Phillips/HyPyRameter
Releases · Michael-S-Phillips/HyPyRameter
Release list
HyPyRameter 0.3.0
0.3.0— 2026-09-30
A rewrite around a pure, array-based core. The old classes still work.
Added
hypyrameter.compute(cube, wavelengths, names, progress=None): evaluate any
parameters on an image cube, a table of spectra or a single spectrum
(wavelength axis last, nm or µm).valid_parameters(wavelengths)and the
PARAMETERSregistry (name, wavelength range, description, group,
dependencies) replace the old introspection of class methods.hypyrameter.bands:band,closest_band,closest_wavelength,
bands_between,to_nanometres,apply_bad_bands,
fill_nans_along_spectrum(vectorised; replacesinterpNans).hypyrameter.fits: vectorised polynomial peak / integral and spline area.hypyrameter.browse: browse-product definitions from a bundled CSV,
browse_image,write_browse_products(PNG via imageio,[browse]extra).hypyrameter.io:read_envi,write_envi.parameters=[...]on both calculator classes to compute a subset.- Point-spectra names
D460,ISLOPE,IRR2are now parameters for cubes too. - Packaging with
pyproject.toml; published on PyPI; CI on Python 3.10–3.13.
Fixed
- The band median window:
kwidth=5used to take the four bands
[centre-2, centre+1]and wrapped around to the end of the spectrum near
band 0. It is now the symmetriccentre ± 2, clamped at the ends. - NaN handling: parameters no longer replace NaN and ±inf with the image
minimum; missing data stays NaN. BDI1000VISdeclares its dependency onRPEAK1instead of relying on call
order.RPEAK1_2and the point-spectrumBDI1000VISnow use the same definitions
as the cube versions (BDI1000VIS: 833–989 nm, 4th-order polynomial).
Changed
RPEAK1_2smooths with a Savitzky–Golay filter and fits a polynomial
instead of a per-pixel smoothing spline (UnivariateSpline(k=5, s=0.1)).
Peak positions agree to within a few nm on smooth spectra but are not
bit-identical.- Cube parameters are computed in one vectorised pass per parameter; no
multiprocessingpools ortqdmbars. Progress goes throughlogging
and theprogresscallback. cubeParamCalculatoronly opens tkinter dialogs whenin_file/outdir
are omitted;denoise=Truenow raises and points atiovf_generic.- Optional dependencies moved to extras:
[browse](imageio),
[denoise](outlier-utils, tqdm, matplotlib),[notebooks]. OpenCV and
openpyxl are no longer needed. hypyrameter.utilscube helpers (getBand,getBandDepth, …) delegate to
the new core; the.sed/USGS readers andgetRvalue*helpers are unchanged.
Removed
interpNans.py,setup.py,meta.yaml,environment.yml, the conda
recipe files andbin/browseDefinitions.xlsx(nowdata/browse_products.csv).
Install: pip install hypyrameter (once on PyPI) or pip install https://github.com/Michael-S-Phillips/HyPyRameter/releases/download/v0.3.0/hypyrameter-0.3.0-py3-none-any.whl
HyPyRameter v0.2.0
First release of HyPyRameter ahead of publication.
Full Changelog: https://github.com/Michael-S-Phillips/HyPyRameter/commits/v0.2.0