mas01mc@285: #! /bin/bash mas01mc@285: mas01mc@285: . ../test-utils.sh mas01mc@289: NPOINTS=100 mas01mc@289: NDIM=100 mas01mc@289: RADII="0.1 0.2 0.4 0.5 0.7 0.9 01 02 05 10" mas01mc@289: LSH_W="01 04" mas01mc@285: mas01mc@289: GENERATE_POINTS_AND_INSERT_IN_NEW_DB=true mas01mc@289: if [ ${GENERATE_POINTS_AND_INSERT_IN_NEW_DB} ] mas01mc@286: then mas01mc@289: if [ -f testdb ]; then rm -f testdb; fi mas01mc@289: mas01mc@289: ${AUDIODB} -d testdb -N mas01mc@289: mas01mc@289: intstring 1 > testpower mas01mc@289: floatstring -1 >> testpower mas01mc@289: mas01mc@289: ${AUDIODB} -d testdb -P mas01mc@289: mas01mc@289: if [ -d rad*[0-9]* ]; then rm -r rad*[0-9]*; fi mas01mc@289: mas01mc@289: for j in ${RADII} mas01mc@286: do mas01mc@287: R_SQ=`echo "scale=6; $j^2" | bc` mas01mc@289: mkdir -p "rad$j" mas01mc@289: ./genpoints2 ${NPOINTS} ${R_SQ} ${NDIM} mas01mc@289: mv testfeature* "rad$j" mas01mc@286: done mas01mc@289: mas01mc@289: for i in rad*[0-9]*/* mas01mc@289: do mas01mc@289: ${AUDIODB} -d testdb -I -f $i -w testpower mas01mc@289: done mas01mc@289: mas01mc@289: # sequence queries require L2NORM mas01mc@289: ${AUDIODB} -d testdb -L mas01mc@286: fi mas01mc@285: mas01mc@289: for W in ${LSH_W} mas01mc@289: do mas01mc@289: for LOOP1 in 1 2 3 4 5 6 7 8 9 10 mas01mc@289: do mas01mc@289: for LOOP2 in 1 2 3 4 5 mas01mc@289: do mas01mc@289: rm -f testdb.lsh.* mas01mc@289: mas01mc@289: # LSH_W=1 mas01mc@289: LSH_K=1 mas01mc@289: LSH_M=1 mas01mc@289: LSH_N=1000 mas01mc@289: mas01mc@289: INDEXING=true mas01mc@289: if [ ${INDEXING} ] mas01mc@289: then mas01mc@289: for j in ${RADII} mas01mc@289: do mas01mc@289: R_SQ=`echo "scale=6; $j^2" | bc` mas01mc@289: ${AUDIODB} -d testdb -X -R ${R_SQ} -l 1 --lsh_N ${LSH_N} \ mas01mc@290: --lsh_b ${LSH_N} --lsh_k ${LSH_K} --lsh_m ${LSH_M} --lsh_w ${W} --lsh_ncols 1000 \ mas01mc@289: --absolute-threshold -1 --no_unit_norming mas01mc@289: done mas01mc@289: fi mas01mc@289: mas01mc@287: #if [ -f cumulativeResult.txt ]; then rm -f cumulativeResult.txt;fi mas01mc@289: mas01mc@289: for j in ${RADII} mas01mc@289: do mas01mc@289: R_SQ=`echo "scale=6; $j^2" | bc` mas01mc@289: ${AUDIODB} \ mas01mc@289: -d testdb -Q sequence -R ${R_SQ} -l 1 -e \ mas01mc@289: -f queryfeature -w testpower --absolute-threshold -1 --no_unit_norming -r 1000 > output${j} mas01mc@289: echo `for k in ${RADII};do egrep "^rad$k" output${j} | wc | awk '{print $1}';done` >> cumulativeResult_k1_w${W}_m1_${NDIM}.txt mas01mc@289: done mas01mc@289: done mas01mc@289: done mas01mc@286: done mas01mc@286: mas01mc@287: #Perform exact search as a sanity test mas01mc@287: #rm -f *.lsh* mas01mc@287: #echo mas01mc@287: #for j in .01 .02 .03 .05 01 02 03 05 09 10 mas01mc@287: # do mas01mc@287: # R_SQ=`echo "scale=6; $j^2" | bc` mas01mc@287: # ${AUDIODB} \ mas01mc@287: # -d testdb -Q sequence -R ${R_SQ} -l 1 -e \ mas01mc@287: # -f queryfeature -w testpower --absolute-threshold -1 --no_unit_norming -r 1000 > outputEUC mas01mc@287: # echo EUC points retrieved at Radius $j: \ mas01mc@287: #`for k in .01 .02 .03 .05 01 02 03 05 09 10; do egrep "^rad$k" outputEUC | wc | awk '{print $1}';done` mas01mc@287: #done mas01mc@287: mas01mc@287: #Inspect the indexing parameters mas01mc@287: #echo mas01mc@287: #egrep "^INDEX:" output[1-9] mas01mc@287: #echo mas01mc@287: