NEWS
hyperspectR 0.2.0.9000
- Corrected cube dimensions, masks, wavelength/FWHM alignment, spatial plotting,
TIFF/ENVI pixel order, truncated ENVI input and unsupported integer exports.
- SG smoothing now returns full-window center bands consistently across explicit
backends; derivatives use wavelength units. Calibration validates reference
compatibility and bad-pixel repair uses immutable valid neighbors.
- Replaced generated hemoglobin fitting references with a pinned tabulated source.
Beer-Lambert fitting requires an explicit domain and separates coefficients
from concentrations requiring optical pathlength. Default StO2 is a research
model fraction. The former ratio method errors; relative indices are unscaled.
- Added equality-constrained nonnegative unmixing with convergence diagnostics,
optional residual storage and chunk equivalence. PCA/MNF respect masks and
rank limits and expose reusable transforms.
- Repaired explorer initialization, stale results, paired uploads, TIFF metadata
entry and complete archive downloads; added cancellable background computations.
- Added processing recipes, resumable manifest analysis, reusable classifier
prediction, group-separated evaluation and group-level uncertainty summaries.
- Expanded exact-value regressions, browser and minimal-dependency validation,
reference sensitivity reports, and performance measurements. Clinical claims
remain outside the evidence supplied by synthetic tests. See MIGRATION.md for
breaking changes and planning/implementation-status.md for release evidence.
hyperspectR 0.1.0
Initial release
Data I/O
hs_read_envi(): Read ENVI .hdr + binary hyperspectral cubes (BSQ/BIL/BIP).
hs_read_tiff(): Read multi-channel TIFF files.
hs_read_cubert(): Read Cubert .cu3s session files via Python bridge (optional).
hs_read_cube(): Auto-detect format and dispatch to correct reader.
hs_write_envi(), hs_write_tiff(), hs_export_png(): Export functions.
Calibration
hs_calibrate(): Full calibration workflow (dark + white reference).
hs_fix_bad_pixels(): Statistical bad pixel detection and interpolation.
Preprocessing
hs_smooth(): Savitzky-Golay smoothing and derivatives.
hs_snv(): Standard Normal Variate correction.
hs_msc(): Multiplicative Scatter Correction.
hs_absorbance(): Reflectance to absorbance conversion.
hs_continuum_removal(), hs_resample().
Biomedical Indices
hs_sto2(): Tissue oxygen saturation (500-815 nm).
hs_npi(): Near-infrared perfusion index (655-910 nm).
hs_thi(): Tissue hemoglobin index (530-825 nm).
hs_twi(): Tissue water index (adapted for Cubert range).
hs_ndi(): Generic normalized difference index.
hs_clinical_indices(): Compute all available indices.
Analysis
hs_pca(), hs_mnf(): Dimensionality reduction.
hs_umap(): UMAP spectral embedding (optional, requires uwot).
hs_sam(): Spectral Angle Mapper classification.
hs_classify_svm(), hs_classify_rf(): Machine learning classification.
hs_unmix_nnls(): Linear spectral unmixing via NNLS.
hs_beer_lambert(): Chromophore concentration fitting.
Visualization
autoplot.hsi_cube(): Plot RGB, single band, or spectra.
hs_plot_clinical(): TIVITA-style clinical panel display.
hs_plot_index(): Pseudocolor index map with clinical palette.
hs_plot_spectra(): Spectral profile plots with mean +/- SD.
scale_color_wavelength(), theme_hsi().
Shiny Application
hs_run_app(): Interactive 6-tab HSI explorer.
Data
hs_example_cube(): Synthetic 30x30 tissue cube (430-910 nm, 61 bands).
hs_simulate_cube(): Configurable synthetic cube generator.
hs_chromophore_data(): Published HbO2/Hb extinction coefficients.