sdr-heatmap [](https://github.com/j2ghz/sdr-heatmap/actions?query=workflow%3ARust)

I'm using this as an opportunity to learn Rust.

A tool to visualize files generated by rtl_power. Inspired by heatmap.py. It aims to provide better speed than heatmap.py, while keeping the same image format. Another similar tool is rtl-gopow, but it produces a different (IMO inferior) image than heatmap.py.

Installation:

cargo install sdr-heatmap (from crates.io)

Packaging status

Speed (WIP):

| Benchmark | sdr-heatmap | heatmap.py | rtl-gopow | | --------: | ----------: | ---------: | --------: | | 14 MB FM | 375 ms | 4558 ms | 1995 ms | | 829 MB FM | 19,37 s | 268,26 s | 141,34 s |

Results using hyperfine: | Command | Mean [ms] | Min [ms] | Max [ms] | Relative | |:---|---:|---:|---:|---:| | .\target\release\sdr-heatmap.exe .\samples\0.csv | 396.0 ± 22.2 | 378.8 | 444.5 | 1.00 | | python .\samples\heatmap.py .\samples\0.csv .\samples\0.csv-py.png | 4839.4 ± 304.7 | 4619.9 | 5441.4 | 12.22 ± 1.03 | | .\samples\gopow.exe -i .\samples\0.csv -o .\samples\0.csv-go.png | 2043.2 ± 62.8 | 2005.5 | 2219.6 | 5.16 ± 0.33 | | .\target\release\sdr-heatmap.exe .\samples\1-huge.csv | 18836.9 ± 241.0 | 18693.9 | 19488.8 | 47.57 ± 2.73 | | python .\samples\heatmap.py .\samples\1-huge.csv .\samples\1-huge.csv-py.png | 268466.3 ± 11084.9 | 264021.5 | 299911.2 | 677.93 ± 47.17 | | .\samples\gopow.exe -i .\samples\1-huge.csv -o .\samples\1-huge.csv-go.png | 141555.7 ± 406.1 | 140898.7 | 142310.5 | 357.46 ± 20.04 |