Rugged is a sensor-to-terrain mapping tool which takes into account Digital Elevation Models (DEM) in its line of sight computation. It is a free software intermediate-level library written in Java and implemented as an add-on for Orekit.
It mainly provides direct and inverse location, i.e. it allows to compute accurately which ground point is looked at from a specific pixel in a spacecraft instrument, and conversely which pixel will see a specified ground point. This mapping between ground and sensor is computed with a viewing model taking into account ground Digital Elevation Model, Earth rotation will all its tiny irregularities, on-board sensor pixels individual line-of-sights, spacecraft motion and attitude and several physical effects.
Effects of taking into account the DEM in the computation of latitude, longitude and altitude
Direct and inverse location can be used to perform full ortho-rectification of images and correlation between sensors observing the same area.
Direct/inverse location
Refinement
can support several types of Digital Elevation Models, including user-provided models
several intersection models algorithms available
can propagate orbit by itself for preliminary mission analysis or data generation
can propagate attitude by itself for preliminary mission analysis or data generation
very fast
Both modern and legacy models for Earth rotation
complete set of corrections applied for greater accuracy
not limited to Earth
highly portable (Linux, Windows, MacOSX, …)
Localized in several languages
Rugged is freely available both in source and binary formats, with all related documentation and tests.
It is distributed under the Apache License Version 2.0. This is a well known business-friendly license. This means anybody can use it to build any application, free or not. There are no strings attached to your own code.
Everybody is encouraged to use Rugged as a common intermediate level layer to improve interoperability in space systems.
Rugged has been in development since 2014 inside CS Systèmes d’Information and is still used and maintained by its dual teams of space dynamics and image processing experts.
Rugged is used for image processing of the Sentinel 2 mission at European Space Agency (ESA).