## 3 Integration of Sensors and Geometric Processing
### Georeferencing of Pushbroom Scanner Data  
Pushbroom sensors need to move to build up a spatial image of a scene. Typically, these sensors collect 20-100 frames per second (depending on integration time and camera specifications). The slit width, lens focal length, and integration time determine the spatial resolution of the pixels in the along-track direction (i.e., flight direction). The number of pixels on the sensor array (i.e., number of columns) and the focal length of the sensor determine the spatial resolution of the pixels in the across-track direction. To accurately map the spatial location of each pixel in the scene, several parameters need to be provided or determined: camera/lens distortion parameters, sensor location (XYZ), sensor absolute orientation (pitch, roll, and heading), and surface model of the terrain. Pushbroom sensors are particularly sensitive to flight dynamics in pitch, roll, and heading, which makes it challenging to perform a robust geometric correction or orthorectification. For dynamic UAV airframes, such as multi-rotors, this is particularly challenging. [PERSON] et al. [38] and [PERSON] et al. [39] developed and used an early hyperspectral multi-rotor prototype in Antarctica that did not use GNSS/IMU observations, but rather relied on a dense network of GCPs for geometric rectification based on triangulation/rubber-sheeting. This prototype was later upgraded to include synchronized GNSS/IMU data (Figure 3) in order to enable orthorectification using the PARGE geometric rectification software [102; 103]. With the use of a limited number of GCPs and/or on-board GNSS coordinates, machine vision imagery can be used to determine the position and orientation of a hyperspectral sensor without the need for complex and expensive GNSS/IMU sensors. The main advantage of machine vision imagery is that it can be used in rigorous photogrammetric modeling [104], SfM [105], or simultaneous localization and mapping (SLAM) [106] workflows to extract 3D terrain information and pose information simultaneously. [PERSON] et al. [40] developed a hyperspectral pushbroom system with a synchronized GNSS/IMU unit for orthorectification; they used a photogrammetric approach based on SfM to improve the accuracy of the on-board navigation-grade GNSS receiver and derive a digital surface model for orthorectification. [PERSON] et al. [107] and [PERSON] et al. [108] presented approaches for the georectification of hyperspectral pushbroom imagery that were purely based on imagery and image matching. Their approaches are attractive, as a fully image-based approach reduces the complexity of sensor integration on board the UAV. However, in order to achieve a high absolute accuracy, accurate GCP measurements still need to be obtained, or an accurate on-board GNSS needs to be employed. In addition, to match the frame rate of a hyperspectral sensor, a lot of machine vision data will have to be stored and processed (potentially thousands of images per flight). Recently, sensor manufacturers have started to produce turnkey hyperspectral pushbroom sensor packages that include the imaging spectrometer, data logging unit, and GNSS/IMU sensors in a small and lightweight package, e.g., Headwall Photonics nano-Hyperspec. One of the major issues with complete packages such as these is the quality of the GNSS and IMU data. The nano-Hyperspec for example carries a GNSS/IMU with a navigation-grade GNSS receiver delivering an absolute accuracy of 5-10 m. In addition, the IMU can measure yaw, but to derive an absolute heading from yaw requires an absolute baseline measurement, which is usually derived from the GNSS flight path and/or a 3D magnetometer. The heading derived from the flight path will provide the general flight direction; however, the UAV airframe can have a completely different absolute heading (i.e., a multi-rotor can have a yaw direction that is different from the flight direction). These heading measurements are notoriously inaccurate, which can result in major georectification errors.