georgeslabreche / opssat-smartcam

On November 8, 2020, this project achieved the first use of deep convolutional neural networks (CNN) on-board a spacecraft.
https://www.esa.int/opssat
MIT License
15 stars 1 forks source link

Can't do end-to-end functional testing because of dependency on camera hardware #13

Closed georgeslabreche closed 2 years ago

georgeslabreche commented 3 years ago

Problem

Running the app depends on access to the camera hardware. This takes up time and resources by requiring that functional tests run on the Engineer Model (EM) flatsat.

Solution

We should be able to run the app with a test flag that substitutes image acquisition using the camera hardware with a mock image acquisition that just copies and pastes .ims_rgb and .png files from a test image directory int the app's root directory. A single image per default label should be enough with a mechanism that just renames the image files based on the expected timestamp.

Additionally

Downsampling and conversions from PNG to JPEG by pngtopam, pamscale, and pnmtojpeg will also have to be mocked by copy and pasting sample _thubmnail.jpeg and _input.jpeg files.

Todo

georgeslabreche commented 2 years ago

Dependency with the Netpbm progs pngtopam, pamscale, and pnmtojpeg have been removed and replaced by a custom binary for image resize: https://github.com/georgeslabreche/image-resizer