- Home
- Documentation
- API reference
- Core
- hyperproc.report
hyperproc.report¶
Source-derived reference
Generated from the current hyperproc 0.1.2 checkout.
Implementation: hyperproc/report.py. Signatures, defaults, docstrings, and expandable source are extracted statically; the module is not imported or executed. Names beginning with _ are implementation details, not a stable public API.
Use the function signature as the authority for individual parameter defaults and return annotations. Original docstrings sometimes group parameter names or wrap return descriptions across lines; these descriptions are preserved rather than inferred or rewritten.
Human-readable summary of any cube a reader returns.
_FLAGS = ('cloud', 'cirrus', 'water', 'spacecraft', 'dilated_cloud', 'snow', 'shadow')
module-attribute
¶
_ANGLES = ('sza', 'saa', 'vza', 'vaa', 'raa')
module-attribute
¶
_SAMPLE = 2000000
module-attribute
¶
_thin(da, target: int = _SAMPLE)
¶
Read about target elements out of a cube. Returns (array, sampled).
Striding is the obvious way to do this and the wrong one: an AVIRIS cube is
chunked along y, so [::40] touches every chunk and pulls all 11 GB
to print a median. Reading a few small blocks costs a handful of chunk
reads instead, and still samples the length of the flightline rather than
one corner of it.
The blocks are square-ish rather than whole rows because the two layouts
punish opposite things. ENVI BIL reads a full image line either way, so
narrowing x is free. AVIRIS-5's NetCDF is gzipped in (10, 256, 256)
chunks, where one full row across 424 bands means decompressing 1.7 GB -
17 s for a single row, against a few for a whole block.
Source code in hyperproc/report.py
describe(ds: xr.Dataset, var: str = 'reflectance') -> None
¶
Print shape, extent, wavelengths, data range, masks and geometry.