#!/bin/sh
#
# Demo for Curve Matching (km_*) algorithms

usage() {
    echo "megawave_km_demo (no option)"
    echo "input:  none"
    echo "output: unittests results"
}

if [ $# -ne 0 ]; then
    usage
    exit 1
fi

TMP=/tmp/megawave_km_demo.$$

SHARE=/usr/share/megawave
DATA=$SHARE/data
IMGDIR=$DATA/shape

IMG1=$IMGDIR/f2.img
IMG2=$IMGDIR/formes.gif

echo "Extracting Meaningful Boundaries (ll_boundaries)"
EPS=-5
megawave ll_boundaries -e $EPS $IMG1 $TMP/image1mb
megawave ll_boundaries -e $EPS $IMG2 $TMP/image2mb

echo "Smoothing Curves (gass)"
megawave gass -n 10 $TMP/image1mb $TMP/image1ll
megawave gass -n 10 $TMP/image2mb $TMP/image2ll

echo "Creating dictionaries (km_createdict_si)"
megawave km_createdict_si $TMP/image1ll $TMP/image1dictSI
megawave km_createdict_si $TMP/image2ll $TMP/image2dictSI

echo " Matching pieces of curves (km_match_si)"
megawave km_match_si 0.3 2 30 3.14 $TMP/image1ll $TMP/image2ll $TMP/image1dictSI $TMP/image2dictSI $TMP/matchings $TMP/matching_pieces

echo "Visualization (km_savematchings & fkview)"
megawave km_savematchings $TMP/matching_pieces $TMP/image1ll $TMP/image2ll $TMP/matching_lines1 $TMP/matching_lines2 $TMP/matching_pieces1 $TMP/matching_pieces2
megawave fkview -c 900 -s -b $IMG1 $TMP/matching_lines1 &
megawave fkview -c 900 -s -b $IMG2 $TMP/matching_lines2 &
megawave fkview -c 900 -s -b $IMG1 $TMP/matching_pieces1 &
megawave fkview -c 900 -s -b $IMG2 $TMP/matching_pieces2 &

rm -rf $TMP
