Mercurial > hg > x
diff multires.cpp @ 5:5f3c32dc6e17
* Adjust comment syntax to permit Doxygen to generate HTML documentation; add Doxyfile
author | Chris Cannam |
---|---|
date | Wed, 06 Oct 2010 15:19:49 +0100 |
parents | 6422640a802f |
children | 977f541d6683 |
line wrap: on
line diff
--- a/multires.cpp Tue Oct 05 17:03:27 2010 +0100 +++ b/multires.cpp Wed Oct 06 15:19:49 2010 +0100 @@ -1,11 +1,12 @@ //--------------------------------------------------------------------------- - #include <math.h> #include "multires.h" #include "arrayalloc.h" #include "procedures.h" +/** \file multires.h */ + //--------------------------------------------------------------------------- //function xlogx(x): returns x*log(x) @@ -20,7 +21,7 @@ // #define NORMAL_(A, a) A=a*a*A; // #define NORMAL_(A, a) A=sqrt(a)*A; -/* +/** function DoCutSpectrogramSquare: find optimal tiling of a square. This is a recursive procedure. In: Specs[0][1][N], Specs[1][2][N/2], ..., Specs[log2(N)][N][1], multiresolution power spectrogram @@ -169,7 +170,7 @@ return result; }//DoCutSpectrogramSquare -/* +/** function DoMixSpectrogramSquare: renders a composite spectrogram on a pixel grid. This is a recursive procedure. @@ -254,7 +255,7 @@ } }//DoMixSpectrogramSquare -/* +/** function DoMixSpectrogramSquare: retrieves a composite spectrogram as a vector. This is a recursive procedure. @@ -334,7 +335,7 @@ }//DoMixSpectrogramSquare //--------------------------------------------------------------------------- -/* +/** function HSplitSpec: split a spectrogram horizontally into lower and upper halves. In: Spec[X][Y]: spectrogram to split @@ -350,7 +351,7 @@ lSpec[i]=Spec[i], uSpec[i]=&Spec[i][Y/2]; }//HSplitSpec -/* +/** function HSplitSpecs: split a multiresolution spectrogram horizontally into lower and upper halves A full spectrogram array is given in log2(N)+1 spectrograms, with the base spec of 1*N, 1st octave of @@ -373,7 +374,7 @@ }//HSplitSpecs //--------------------------------------------------------------------------- -/* +/** function MixSpectrogramSquare: find composite spectrogram from multiresolution spectrogram,output as pixel grid @@ -431,7 +432,7 @@ }//MixSpectrogramSquare //--------------------------------------------------------------------------- -/* +/** function MixSpectrogramSquare: find composite spectrogram from multiresolution spectrogram,output as vectors @@ -484,7 +485,7 @@ }//MixSpectrogramSquare //--------------------------------------------------------------------------- -/* +/** function MixSpectrogramBlock: obtain the composite spectrogram of a waveform block as pixel grid. This method deals with the effective duration of WID/2 samples of a frame of WID samples. The maximal @@ -539,7 +540,7 @@ return result; }//MixSpectrogramBlock -/* +/** function MixSpectrogramBlock: obtain the composite spectrogram of a waveform block as vectors. In: Specs[0][1][WID], Specs[1][2][WID/2], ..., Specs[Res-1][WID/wid][wid], multiresolution spectrogram @@ -581,12 +582,12 @@ //--------------------------------------------------------------------------- -/* - Functions names as ...Block2(...) implement the same functions as the above directly without +/** + functions names as ...Block2(...) implement the same functions as the above directly without explicitly dividing the multiresolution spectrogram into square blocks. */ -/* +/** function DoCutSpectrogramBlock2: find optimal tiling for a block In: Specs[R0][x0:x0+x-1][Y0:Y0+Y-1], [R0+1][2x0:2x0+2x-1][Y0/2:Y0/2+Y/2-1],..., @@ -643,7 +644,7 @@ return ent; }//DoCutSpectrogramBlock2 -/* +/** function DoMixSpectrogramBlock2: sampling multiresolution spectrogram according to given tiling In: Specs[R0][x0:x0+x-1][Y0:Y0+Y-1], [R0+1][2x0:2x0+2x-1][Y0/2:Y0/2+Y/2-1],..., @@ -697,7 +698,7 @@ return 0; }//DoMixSpectrogramBlock2 -/* +/** function MixSpectrogramBlock2: obtain the composite spectrogram of a waveform block as vectors. In: Specs[0][1][WID], Specs[1][2][WID/2], ..., Specs[Res-1][WID/wid][wid], multiresolution spectrogram @@ -739,7 +740,7 @@ }//MixSpectrogramBlock2 //--------------------------------------------------------------------------- -/* +/** function MixSpectrogram: obtain composite spectrogram from multiresolutin spectrogram as pixel grid This method deals with Fr (base) frames of WID samples. Each base frame may be divided into 2 1st- @@ -780,7 +781,7 @@ return 0; }//MixSpectrogram -/* +/** function MixSpectrogram: obtain composite spectrogram from multiresolutin spectrogram as vectors In: Specs[0][Fr][WID], Specs[1][Fr*2][WID/2], ..., Specs[Res-1] [Fr*(WID/wid)][wid], multiresolution @@ -807,7 +808,7 @@ }//MixSpectrogram //--------------------------------------------------------------------------- -/* +/** function VSplitSpec: split a spectrogram vertically into left and right halves. In: Spec[X][Y]: spectrogram to split @@ -823,7 +824,7 @@ lSpec[i]=Spec[i], rSpec[i]=Spec[i+X/2]; }//VSplitSpec -/* +/** function VSplitSpecs: split a multiresolution spectrogram vertically into left and right halves A full spectrogram array is given in log2(N)+1 spectrograms, with the base spec of 1*N, 1st octave of