satnogs-wut/wut-compare-txmode-csv

52 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# wut-compare-txmode-csv
#
# Check the results of a prediction against vetted results
# using a selected encoding.
# Outputs CSV (comma separated values).
#
# Uses all files in download/ directory.
# Available encodings:
# AFSK AFSK1k2 AHRPT APT BPSK BPSK1k2 BPSK9k6 BPSK12k5 BPSK400 CERTO CW DUV
# FFSK1k2 FM FSK1k2 FSK4k8 FSK9k6 FSK19k2 GFSK1k2 GFSK2k4 GFSK4k8 GFSK9k6
# GFSK19k2 GFSK Rktr GMSK GMSK1k2 GMSK2k4 GMSK4k8 GMSK9k6 GMSK19k2 HRPT LRPT
# MSK1k2 MSK2k4 MSK4k8 PSK PSK31 SSTV USB WSJT
#
# Usage:
# wut-compare-txmode-csv [Encoding]
# Example:
# wut-compare-txmode-csv DUV
MAIN_DIR=`pwd`
OBSENC="$1"
cd download/ || exit
echo "ID, Vet, Wut, Rate, Agree"
CORRECT=0
INCORRECT=0
for OBSID in *
do
cd $MAIN_DIR
# Get previous rating
VET=`cat download/$OBSID/$OBSID.json | jq --compact-output '.[0] | {vetted_status}' | cut -f 2 -d ":" | sed -e 's/}//g' -e 's/"//g'`
ENC=`cat download/$OBSID/$OBSID.json | jq --compact-output '.[0] | {transmitter_mode}' | cut -f 2 -d ":" | sed -e 's/}//g' -e 's/"//g'`
if [ "$OBSENC" = "$ENC" ] ; then
echo -n "$OBSID, "
echo -n "$VET, "
# Get Machine Learning Result
WUT_VETS=`./wut $OBSID`
WUT_VET=`echo $WUT_VETS | cut -f 2 -d " "`
WUT_RATE=`echo $WUT_VETS | cut -f 1 -d " "`
echo -n "$WUT_VET, "
echo -n "$WUT_RATE, "
if [ "$VET" = "$WUT_VET" ] ; then
echo 1
else
echo 0
fi
fi
done