Mercurial > hg > audiodb
changeset 154:97f704a32bf2 powertable
Delete now useless code from trackSequenceQueryNN
* USE_THRESH, SILENCE_THRESH, DIFF_THRESH
* sMeanL2 and qMeanL2
* be careful about the code deletions, as there's some useful stuff
lurking in there (e.g. qNorm square rooting).
author | mas01cr |
---|---|
date | Thu, 01 Nov 2007 11:50:34 +0000 |
parents | 00928c833187 |
children | b251c49379d1 |
files | audioDB.cpp |
diffstat | 1 files changed, 7 insertions(+), 62 deletions(-) [+] |
line wrap: on
line diff
--- a/audioDB.cpp Wed Oct 31 18:22:23 2007 +0000 +++ b/audioDB.cpp Thu Nov 01 11:50:34 2007 +0000 @@ -1664,13 +1664,6 @@ double* query = (double*)(indata+sizeof(int)); double* queryCopy = 0; - double qMeanL2; - double* sMeanL2; - - unsigned USE_THRESH=0; - double SILENCE_THRESH=0; - double DIFF_THRESH=0; - if(!(dbH->flags & O2_FLAG_L2NORM) ) error("Database must be L2 normed for sequence query","use -L2NORM"); @@ -1687,8 +1680,7 @@ memcpy(queryCopy, query, numVectors*dbH->dim*sizeof(double)); qNorm = new double[numVectors]; sNorm = new double[dbVectors]; - sMeanL2=new double[dbH->numFiles]; - assert(qNorm&&sNorm&&queryCopy&&sMeanL2&&sequenceLength); + assert(qNorm&&sNorm&&queryCopy&&sequenceLength); unitNorm(queryCopy, dbH->dim, numVectors, qNorm); query = queryCopy; @@ -1743,38 +1735,6 @@ } } - double* pn = sMeanL2; - w=dbH->numFiles; - while(w--) - *pn++=0.0; - ps=sNorm; - unsigned processedTracks=0; - for(i=0; i<dbH->numFiles; i++){ - if(trackTable[i]>sequenceLength-1){ - w = trackTable[i]-sequenceLength+1; - pn = sMeanL2+i; - *pn=0; - while(w--) - if(*ps>0) - *pn+=*ps++; - *pn/=trackTable[i]-sequenceLength+1; - SILENCE_THRESH+=*pn; - processedTracks++; - } - ps = sNorm + trackTable[i]; - } - if(verbosity>1) { - cerr << "processedTracks: " << processedTracks << endl; - } - - SILENCE_THRESH/=processedTracks; - USE_THRESH=1; // Turn thresholding on - DIFF_THRESH=SILENCE_THRESH; // mean shingle power - SILENCE_THRESH/=5; // 20% of the mean shingle power is SILENCE - if(verbosity>4) { - cerr << "silence thresh: " << SILENCE_THRESH; - } - sequence_sum(qnPtr, numVectors, sequenceLength); if (usingPower) { qPower = new double[numVectors]; @@ -1800,13 +1760,11 @@ } ps = qnPtr; - qMeanL2 = 0; - w=numVectors-sequenceLength+1; - while(w--){ - *ps=sqrt(*ps); - qMeanL2+=*ps++; + w = numVectors - sequenceLength + 1; + while(w--) { + *ps = sqrt(*ps); + ps++; } - qMeanL2 /= numVectors-sequenceLength+1; if(verbosity>1) { cerr << "done." << endl; @@ -1903,7 +1861,7 @@ assert(DD); gettimeofday(&tv1, NULL); - processedTracks=0; + unsigned processedTracks = 0; unsigned successfulTracks=0; double* qp; @@ -2021,7 +1979,7 @@ for(j=0;j<=numVectors-wL;j+=HOP_SIZE) for(k=0;k<=trackTable[track]-wL;k+=HOP_SIZE){ thisDist=2-(2/(qnPtr[j]*sNorm[trackIndexOffset+k]))*DD[j][k]; - if(verbosity>10) { + if(verbosity>9) { cerr << thisDist << " " << qnPtr[j] << " " << sNorm[trackIndexOffset+k] << endl; } // Gather chi^2 statistics @@ -2043,17 +2001,6 @@ } } - /* - if(!USE_THRESH || - // Threshold on mean L2 of Q and S sequences - (USE_THRESH && qnPtr[j]>SILENCE_THRESH && sNorm[trackIndexOffset+k]>SILENCE_THRESH && - // Are both query and target windows above mean energy? - (qnPtr[j]>qMeanL2*.25 && sNorm[trackIndexOffset+k]>sMeanL2[track]*.25))) // && diffL2 < DIFF_THRESH ))) - thisDist=thisDist; // Computed above - else - thisDist=1000000.0; - */ - // k-NN match algorithm m=pointNN; while(m--){ @@ -2178,8 +2125,6 @@ delete[] qNorm; if(sNorm) delete[] sNorm; - if(sMeanL2) - delete[] sMeanL2; if(D) delete[] D; if(DD)