HV SDK
The HV SDK is a high-performance, Rust-based core library designed for the next generation of hyperspectral imaging applications. It unifies high-speed camera control, efficient interleave management, and memory-efficient data processing into a single, cohesive developer interface.
By serving as the engine for the HV Explorer, the SDK ensures a seamless transition from GUI-based prototyping to standalone, production-ready software.
The HV SDK is the core library powering our hyperspectral ecosystem and is under constant development. Following our successful Alpha (March 2025) and Live datacube capture implementation (September 2025) for the Hypervision cameras, we are currently focused on:
-
Real-time Stream Handling: Optimizing the camera interface to enable real-time stream handling.
-
Scanner Interface: Implementing direct control for Hyperspectral Scanners.
The first stable release (v1.0) is targeted for June 2026.
- Environment: Python 3.10
- Architecture: x86_64 / ARM64 (Linux & Windows)
- RAM: 8GB Minimum (16GB recommended for high-throughput live capture)
Access the deep-dive technical references here:
Key Developer Advantages
Memory Efficiency: Lazy Operations & Streaming
Hyperspectral datasets are among the most memory-intensive in modern imaging. The HV SDK is architected to eliminate the "RAM Wall" that typically halts HSI workflows.
-
The 8x Memory Expansion: Hyperspectral cubes are massive — a raw cube from the HV1700 often exceeds 1GB in format. When using these cubes in conventional processing tools, memory usage can grow rapidly when performing just a few operations on the initial data. Type conversions to double-precision floats cause each cube to take 8x the amount of memory, transformations such as matrix-multiplication typically double memory usage temporarily, and in general, a lot of processing time is wasted moving and copying memory.
-
Full Lazy Architecture: The HV SDK utilizes a "Full Lazy" approach. Data is only fetched from the disk and processed in small slices when a specific operation (like plotting a spectrum or running a classifier) requires it, leaving RAM usage low and CPU utilization high.
-
Streaming Computation: Operations are piped together at the library level. This minimizes the creation of intermediate, large-scale arrays in RAM, keeping the application's memory overhead nearly constant regardless of the datacube size.
-
Benchmark Proven: As shown in the comparison below, while standard NumPy-based loading scales linearly with file size (leading to 6GB+ usage for a single cube), the HV SDK maintains a negligible memory footprint ( 11MB) by only "resolving" data as needed.
The HV SDK's Full Lazy mode maintains high performance with a fraction of the memory required by traditional HSI tools.
Universal Data & Camera Interface
The SDK abstracts the hardware and file-system complexity, allowing developers to write code once and deploy it across different data sources.
-
Unified Stream Interface: The SDK treats live Hypervision cameras and recorded files identically. This allows you to develop and debug your entire workflow using a "Simulated Camera" (loading from a file) and switch to the physical hardware by simply changing the source address.
-
Interleave Agility: The SDK makes it easier to operate on data without having to worry about the interleave type. It also provides high-performance functions to efficiently transform between BIP, BIL, and BSQ interleave types, allowing memory access to be optimized for specific tasks.
-
Broad Format Support: Native, high-speed I/O for PAM, ENVI and TIFF formats, ensuring compatibility with both qtec and third-party ecosystems.
Cross-Language Integration
While the core is built in Rust for maximum safety and speed, we provide high-level bindings for the most common development environments:
-
Python (Full Support): Our primary focus. These bindings track core development closely, providing a "Pythonic" interface to the high-performance Rust backend.
-
C/C++ (Stable/Limited): Optimized for integration into existing industrial frameworks. Updates are prioritized based on customer requirements.
Support
For reporting bugs or requesting assistance write an email to: support@qtec.com
See also the Support section.

