Spacecube: A fast inverse hyperspectral georectification system
Thomas P. Watson, Eddie L. Jacobs
TL;DR
Spacecube tackles the slow, artifact-prone nature of traditional direct georectification for hyperspectral datacubes by introducing a mesh-based inverse georectification pipeline that leverages GPU rendering via OpenGL. The system comprises a viewer and a rasterizer, implemented in Python with ModernGL, and operates on ENVI band-sequential data to deliver rapid, artifact-free georectified cubes. Key contributions include a mesh-generated coverage model that eliminates gaps, GPU-accelerated rendering for per-pixel radiance computation, and a public release of the codebase. The approach yields substantial speedups (over real-time operation by orders of magnitude) and enables interactive exploration and fast final datacube export, though it assumes a relatively flat ground surface and omits overlapping-sample averaging, which are slated as future work.
Abstract
Hyperspectral cameras provide numerous advantages in terms of the utility of the data captured. They capture hundreds of data points per sample (pixel) instead of only the few of RGB or multispectral camera systems. Aerial systems sense such data remotely, but the data must be georectified to produce consistent images before analysis. We find the traditional direct georectification method to be slow, and it is prone to artifacts. To address its downsides, we propose Spacecube, a program that implements a complete hyperspectral georectification pipeline, including our own fast inverse georectification technique, using OpenGL graphics programming technologies. Spacecube operates substantially faster than real-time and eliminates pixel coverage artifacts. It facilitates high quality interactive viewing, data exploration, and export of final products. We release Spacecube's source code publicly for the community to use.
