#!/usr/bin/env bash
#/bin/bash

# Configuration for trnu log data plots

# Variable Naming Convention:
# QP_ prefix denotes environment/variables that qplot depends upon (don't modify)
# QU_ prefix for user environment prevents naming conflicts (may be imported/exported, i.e. shared between files)
# QX_ prefix denotes local/application-specific variables (file scope)

# import shared environment, variables
source ${QP_PLOT_HOME}/qp-shared.conf.sh

# session ID (used by local combiner job)
# QU_SESSION_ID="-`date +%s`

# define plot titles and image names
export QU_ESTMLE_OIMG_NAME="est-mle"
export QU_ESTMSE_OIMG_NAME="est-mse"
export QU_ESTVAR_OIMG_NAME="est-var"

QU_ESTMLE_PTITLE=${QU_PTITLE:-"TRN MLE offset (pose-mle)"}
QU_ESTMSE_PTITLE=${QU_PTITLE:-"TRN MMSE offset (pose-mmse)"}
QU_ESTVAR_PTITLE=${QU_PTITLE:-"TRN variance estimate"}

QU_STITLE=${QU_STITLE:-"\n${QU_DATA_SET_ID}"}

QU_EST_E_OFS="4.06167e6"
QU_EST_W_OFS="594320."

QU_MLE_PTITLE=${QU_PTITLE:-"TRN MLE vs Nav estimated position"}
QU_MLEX_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MLE X"}
QU_MLEY_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MLE Y"}
QU_MLEZ_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MLE Z"}
export QU_MLEDAT_OIMG_NAME="mle-dat"
export QU_MLEX_OIMG_NAME="mle-x"
export QU_MLEY_OIMG_NAME="mle-y"
export QU_MLEZ_OIMG_NAME="mle-z"

QU_MSE_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MMSE vs Nav estimated position"}
QU_MSEX_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MMSE X"}
QU_MSEY_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MMSE Y"}
QU_MSEZ_PTITLE=${QU_PTITLE:-"mbtrnpp TRN MMSE Z"}
export QU_MSEDAT_OIMG_NAME="mmse-dat"
export QU_MSEX_OIMG_NAME="mmse-x"
export QU_MSEY_OIMG_NAME="mmse-y"
export QU_MSEZ_OIMG_NAME="mmse-z"

QU_PT_PTITLE=${QU_PTITLE:-"TRN estimated pose x,y"}
QU_PTX_PTITLE=${QU_PTITLE:-"TRN pose X"}
QU_PTY_PTITLE=${QU_PTITLE:-"TRN pose Y"}
QU_PTZ_PTITLE=${QU_PTITLE:-"TRN pose Z"}
export QU_PTDAT_OIMG_NAME="pt-dat"
export QU_PTX_OIMG_NAME="pt-x"
export QU_PTY_OIMG_NAME="pt-y"
export QU_PTZ_OIMG_NAME="pt-z"

export QU_TRNSTATE1_OIMG_NAME="trn-state-1"
QU_TRNSTATE1_PTITLE=${QU_PTITLE:-"TRN state-1"}
export QU_TRNSTATE2_OIMG_NAME="trn-state-2"
QU_TRNSTATE2_PTITLE=${QU_PTITLE:-"TRN state-2"}
export QU_TRNSTATERI_OIMG_NAME="trn-state-reinit"
QU_TRNSTATERI_PTITLE=${QU_PTITLE:-"TRN state-reinit"}
export QU_TRN_REINIT_OVL_OIMG_NAME="trn-freinit-ovl"
QU_TRN_REINIT_OVL_PTITLE=${QU_PTITLE:-"TRN reinit+state"}

export QU_TRN_MMSE_OVL_OIMG_NAME="trn-mmse-ovl"
QU_TRN_MMSE_OVL_PTITLE=${QU_PTITLE:-"TRN mmse+state"}


# Define job names to use in the configuration
declare -a QU_KEYS=( "est-mle" "est-mse" "mse-var" "mle" "mlex" "mley" "mlez" "mmse" "mmsex" "mmsey" "mmsez"  "pt" "ptx" "pty" "ptz" "trn-state1" "trn-state2" "trn-state-reinit" "trn-freinit-ovl" "trn-mmse-ovl" "comb-all" )

# Set time formats for data and plots
# time format strings conform to gnuplot syntax
# (see man pages: strftime/strptime, date)

# input time format (must match data files)
# e.g. 2019-11-13T22:52:29Z
QU_ITIME=""
# output time format (gnuplot plot x-axis)
QU_OTIME="%Y-%m-%dT%H:%M:%SZ"


#### BEGIN QPLOT CONFIGURATION VALUES ####

# Define plot jobs
QP_JOB_DEFS["${QU_KEYS[0]}"]="plot,${QU_OTERM},${QU_KEYS[0]}"
QP_JOB_DEFS["${QU_KEYS[1]}"]="plot,${QU_OTERM},${QU_KEYS[1]}"
QP_JOB_DEFS["${QU_KEYS[2]}"]="plot,${QU_OTERM},${QU_KEYS[2]}"
QP_JOB_DEFS["${QU_KEYS[3]}"]="plot,${QU_OTERM},${QU_KEYS[3]}"
QP_JOB_DEFS["${QU_KEYS[4]}"]="plot,${QU_OTERM},${QU_KEYS[4]}"
QP_JOB_DEFS["${QU_KEYS[5]}"]="plot,${QU_OTERM},${QU_KEYS[5]}"
QP_JOB_DEFS["${QU_KEYS[6]}"]="plot,${QU_OTERM},${QU_KEYS[6]}"
QP_JOB_DEFS["${QU_KEYS[7]}"]="plot,${QU_OTERM},${QU_KEYS[7]}"
QP_JOB_DEFS["${QU_KEYS[8]}"]="plot,${QU_OTERM},${QU_KEYS[8]}"
QP_JOB_DEFS["${QU_KEYS[9]}"]="plot,${QU_OTERM},${QU_KEYS[9]}"
QP_JOB_DEFS["${QU_KEYS[10]}"]="plot,${QU_OTERM},${QU_KEYS[10]}"
QP_JOB_DEFS["${QU_KEYS[11]}"]="plot,${QU_OTERM},${QU_KEYS[11]}"
QP_JOB_DEFS["${QU_KEYS[12]}"]="plot,${QU_OTERM},${QU_KEYS[12]}"
QP_JOB_DEFS["${QU_KEYS[13]}"]="plot,${QU_OTERM},${QU_KEYS[13]}"
QP_JOB_DEFS["${QU_KEYS[14]}"]="plot,${QU_OTERM},${QU_KEYS[14]}"
QP_JOB_DEFS["${QU_KEYS[15]}"]="plot,${QU_OTERM},${QU_KEYS[15]}"
QP_JOB_DEFS["${QU_KEYS[16]}"]="plot,${QU_OTERM},${QU_KEYS[16]}"
QP_JOB_DEFS["${QU_KEYS[17]}"]="plot,${QU_OTERM},${QU_KEYS[17]}"
QP_JOB_DEFS["${QU_KEYS[18]}"]="plot,${QU_OTERM},${QU_KEYS[18]}"
QP_JOB_DEFS["${QU_KEYS[19]}"]="plot,${QU_OTERM},${QU_KEYS[19]}"
# local combiner job (e.g. make PDF containing plots in this configuration)
#QP_JOB_DEFS["${QU_KEYS[17]}"]="combine,png,plot-output/${QU_OFILE_NAME}${QU_SESSION_ID}.pdf,./plot-output/*png"

# use QP_JOB_ORDER to enable plot jobs and set job order
# NOTE: plot combiner job is last, since plots must be completed first
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[0]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[1]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[2]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[3]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[4]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[5]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[6]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[7]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[8]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[9]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[10]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[11]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[12]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[13]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[14]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[15]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[16]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[17]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[18]}"
QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[19]}"
#QP_JOB_ORDER[${#QP_JOB_ORDER[*]}]="${QU_KEYS[19]}"

# Plot configuration parameters
QU_KEY=${QU_KEYS[0]}
QP_OFILE_NAME["$QU_KEY"]="${QU_ESTMLE_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_ESTMLE_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]="1573851600"
#QP_XRANGE_MAX["$QU_KEY"]="1573853100"
QP_YTITLE["$QU_KEY"]="MLE offsets (pose-MLE)"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]=""
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
QP_XSCALE["$QU_KEY"]=1.0
QP_YSCALE["$QU_KEY"]=1.0
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_EST_CSV},${QU_BLUE},3,,1,4,,est-mle.x"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_ORANGE},3,,1,5,,est-mle.y"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_GREEN},3,,1,6,,est-mle.z"

QU_KEY=${QU_KEYS[1]}
QP_OFILE_NAME["$QU_KEY"]="${QU_ESTMSE_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_ESTMSE_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]="1573851600"
#QP_XRANGE_MAX["$QU_KEY"]="1573853100"
QP_YTITLE["$QU_KEY"]="MMSE offsets (pose-MMSE)"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]=""
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
QP_XSCALE["$QU_KEY"]=1.0
QP_YSCALE["$QU_KEY"]=1.0
QP_XOFS["$QU_KEY"]=0.0
QP_YOFS["$QU_KEY"]=0.0
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_EST_CSV},${QU_BLUE},3,,1,7,,pose-mse.x"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_ORANGE},3,,1,8,,pose-mse.y"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_GREEN},3,,1,9,,pose-mse.z"

QU_KEY=${QU_KEYS[2]}
QP_OFILE_NAME["$QU_KEY"]="${QU_ESTVAR_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_ESTVAR_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="Sqrt(cov[n])"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]=""
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
QP_XSCALE["$QU_KEY"]=1.0
QP_YSCALE["$QU_KEY"]=1.0
QP_XOFS["$QU_KEY"]=0.0
QP_YOFS["$QU_KEY"]=0.0
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_EST_CSV},${QU_BLUE},3,,1,10,,est.var[0]"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_ORANGE},3,,1,11,,est.var[2]"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_EST_CSV},${QU_GREEN},3,,1,12,,est.var[5]"

QU_KEY=${QU_KEYS[3]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MLEDAT_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MLE_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_ISTIME["$QU_KEY"]="N"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="MLE Easting"
QP_XROTATION["$QU_KEY"]=0
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="MLE Northing"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
QP_XOFS["$QU_KEY"]=${QU_EST_E_OFS}
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
# Use these for trnu logs with convergence fields in trn_mse_dat trn_mle_dat
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_GREEN},4,,1,(\$5),x1y1,pt.xy"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MLEDAT_CSV},${QU_BLUE},4,,1,(\$5),x1y2,mle.xy"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MLEDAT_CSV},${QU_ORANGE},4,,1,(\$7==1?\$5:1/0),x1y2,mle(cnv)"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MLEDAT_CSV},${QU_MAGENTA},4,,1,(\$8==1?\$5:1/0),x1y2,mle(val)"
# Use these for trnu logs w/o convergence fields in trn_mse_dat trn_mle_dat
#QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_GREEN},4,,1,5,x1y1,pt.xy"
#QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_MLEDAT_CSV},${QU_BLUE},4,,1,5,x1y2,mle.xy"

QU_KEY=${QU_KEYS[4]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MLEX_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MLEX_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mle.x"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=0.0
QP_YOFS["$QU_KEY"]=${QU_EST_E_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MLEDAT_CSV},${QU_BLUE},3,,1,4,,mle.x"

QU_KEY=${QU_KEYS[5]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MLEY_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MLEY_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mle.y"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MLEDAT_CSV},${QU_BLUE},3,,1,5,,mle.y"

QU_KEY=${QU_KEYS[6]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MLEZ_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MLEZ_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mle.z"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MLEDAT_CSV},${QU_BLUE},3,,1,6,,mle.z"

QU_KEY=${QU_KEYS[7]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MSEDAT_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MSE_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_ISTIME["$QU_KEY"]="N"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="MMSE Easting"
QP_XROTATION["$QU_KEY"]=0
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="MMSE Northing"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
QP_XOFS["$QU_KEY"]=${QU_EST_E_OFS}
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
# Use these for trnu logs with convergence fields in trn_mse_dat trn_mle_dat
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_GREEN},4,,1,(\$5),x1y1,pt.xy"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MSEDAT_CSV},${QU_BLUE},4,,1,(\$5),x1y2,mse"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MSEDAT_CSV},${QU_ORANGE},4,,1,(\$11==1?\$5:1/0),x1y2,mse(cnv)"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_MSEDAT_CSV},${QU_MAGENTA},4,,1,(\$12==1?\$5:1/0),x1y2,mse(val)"
# Use these for trnu logs w/o convergence fields in trn_mse_dat trn_mle_dat
#QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_GREEN},4,,1,5,x1y1,pt.xy"
#QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_MSEDAT_CSV},${QU_BLUE},4,,1,5,x1y2,mse"

QU_KEY=${QU_KEYS[8]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MSEX_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MSEX_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mmse.x"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=0.
QP_YOFS["$QU_KEY"]=${QU_EST_E_OFS}
#594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MSEDAT_CSV},${QU_BLUE},3,,1,4,,mse.x"

QU_KEY=${QU_KEYS[9]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MSEY_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MSEY_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mmse.y"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MSEDAT_CSV},${QU_BLUE},3,,1,5,,mse.y"

QU_KEY=${QU_KEYS[10]}
QP_OFILE_NAME["$QU_KEY"]="${QU_MSEZ_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_MSEZ_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="mmse.z"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_MSEDAT_CSV},${QU_BLUE},3,,1,6,,mse.z"

QU_KEY=${QU_KEYS[11]}
QP_OFILE_NAME["$QU_KEY"]="${QU_PTDAT_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_PT_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_ISTIME["$QU_KEY"]="N"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="PT Easting"
QP_XROTATION["$QU_KEY"]=0
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="PT Northing"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
QP_XOFS["$QU_KEY"]="${QU_EST_E_OFS}"
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_GREEN},4,,1,5,,pt.xy"

QU_KEY=${QU_KEYS[12]}
QP_OFILE_NAME["$QU_KEY"]="${QU_PTX_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_PTX_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="pose.x"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=0.
QP_YOFS["$QU_KEY"]=${QU_EST_E_OFS}
#594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_BLUE},3,,1,4,,pt.x"

QU_KEY=${QU_KEYS[13]}
QP_OFILE_NAME["$QU_KEY"]="${QU_PTY_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_PTY_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="pose.y"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
QP_YOFS["$QU_KEY"]=${QU_EST_W_OFS}
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_BLUE},3,,1,5,,pt.y"

QU_KEY=${QU_KEYS[14]}
QP_OFILE_NAME["$QU_KEY"]="${QU_PTZ_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_PTZ_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]="" #${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="time"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="pose.z"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_PTDAT_CSV},${QU_BLUE},3,,1,6,,pt.z"

QU_KEY=${QU_KEYS[15]}
QP_OFILE_NAME["$QU_KEY"]="${QU_TRNSTATE1_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_TRNSTATE1_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="TRN state[1]"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
QP_YRANGE_MAX["$QU_KEY"]=1.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="linespoints" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
# add small offset to separate traces; read nearest integer below trace
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_STATE_CSV},${QU_ORANGE},14,,1,(\$6 + 0.01),,fstate"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_YELLOW},14,,1,(\$8 + 0.02),,last.meas.successful"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_PURPLE},14,,1,(\$18 + 0.03),,isconv"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_BLACK},14,,1,(\$20 + 0.04),,isval"

QU_KEY=${QU_KEYS[16]}
QP_OFILE_NAME["$QU_KEY"]="${QU_TRNSTATE2_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_TRNSTATE2_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="Event count"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=8.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="points" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_STATE_CSV},${QU_GREEN},,16,1,10,x2y1,cycle"
QP_PLOT_SPECS["$QU_KEY"]+="+${QU_TRNU_STATE_CSV},${QU_BLUE},14,,1,12,,ping"

QU_KEY=${QU_KEYS[17]}
QP_OFILE_NAME["$QU_KEY"]="${QU_TRNSTATERI_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_TRNSTATERI_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="TRN state[1]"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=5.0
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
#QP_Y2TITLE["$QU_KEY"]="Depth"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
#QP_Y2RANGE_MAX["$QU_KEY"]=8.8
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="linespoints" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
# add small offset to separate traces; read nearest integer below trace
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_STATE_CSV},${QU_BLUE},14,,1,(\$4 + 0.0),,reinit"

QU_KEY=${QU_KEYS[18]}
QP_OFILE_NAME["$QU_KEY"]="${QU_TRN_REINIT_OVL_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_TRN_REINIT_OVL_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="Reinits"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=1.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
QP_Y2TITLE["$QU_KEY"]="TRN states"
#QP_Y2RANGE_MIN["$QU_KEY"]=6.5
QP_Y2RANGE_MAX["$QU_KEY"]=1.5
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="linespoints" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
# add small offset to separate traces; read nearest integer below trace
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_STATE_CSV},${QU_BLUE},14,,1,(\$4 + 0.0),,reinit"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_ORANGE},14,,1,(\$6 + 0.01),x1y2,fstate"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_YELLOW},14,,1,(\$8 + 0.02),x1y2,last.meas.successful"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_PURPLE},14,,1,(\$18 + 0.03),x1y2,isconv"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_BLACK},14,,1,(\$20 + 0.04),x1y2,isval"

QU_KEY=${QU_KEYS[19]}
QP_OFILE_NAME["$QU_KEY"]="${QU_TRN_MMSE_OVL_OIMG_NAME}"
QP_PTITLE["$QU_KEY"]="${QU_TRN_MMSE_OVL_PTITLE}${QU_STITLE}"
QP_TFMT["$QU_KEY"]=${QU_ITIME}
QP_XTFMT["$QU_KEY"]=${QU_OTIME}
QP_ISTIME["$QU_KEY"]="Y"
QP_YFMT["$QU_KEY"]="%g" #${QU_OTIME}
QP_DSEP["$QU_KEY"]=","
#QP_KEY_FONT["$QU_KEY"]="arial"
#QP_KEY_SIZE["$QU_KEY"]="9"
#QP_KEY_MAX_COL["$QU_KEY"]="8"
#QP_TERM_FONT["$QU_KEY"]="arial"
#QP_TERM_SIZE["$QU_KEY"]="10"
QP_TERM_OSIZE["$QU_KEY"]=${QU_TERM_OSIZE[${QU_OTERM}]}
QP_XTITLE["$QU_KEY"]="Time (h:m:s)"
#QP_XRANGE_MIN["$QU_KEY"]=0
#QP_XRANGE_MAX["$QU_KEY"]=10
QP_YTITLE["$QU_KEY"]="MMSE offsets (pose-MMSE)"
#QP_YRANGE_MIN["$QU_KEY"]=6.5
#QP_YRANGE_MAX["$QU_KEY"]=1.5
#QP_X2TITLE["$QU_KEY"]=""
#QP_X2RANGE_MIN["$QU_KEY"]=0
#QP_X2RANGE_MAX["$QU_KEY"]=10
QP_Y2TITLE["$QU_KEY"]="TRN states"
QP_Y2RANGE_MIN["$QU_KEY"]=0
QP_Y2RANGE_MAX["$QU_KEY"]=5.0
#QP_XSCALE["$QU_KEY"]=-1.0
#QP_YSCALE["$QU_KEY"]=-1.0
#QP_XOFS["$QU_KEY"]=4.0618e6
#QP_YOFS["$QU_KEY"]=594500.
QP_PLOT_STYLE["$QU_KEY"]="linespoints" #lines
QP_POINTSIZE["$QU_KEY"]=${QU_POINT_SIZE}
QP_POINTTYPE["$QU_KEY"]=${QU_POINT_TYPE}
QP_POINTCOLOR["$QU_KEY"]=${QU_POINT_COLOR}
QP_INC_POINTTYPE["$QU_KEY"]="N"
QP_INC_POINTCOLOR["$QU_KEY"]="N"
QP_USE_LINETYPES["$QU_KEY"]="N"
QP_LINETYPE["$QU_KEY"]=1
QP_INC_LINETYPE["$QU_KEY"]="Y"
#QP_LINE_TYPES["$QU_KEY"]="${QU_LINE_TYPE_DFL}"
QP_EXPR["$QU_KEY"]="Y"
QP_SPECDEL["$QU_KEY"]="|"
# add small offset to separate traces; read nearest integer below trace
QP_PLOT_SPECS["$QU_KEY"]="${QU_TRNU_EST_CSV},${QU_BLUE},3,,1,7,,pose-mse.x"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_EST_CSV},${QU_ORANGE},3,,1,8,,pose-mse.y"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_EST_CSV},${QU_GREEN},3,,1,9,,pose-mse.z"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_LTBLUE},14,,1,(0.01 * \$4 + 0.0),x1y2,reinit/100"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_LTORANGE},14,,1,(\$6 + 0.01),x1y2,fstate"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_YELLOW},14,,1,(\$8 + 0.02),x1y2,last.meas.successful"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_PURPLE},14,,1,(\$18 + 0.03),x1y2,isconv"
QP_PLOT_SPECS["$QU_KEY"]+="|${QU_TRNU_STATE_CSV},${QU_BLACK},14,,1,(\$20 + 0.04),x1y2,isval"
