From ftm
Jump to: navigation, search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
* mnm.biqoefs
+
* mnm.biqoefs ... Biquad coefficients
* mnm.biquad
+
* mnm.biquad ... Biquad filtering
* mnm.delta
+
* mnm.delta ... Inter-frame regression
* mnm.diag
+
* mnm.diag ... Matrix diagonal
* mnm.dtw
+
* mnm.dtw ... Dynamic Time Warping
* mnm.gmmem
+
* mnm.gmmem ... Expectation Maximization for Gaussian Mixture Models
* mnm.hist
+
* mnm.hist ... Histogram
* mnm.knn
+
* mnm.knn ... K-Nearest Neighbour search
* mnm.lu
+
* mnm.lu ... Lower-Upper decomposition
* mnm.mahalanobis
+
* mnm.mahalanobis ... Mahalanobis distance
* mnm.mean
+
* mnm.mean ... Mean filtering
* mnm.meanstd
+
* mnm.meanstd ... Mean and standard deviation
* mnm.median
+
* mnm.median ... Median filtering
* mnm.minmax
+
* mnm.minmax ... Minimum and maximum
* mnm.moments
+
* mnm.moments ... Statistical moments
* mnm.nmd
+
* mnm.nmd ... Non-zero Matrix Decomposition
* mnm.nmf
+
* mnm.nmf ... Non-zero Matrix Factorization
* mnm.obsprob
+
* mnm.obsprob ... Obsprob
* mnm.onepole
+
* mnm.onepole ... Onepole filtering
* mnm.qr
+
* mnm.qr ... Orthogonal-Right decomposition
* mnm.stats
+
* mnm.stats ... Stats
* mnm.submat
+
* mnm.submat ... Sub-matrix
* mnm.sum
+
* mnm.sum ... Matrix sum
* mnm.svd
+
* mnm.svd ... Singular Value Decomposition
* mnm.transpose
+
* mnm.transpose ... Matrix transposition
* mnm.viterbi
+
* mnm.viterbi ... Viterbi algorithm
* mnm.xdist2
+
* mnm.xdist2 ... Square of Euclidean distance
* mnm.xmul
+
* mnm.xmul ... Matrix multiplication
  
  
Line 34: Line 34:
 
   | descr=Calculates biquad coefficients for various filter types.
 
   | descr=Calculates biquad coefficients for various filter types.
 
   | arguments=none
 
   | arguments=none
   | attributes=mode - filter type (default is lowpass)<br>f0 - cutoff or centre frequency (default is half Nyquist frequency)<br>unit - unit for f0: ratio to Nyquist frequency (default) or in Hertz<br>sr - sample rate for f0 in Hertz (default is 44100.)<br>q - quality/resonance (default is 1.)<br>qnorm - if qnorm = 1, divide q by 1./sqrt(2.) so as to get a monotonic filter response with q = 1. (instead of 1./sqrt(2.), which is the default with qnorm = 0)<br>gain - linear gain (default is 1.)<br>coefsas - output coefficients as an fmat or as a list (default is fmat)<br>out - biquad coefficients<br>
+
   | attributes=mode <&#039;lp&#039;&#124;&#039;lowpass&#039;&#124;&#039;hp&#039;&#124;&#039;highpass&#039;&#124;&#039;bpcskirt&#039;&#124;&#039;resonant&#039;&#124;&#039;bpcpeak&#039;&#124;&#039;bandpass&#039;&#124;&#039;peaking&#039;&#124;&#039;peaknotch&#039;&#124;&#039;notch&#039;&#124;&#039;bs&#039;&#124;&#039;bandstop&#039;&#124;&#039;ap&#039;&#124;&#039;allpass&#039;&#124;&#039;ls&#039;&#124;&#039;lowshelf&#039;&#124;&#039;hs&#039;&#124;&#039;highshelf&#039;: type> - filter type [lowpass]<br>f0 <num: freq> - cutoff or centre frequency (default is half Nyquist frequency)<br>unit <&#039;nyquist&#039;&#124;&#039;hz&#039;&#124;&#039;hertz&#039;: unit> - set unit for freq as ratio to Nyquist frequency or in hz [nyquist]<br>sr <num: sr> - sample rate for freq in Hertz [44100]<br>q <num: q> - quality/resonance [1]<br>qnorm <num: qnorm> - if qnorm = 1, divide q by 1./sqrt(2.) so as to get a monotonic filter response with q = 1. (instead of 1./sqrt(2.), which is the default with qnorm = 0)<br>gain <num: gain> - linear gain [1]<br>out <matrix: coeffs> - output biquad coefficients<br>
   | messages=postdoc - post external doc to console<br>bang - bang to output coefficients<br>out - biquad coefficients<br>
+
   | messages=postdoc - post external doc to console<br>bang - output coefficients<br>out <matrix: coeffs> - output biquad coefficients<br>
 
   | inlets=none
 
   | inlets=none
   | outlets=1 - biquad coefficients<br>
+
   | outlets=1 <matrix: coeffs> - output biquad coefficients<br>
 
}}
 
}}
  
Line 44: Line 44:
 
   | brief=Biquad filtering
 
   | brief=Biquad filtering
 
   | descr=Calculates biquad filtering over vectors (rows or columns) or stream of values (of any dimension).
 
   | descr=Calculates biquad filtering over vectors (rows or columns) or stream of values (of any dimension).
   | arguments=set the inputs initial size and numbers<br>
+
   | arguments=<num: input> [<num: filter>] - init input and filter size<br>
   | attributes=mode <&#039;df1&#039; &#124; &#039;df2t&#039;> - set biquad structure (default &#039;df1&#039;)<br>dim - set the dimension on which to operate: col, row, auto (default) or stream (element by element).<br>out - filtered values<br>outstate - output state<br>
+
   | attributes=mode <&#039;df1&#039;&#124;&#039;df2t&#039;: struct> - set biquad structure [df1]<br>dim <&#039;col&#039;&#124;&#039;row&#039;&#124;&#039;auto&#039;&#124;&#039;stream&#039;: mode> - set the dimension on which to operate [auto]<br>out <matrix: values> - output filtered values<br>outstate <matrix: state> - output state<br>
   | messages=postdoc - post external doc to console<br>insize - change the inputs size and numbers<br>coefs - set the biquad coefficients<br>getstate - get the biquad state<br>clear - reset the internal state<br>out - filtered values<br>outstate - output state<br>
+
   | messages=postdoc - post external doc to console<br>insize <num: input> [<num: filter>] - init input and filter size<br>coefs <list: coeffs> - set the biquad coefficients<br>getstate - get the biquad state<br>clear - reset the internal state<br>out <matrix: values> - output filtered values<br>outstate <matrix: state> - output state<br>
   | inlets=1 - input values<br>
+
   | inlets=1 <matrix: coeffs> - input values<br>
   | outlets=1 - filtered values<br>2 - output state<br>
+
   | outlets=1 <matrix: values> - output filtered values<br>2 <matrix: state> - output state<br>
 
}}
 
}}
  
Line 55: Line 55:
 
   | brief=Inter-frame regression
 
   | brief=Inter-frame regression
 
   | descr=Calculates derivative of incoming matrices or vectors.
 
   | descr=Calculates derivative of incoming matrices or vectors.
   | arguments=1 - initialize the input size<br>2 - initialize the filter size<br>
+
   | arguments=1 <num: input> [<num: filter>] - init input size<br>2 <num: filter>: init filter size<br>
   | attributes=insize - set the input size<br>filtersize - set the filter size<br>inadddel - add a delay to the delayed input<br>norm - normalization mode 1 (default) or 0<br>outdelayed - output delayed inputs (in phase with deltas)<br>out - output deltas<br>outstate - internal values<br>
+
   | attributes=insize <num: input> - set input size<br>filtersize <num: filter> - set filter size<br>inadddel <num: del> - add a delay to the delayed input<br>norm <bool: normalize> - set normalization mode ([off]<br>outdelayed <matrix: delayed> - output delayed inputs (in phase with deltas)<br>out <matrix: delta> - output deltas<br>outstate <matrix: state> - internal values<br>
   | messages=postdoc - post external doc to console<br>clear - clear the memory of inputs<br>getstate - get the internal weights vector<br>getnorm - get the normalization factor<br>getring - get the input ring buffer<br>getdelay - get the filter delay<br>outdelayed - output delayed inputs (in phase with deltas)<br>out - output deltas<br>outstate - internal values<br>
+
   | messages=postdoc - post external doc to console<br>clear - clear the memory of inputs<br>getstate - get the internal weights vector<br>getnorm - get the normalization factor<br>getring - get the input ring buffer<br>getdelay - get the filter delay<br>outdelayed <matrix: delayed> - output delayed inputs (in phase with deltas)<br>out <matrix: delta> - output deltas<br>outstate <matrix: state> - internal values<br>
   | inlets=1 - multiply matrix with given right or left operand<br>
+
   | inlets=1 <matrix: input> - multiply matrix with given right or left operand<br>
   | outlets=1 - output delayed inputs (in phase with deltas)<br>2 - output deltas<br>3 - internal values<br>
+
   | outlets=1 <matrix: delayed> - output delayed inputs (in phase with deltas)<br>2 <matrix: delta> - output deltas<br>3 <matrix: state> - internal values<br>
 
}}
 
}}
  
Line 67: Line 67:
 
   | descr=Returns a copy of the diagonal of the incoming matrix in a vector.The length of the result is the minimum of the dimensions of the input.
 
   | descr=Returns a copy of the diagonal of the incoming matrix in a vector.The length of the result is the minimum of the dimensions of the input.
 
   | arguments=none
 
   | arguments=none
   | attributes=out - output diagonal vector<br>
+
   | attributes=out <vector: diagonal> - output diagonal vector<br>
   | messages=postdoc - post external doc to console<br>out - output diagonal vector<br>
+
   | messages=postdoc - post external doc to console<br>out <vector: diagonal> - output diagonal vector<br>
   | inlets=1 - input matrix<br>
+
   | inlets=1 <matrix: input> - input matrix<br>
   | outlets=1 - output diagonal vector<br>
+
   | outlets=1 <vector: diagonal> - output diagonal vector<br>
 
}}
 
}}
  
Line 77: Line 77:
 
   | brief=Dynamic Time Warping
 
   | brief=Dynamic Time Warping
 
   | descr=Calculates DTW of incoming matrix or vector.
 
   | descr=Calculates DTW of incoming matrix or vector.
   | arguments=1 - fmat to be used as right operand<br>
+
   | arguments=1 <matrix: op> - matrix to be used as right operand<br>
   | attributes=outa - reference to an external fmat to store A<br>outb - reference to an external fmat to store B<br>
+
   | attributes=outa <matrix: A> - set A output matrix<br>outb <matrix: B> - set B output matrix<br>
 
   | messages=postdoc - post external doc to console<br>
 
   | messages=postdoc - post external doc to console<br>
   | inlets=1 - left hand side fmat operand<br>2 - right hand side fmat operand<br>
+
   | inlets=1 <matrix: left> - left hand side matrix operand<br>2 <matrix: right> - right hand side matrix operand<br>
   | outlets=1 - s1<br>2 - s2<br>
+
   | outlets=1 <matrix: A> - A output matrix<br>2 <matrix: B> - B output matrix<br>
 
}}
 
}}
  
Line 88: Line 88:
 
   | brief=Expectation Maximization for Gaussian Mixture Models
 
   | brief=Expectation Maximization for Gaussian Mixture Models
 
   | descr=GMM EM has to be documented.
 
   | descr=GMM EM has to be documented.
   | arguments=1 - number of centers to use<br>
+
   | arguments=1 <num: num> - number of centers to use<br>
   | attributes=outcenters - reference to external fmat to store centers<br>outcov - reference to external fmat to store covariance<br>outpriors - reference to external fmat to store priors<br>mode - (diagonal&#124;full&#124;spherical) covariance computation types<br>criteria - criteria<br>ncenters - number of centers<br>
+
   | attributes=outcenters <matrix: centers> - centers output matrix<br>outcov <matrix: covariance> - covariance output matrix<br>outpriors <matrix: priors> - priors output matrix<br>mode <diagonal&#124;full&#124;spherical: mode> covariance computation types<br>criteria <num: criteria> - criteria<br>ncenters <num: num> - number of centers<br>
 
   | messages=postdoc - post external doc to console<br>
 
   | messages=postdoc - post external doc to console<br>
   | inlets=1 - fmat<br>
+
   | inlets=1 <matrix: input> - matrix of values<br>
   | outlets=1 - fmat centers<br>2 - fmat covariance<br>3 - fmat priors<br>
+
   | outlets=1 <matrix: centers> - centers output matrix<br>2 <matrix: covariance> - covariance output matrix<br>3 <matrix: priors> - priors output matrix<br>
 
}}
 
}}
  
Line 99: Line 99:
 
   | brief=Histogram
 
   | brief=Histogram
 
   | descr=Calculates histogram of incoming matrix elements. The input matrix, list or vector element's occurences are counted in the given number of bins in between the min and max value
 
   | descr=Calculates histogram of incoming matrix elements. The input matrix, list or vector element's occurences are counted in the given number of bins in between the min and max value
   | arguments=1 - number of bins<br>
+
   | arguments=1 <num: num> - number of bins<br>
   | attributes=out - output histogram vector<br>bpf - output two-column fmat with bin indices and histogram values<br>norm <symbol: off&#124;max&#124;sum> -- normalise histogram so that max or sum is 1<br>
+
   | attributes=out <vector: histogram> - output histogram vector<br>bpf <matrix: histogram> - output two-column matrix with bin indices and histogram values<br>norm <&#039;off&#039;&#124;&#039;max&#039;&#124;&#039;sum&#039;: normalize> - normalise histogram so that max or sum is 1<br>
   | messages=postdoc - post external doc to console<br>out - output histogram vector<br>set_n - number of bins<br>
+
   | messages=postdoc - post external doc to console<br>out <vector: histogram> - output histogram vector<br>set_n <num: num> - number of bins<br>
   | inlets=1 - intput matrix or list <br>
+
   | inlets=1 <matrix: values> - intput matrix or list<br>
   | outlets=1 - output histogram vector<br>2 - output min data value<br>3 - output max data value<br>
+
   | outlets=1 <vector: histogram> - output histogram vector<br>2 <num: min> - output min data value<br>3 <num: max> - output max data value<br>
 
}}
 
}}
  
Line 110: Line 110:
 
   | brief=K-Nearest Neighbour search
 
   | brief=K-Nearest Neighbour search
 
   | descr=Find the k nearest neighbours and their distances to the query point in multi-dimensional data using an efficient multidimensional search tree with logarithmic time complexity.
 
   | descr=Find the k nearest neighbours and their distances to the query point in multi-dimensional data using an efficient multidimensional search tree with logarithmic time complexity.
   | arguments=1 - max number k of nearest neighbours to search<br>2 - max radius of nearest neighbours to search (0 for unlimited)<br>
+
   | arguments=1 <num: max k> - max number k of nearest neighbours to search<br>2 <num: max radius> - max radius of nearest neighbours to search (0 for unlimited)<br>
   | attributes=setdata - matrix(N, D) of data<br>setsigma - matrix(1, D) of sigma = 1/weights<br>dmode - decomposition mode: orthogonal, hyperplane, pca<br>mmode - pivot calculation mode: mean, middle, median<br>sort - sort output by distance<br>height - given tree height if positive, subtract from maxheight if negative<br>outdist <fmat&#124;fvec&#124;list&#124;jitter: distance(n, 1)> - distances to n <= k nearest neighbours<br>outind <fmat&#124;fvec&#124;list&#124;jitter: indices(n, 1)> - data row indices of n <= k nearest neighbours<br>
+
   | attributes=setdata <matrix: data> - matrix(N, D) of data<br>setsigma <matrix: sigma> - matrix(1, D) of sigma = 1/weights<br>dmode <&#039;orthogonal&#039;&#124;&#039;hyperplane&#039;&#124;&#039;pca&#039;: mode> decomposition mode<br>mmode <&#039;mean&#039;&#124;&#039;middle&#039;&#124;&#039;median&#039;> - pivot calculation mode<br>sort <bool: switch> - sort output by distance<br>height <num: height> - given tree height if positive, subtract from maxheight if negative<br>outdist <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)<br>outind <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)<br>
   | messages=postdoc - post external doc to console<br>outdist <fmat&#124;fvec&#124;list&#124;jitter: distance(n, 1)> - distances to n <= k nearest neighbours<br>outind <fmat&#124;fvec&#124;list&#124;jitter: indices(n, 1)> - data row indices of n <= k nearest neighbours<br>setk - max number k of nearest neighbours to search<br>setradius - max radius of nearest neighbours to search (0 for unlimited)<br>getmeanvectors <fmat: out> - copy mean vectors for the M tree nodes to copy fmat(M, D) out<br>getsplitplanes <fmat: out> - copy vectors perpendicular to the hyperplanes splitting the M tree nodes to fmat(M, D) out<br>getprofile <dict: out> - copy profiling info to given dict and clear<br>print [<symbol: &#039;info&#039;&#124;&#039;raw&#039;&#124;&#039;data&#039;&#124;&#039;compact&#039;&#124;&#039;nodes&#039;&#124;&#039;profile&#039;>] - print tree info of varying detail (default: nodes), print and clear profiling info if keyword &#039;profile&#039; is given<br>
+
   | messages=postdoc - post external doc to console<br>outdist <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)<br>outind <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)<br>setk <num: max> - max number k of nearest neighbours to search<br>setradius <num: max> - max radius of nearest neighbours to search (0 for unlimited)<br>getmeanvectors <matrix: out> - copy mean vectors for the M tree nodes to copy matrix (M x D) out<br>getsplitplanes <matrix: out> - copy vectors perpendicular to the hyperplanes splitting the M tree nodes to matrix (M x D) out<br>getprofile <dict: out> - copy profiling info to given dict and clear<br>print [<&#039;info&#039;&#124;&#039;r\ aw&#039;&#124;&#039;data&#039;&#124;&#039;compact&#039;&#124;&#039;nodes&#039;&#124;&#039;profile&#039;: mode>] - print tree info of varying detail (default: nodes), print and clear profiling info if keyword &#039;profile&#039; is given<br>
   | inlets=1 <fmat&#124;fvec&#124;list&#124;jitter: x(1, D)> - query vector to search k-nearest neighbours of<br>2 <fmat&#124;fvec&#124;list&#124;jitter: data(N, D)><br>3 <fmat&#124;fvec&#124;list&#124;jitter: sigma(1, D)><br>
+
   | inlets=1 <vector: x> - query vector to search k-nearest neighbours (1 x D)<br>2 <matrix: data> - data input matrix (N x D)<br>3 <vector: sigma> - sigma input matrix (1 x D)<br>
   | outlets=1 <fmat&#124;fvec&#124;list&#124;jitter: distance(n, 1)> - distances to n <= k nearest neighbours<br>2 <fmat&#124;fvec&#124;list&#124;jitter: indices(n, 1)> - data row indices of n <= k nearest neighbours<br>
+
   | outlets=1 <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)<br>2 <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)<br>
 
}}
 
}}
  
Line 122: Line 122:
 
   | descr=Calculates LU decomposition of incoming matrix.
 
   | descr=Calculates LU decomposition of incoming matrix.
 
   | arguments=none
 
   | arguments=none
   | attributes=outl - L<br>outu - U<br>outpivot - pivot<br>outx - X<br>outdet - determinant<br>
+
   | attributes=outl <matrix: L> - L output matrix<br>outu <matrix: U> - U output matrix<br>outpivot <matrix: pivot> - pivot output matrix<br>outx <matrix: X> - X output matrix<br>outdet <matrix: det> - determinant output matrix<br>
   | messages=postdoc - post external doc to console<br>determinant - computes determinant of decomposed fmat<br>solve - solves system with incoming fmat and decomposed fmat<br>outl - L<br>outu - U<br>outpivot - pivot<br>outx - X<br>outdet - determinant<br>
+
   | messages=postdoc - post external doc to console<br>determinant - computes determinant of decomposed matrix<br>solve <matrix: input> - solves system with incoming matrix and decomposed matrix<br>outl <matrix: L> - L output matrix<br>outu <matrix: U> - U output matrix<br>outpivot <matrix: pivot> - pivot output matrix<br>outx <matrix: X> - X output matrix<br>outdet <matrix: det> - determinant output matrix<br>
   | inlets=1 - matrix to decompose<br>
+
   | inlets=1 <matrix: input> - matrix to decompose<br>
   | outlets=1 - L<br>2 - U<br>3 - pivot<br>4 - X<br>5 - determinant<br>
+
   | outlets=1 <matrix: L> - L output matrix<br>2 <matrix: U> - U output matrix<br>3 <matrix: pivot> - pivot output matrix<br>4 <matrix: X> - X output matrix<br>5 <matrix: det> - determinant output matrix<br>
 
}}
 
}}
  
Line 132: Line 132:
 
   | brief=Mahalanobis distance
 
   | brief=Mahalanobis distance
 
   | descr=Calculates mahalanobis distance of incoming matrices or vectors.
 
   | descr=Calculates mahalanobis distance of incoming matrices or vectors.
   | arguments=<matrix&#124;vector&#124;list: mean> <matrix&#124;vector&#124;list: covariance> - init mean and covariance<br>
+
   | arguments=<matrix: mean> <matrix: covariance> - init mean and covariance<br>
   | attributes=out - mahalanobis distance<br>
+
   | attributes=out <matrix: output> - output mahalanobis distance<br>
   | messages=postdoc - post external doc to console<br>set_mu - matrix of mean values<br>set_sigma - matrix of covariance<br>out - mahalanobis distance<br>
+
   | messages=postdoc - post external doc to console<br>set_mu <matrix: mu> - matrix of mean values<br>set_sigma <matrix: sigma> - matrix of covariance<br>out <matrix: output> - output mahalanobis distance<br>
   | inlets=1 <matrix&#124;vector&#124;list: query vector><br>2 <matrix: mu><br>3 <matrix: sigma><br>
+
   | inlets=1 <vector: input> - query vector><br>2 <matrix: mu> - mu input matrix<br>3 <matrix: sigma> - sigma input matrix<br>
   | outlets=1 - mahalanobis distance<br>
+
   | outlets=1 <matrix: output> - output mahalanobis distance<br>
 
}}
 
}}
  
Line 143: Line 143:
 
   | brief=Mean filtering
 
   | brief=Mean filtering
 
   | descr=Calculates mean filtering over vectors (rows or columns) or stream of values (of any dimension).
 
   | descr=Calculates mean filtering over vectors (rows or columns) or stream of values (of any dimension).
   | arguments=set the inputs initial size and numbers<br>
+
   | arguments=<num: input> [<num: filter>] - init input and filter size<br>
   | attributes=filtersize - set the maximum filter size (default is 0 for using the input size)<br>dim - set the dimension on which to operate: col, row, auto (default) or stream (element by element).<br>outtype - set the output type: fmat, float or auto (default, matches the input type).<br>out - filtered values<br>outstate - output state<br>
+
   | attributes=filtersize <num: max> - set the maximum filter size (default is 0 for using the input size)<br>dim <&#039;col&#039;&#124;&#039;row&#039;&#124;&#039;auto&#039;&#124;&#039;stream&#039;: mode> - set the dimension on which to operate [auto]<br>out <matrix: output> - filtered values<br>outstate <matrix: state> - output state<br>
   | messages=postdoc - post external doc to console<br>insize - change the inputs size and numbers<br>getstate - get the mean state<br>clear - reset the internal state<br>out - filtered values<br>outstate - output state<br>
+
   | messages=postdoc - post external doc to console<br>insize <num: input> [<num: filter>] - set input and filter size<br>getstate - get the mean state<br>clear - reset the internal state<br>out <matrix: output> - filtered values<br>outstate <matrix: state> - output state<br>
   | inlets=1 - input values<br>
+
   | inlets=1 <matrix: input> - input values<br>
   | outlets=1 - filtered values<br>2 - output state<br>
+
   | outlets=1 <matrix: output> - filtered values<br>2 <matrix: state> - output state<br>
 
}}
 
}}
  
Line 154: Line 154:
 
   | brief=Mean and standard deviation
 
   | brief=Mean and standard deviation
 
   | descr=Calculates the arithmetic mean and standard deviation of each column or row (depending on 'mode' argument) as one row or column vector
 
   | descr=Calculates the arithmetic mean and standard deviation of each column or row (depending on 'mode' argument) as one row or column vector
   | arguments=1 <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> compute over rows or columns<br>
+
   | arguments=1 <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>
   | attributes=mode <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> compute over rows or columns [rows]<br>scalar <bool: switch> output a simple float value (instead of 1 x 1 matrix) for scalar results [on]<br>outmean - mean output vector or value<br>outstd - standard deviation output vector or value<br>
+
   | attributes=mode <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>scalar <bool: switch> - output a simple float value (instead of 1 x 1 matrix) for scalar results [on]<br>outmean <matrix: mean> - mean output vector or value<br>outstd <matrix: stddev> - standard deviation output vector or value<br>
   | messages=postdoc - post external doc to console<br>outmean - mean output vector or value<br>outstd - standard deviation output vector or value<br>
+
   | messages=postdoc - post external doc to console<br>outmean <matrix: mean> - mean output vector or value<br>outstd <matrix: stddev> - standard deviation output vector or value<br>
   | inlets=1 - input matrix<br>
+
   | inlets=1 <matrix: input> - input matrix<br>
   | outlets=1 - mean output vector or value<br>2 - standard deviation output vector or value<br>
+
   | outlets=1 <matrix: mean> - mean output vector or value<br>2 <matrix: stddev> - standard deviation output vector or value<br>
 
}}
 
}}
  
Line 165: Line 165:
 
   | brief=Median filtering
 
   | brief=Median filtering
 
   | descr=Calculates median filtering over vectors (rows or columns) or stream of values (of any dimension).
 
   | descr=Calculates median filtering over vectors (rows or columns) or stream of values (of any dimension).
   | arguments=set the inputs initial size and numbers<br>
+
   | arguments=<num: input> [<num: filter>] - init input and filter size<br>
   | attributes=filtersize - set the maximum filter size (default is 0 for using the input size)<br>dim - set the dimension on which to operate: col, row, auto (default) or stream (element by element).<br>outtype - set the output type: fmat, float or auto (default, matches the input type).<br>out - filtered values<br>outstate - output state<br>
+
   | attributes=filtersize <num: filter> - set the maximum filter size (default is 0 for using the input size)<br>dim <&#039;col&#039;&#124;&#039;row&#039;&#124;&#039;auto&#039;&#124;&#039;stream&#039;: mode> - set the dimension on which to operate [auto]<br>out <matrix: output> - output filtered values<br>outstate <matrix: output> - output state<br>
   | messages=postdoc - post external doc to console<br>insize - change the inputs size and numbers<br>getstate - get the median state<br>clear - reset the internal state<br>out - filtered values<br>outstate - output state<br>
+
   | messages=postdoc - post external doc to console<br>insize <num: input> [<num: filter>] - set input and filter size<br>getstate - get the median state<br>clear - reset the internal state<br>out <matrix: output> - output filtered values<br>outstate <matrix: output> - output state<br>
   | inlets=1 - input values<br>
+
   | inlets=1 <matrix: input> - input values<br>
   | outlets=1 - filtered values<br>2 - output state<br>
+
   | outlets=1 <matrix: output> - output filtered values<br>2 <matrix: output> - output state<br>
 
}}
 
}}
  
Line 176: Line 176:
 
   | brief=Minimum and maximum
 
   | brief=Minimum and maximum
 
   | descr=Calculates the min, index of min, max, index of max of each column or row (depending on argument) as one row or column vector
 
   | descr=Calculates the min, index of min, max, index of max of each column or row (depending on argument) as one row or column vector
   | arguments=1 - (1&#124;2&#124;row&#124;col) sum over rows or columns<br>
+
   | arguments=1 <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>
   | attributes=mode - (1&#124;2&#124;row&#124;col) sum over rows or columns<br>scalar <bool: switch> output a simple float value (instead of 1 x 1 matrix) for scalar results [on]<br>outmin - min<br>outargmin - argmin<br>outmax - max<br>outargmax - argmax<br>
+
   | attributes=mode <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>scalar <bool: switch> - output a simple float value (instead of 1 x 1 matrix) for scalar results [on]<br>outmin <vector: min> - minimum output vector or value<br>outargmin <vector: min> - minimum index output vector or value<br>outmax <vector: max> - maximum output vector or value<br>outargmax <vector: max> - maximum index output vector or value<br>
   | messages=postdoc - post external doc to console<br>outmin - min<br>outargmin - argmin<br>outmax - max<br>outargmax - argmax<br>
+
   | messages=postdoc - post external doc to console<br>outmin <vector: min> - minimum output vector or value<br>outargmin <vector: min> - minimum index output vector or value<br>outmax <vector: max> - maximum output vector or value<br>outargmax <vector: max> - maximum index output vector or value<br>
   | inlets=1 - incoming matrix, vector, or list<br>
+
   | inlets=1 <matrix: input> - incoming matrix, vector, or list<br>
   | outlets=1 - min<br>2 - argmin<br>3 - max<br>4 - argmax<br>
+
   | outlets=1 <vector: min> - minimum output vector or value<br>2 <vector: min> - minimum index output vector or value<br>3 <vector: max> - maximum output vector or value<br>4 <vector: max> - maximum index output vector or value<br>
 
}}
 
}}
  
Line 188: Line 188:
 
   | descr=Calculates moments from first to specified order.
 
   | descr=Calculates moments from first to specified order.
 
   | arguments=1 <num: order> - moments maximum order [1]<br>
 
   | arguments=1 <num: order> - moments maximum order [1]<br>
   | attributes=std <&#039;0&#039;&#124;&#039;1&#039;: switch> - compute the standards moments for orders > 2 [1]<br>sumasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float sum output [0]<br>out - moments<br>outsum - input sums<br>mode - (1&#124;2&#124;row&#124;col) calculate over rows (same as 1) or columns (default, same as 2) for multicolumn inputs.<br>
+
   | attributes=std <bool: switch> - compute the standards moments for orders > 2 [on]<br>mode <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>out <vector: moments> - output moments vector<br>outsum <vector: moments> - output sums vector<br>
   | messages=postdoc - post external doc to console<br>order <num: order> - set moments maximum order<br>out - moments<br>outsum - input sums<br>
+
   | messages=postdoc - post external doc to console<br>order <num: order> - set moments maximum order<br>out <vector: moments> - output moments vector<br>outsum <vector: moments> - output sums vector<br>
   | inlets=1 - input vector<br>
+
   | inlets=1 <vector: input> - input vector<br>
   | outlets=1 - moments<br>2 - input sums<br>
+
   | outlets=1 <vector: moments> - output moments vector<br>2 <vector: moments> - output sums vector<br>
 
}}
 
}}
  
Line 199: Line 199:
 
   | descr=Calculates NMD of incoming matrix.
 
   | descr=Calculates NMD of incoming matrix.
 
   | arguments=none
 
   | arguments=none
   | attributes=outh - out H<br>criteria - criteria<br>sH - sH<br>itermax - itermax<br>
+
   | attributes=outh <matrix: H> - H output matrix<br>criteria <num: criteria> - criteria<br>sH <num: sH> - sH<br>itermax <num: itermax> - maximum number of iterations<br>
 
   | messages=postdoc - post external doc to console<br>
 
   | messages=postdoc - post external doc to console<br>
   | inlets=1 - fmat<br>2 - fmat<br>3 - <br>
+
   | inlets=1 <matrix: input> - input matrix<br>2 <matrix: input> - input matrix<br>3 <num: L2> - L2<br>
   | outlets=1 - fmat<br>
+
   | outlets=1 <matrix: output> - output matrix<br>
 
}}
 
}}
  
Line 209: Line 209:
 
   | brief=Non-zero Matrix Factorization
 
   | brief=Non-zero Matrix Factorization
 
   | descr=Calculates NMF of incoming matrix.
 
   | descr=Calculates NMF of incoming matrix.
   | arguments=1 - number of components<br>
+
   | arguments=1 <num: num> - number of components<br>
   | attributes=outw - reference to external fmat to store W<br>outh - reference to external fmat to store H<br>criteria - (float) stopping criteria<br>rdim - number of components<br>itermax - maximum number of iterations<br>
+
   | attributes=outw <matrix: W> - W output matrix<br>outh <matrix: H> - H output matrix<br>criteria <num: criteria> - stopping criteria<br>rdim <num: num> - number of components<br>itermax <num: max> - maximum number of iterations<br>
 
   | messages=postdoc - post external doc to console<br>
 
   | messages=postdoc - post external doc to console<br>
   | inlets=1 - fmat to be decomposed<br>
+
   | inlets=1 <matrix: input> - matrix to be decomposed<br>
   | outlets=1 - W<br>2 - H<br>
+
   | outlets=1 <matrix: W> - W output matrix<br>2 <matrix: H> - H output matrix<br>
 
}}
 
}}
  
Line 223: Line 223:
 
   | attributes=none
 
   | attributes=none
 
   | messages=postdoc - post external doc to console<br>
 
   | messages=postdoc - post external doc to console<br>
   | inlets=1 - ref. to observation frame : fmat [D (=feature space dim) , 1]<br>2 - ref. to states matrix<br>
+
   | inlets=1 <matrix: obs> - input observation frames matrix (D x 1)<br>2 <matrix: states> - input states matrix<br>
   | outlets=1 - log(B) : fmat [K (=nb of states) , 1]<br>2 - test<br>
+
   | outlets=1 <matrix: prob> - output log(B) (K x 1)<br>2 <num> - no description<br>
 
}}
 
}}
  
Line 231: Line 231:
 
   | brief=Onepole filtering
 
   | brief=Onepole filtering
 
   | descr=Calculates onepole filtering (low-pass or high-pass) over vectors (rows or columns) or stream of values (of any dimension).
 
   | descr=Calculates onepole filtering (low-pass or high-pass) over vectors (rows or columns) or stream of values (of any dimension).
   | arguments=set the inputs initial size and numbers<br>
+
   | arguments=<num: input> [<num: filter>] - init input and filter size<br>
   | attributes=f0 - set the onepole f0, normalised by the Nyquist frequency (default is 1.)<br>dim - set the dimension on which to operate: col, row, auto (default) or stream (element by element).<br>mode - filter type (feault is lowpass).<br>out - filtered values<br>outstate - output state<br>
+
   | attributes=f0 <num: freq> - set the onepole frequency, normalised by the Nyquist frequency (default is 1.)<br>dim <&#039;col&#039;&#124;&#039;row&#039;&#124;&#039;auto&#039;&#124;&#039;stream&#039;: mode> - set the dimension on which to operate [auto]<br>mode <&#039;lowpass&#039;&#124;&#039;highpass&#039;: mode> - filter type [lowpass]<br>out <matrix: output> - output filtered values<br>outstate <matrix: state> - output state<br>
   | messages=postdoc - post external doc to console<br>getstate - get the onepole state<br>clear - reset the internal state<br>out - filtered values<br>outstate - output state<br>insize - change the inputs size and numbers<br>
+
   | messages=postdoc - post external doc to console<br>getstate - get the onepole state<br>clear - reset the internal state<br>insize <num: input> [<num: filter>] - init input and filter size<br>out <matrix: output> - output filtered values<br>outstate <matrix: state> - output state<br>
   | inlets=1 - input values<br>
+
   | inlets=1 <matrix: input> - input values<br>
   | outlets=1 - filtered values<br>2 - output state<br>
+
   | outlets=1 <matrix: output> - output filtered values<br>2 <matrix: state> - output state<br>
 
}}
 
}}
  
Line 243: Line 243:
 
   | descr=Calculates QR decomposition of incoming matrix.
 
   | descr=Calculates QR decomposition of incoming matrix.
 
   | arguments=none
 
   | arguments=none
   | attributes=outq - Q<br>outr - R<br>outx - X<br>
+
   | attributes=outq <matrix: Q> - Q output matrix<br>outr <matrix: R> - R output matrix<br>outx <matrix: X> - X output matrix<br>
   | messages=postdoc - post external doc to console<br>solve - solve system with QR decomposition<br>outq - Q<br>outr - R<br>outx - X<br>
+
   | messages=postdoc - post external doc to console<br>solve <matrix: input> - solve system with QR decomposition<br>outq <matrix: Q> - Q output matrix<br>outr <matrix: R> - R output matrix<br>outx <matrix: X> - X output matrix<br>
   | inlets=1 - fmat to be decomposed<br>
+
   | inlets=1 <matrix: input> - matrix to be decomposed<br>
   | outlets=1 - Q<br>2 - R<br>3 - X<br>
+
   | outlets=1 <matrix: Q> - Q output matrix<br>2 <matrix: R> - R output matrix<br>3 <matrix: X> - X output matrix<br>
 
}}
 
}}
  
Line 253: Line 253:
 
   | brief=Stats
 
   | brief=Stats
 
   | descr=Stats has to be documented.
 
   | descr=Stats has to be documented.
   | arguments=output stats<br>
+
   | arguments=<vector: histogram> [<num: low> <num: high>] - set histogram vector and boundaries<br>
   | attributes=norm - switch normalize<br>
+
   | attributes=norm <bool: normalize> - switch normalization [off]<br>
   | messages=postdoc - post external doc to console<br>bang - output stats<br>clear - clear histogram<br>set - set histogram vector (fmat)<br>
+
   | messages=postdoc - post external doc to console<br>bang - output stats<br>clear - clear histogram<br>set <vector: histogram> [<num: low> <num: high>] - set histogram vector and boundaries<br>
   | inlets=1 - data input<br>
+
   | inlets=1 <num: value> - data input<br>
   | outlets=1 - average<br>2 - standard deviation<br>3 - count<br>
+
   | outlets=1 <num: average> - output average<br>2 <num: stddev> - output standard deviation<br>3 <num: count> - output count<br>
 
}}
 
}}
  
Line 264: Line 264:
 
   | brief=Sub-matrix
 
   | brief=Sub-matrix
 
   | descr=Copies sub-matrix outof incoming matrix.
 
   | descr=Copies sub-matrix outof incoming matrix.
   | arguments=none
+
   | arguments=<num: begin row> <num: begin col> <num: end row> <num: end col> - start end end indices of sub-matrix<br>
   | attributes=out - sub-matrix<br>
+
   | attributes=begin <num: row> <num: col> - start indices of sub-matrix<br>end <num: row> <num: col> - end indices of sub-matrix<br>out <matrix: output> - ouput sub-matrix<br>
   | messages=postdoc - post external doc to console<br>begin - start of submatrix coordinates<br>end - end of submatrix coordinates<br>out - sub-matrix<br>
+
   | messages=postdoc - post external doc to console<br>out <matrix: output> - ouput sub-matrix<br>
   | inlets=1 - fmat<br>
+
   | inlets=1 <matrix: input> - input matrix<br>
   | outlets=1 - sub-matrix<br>
+
   | outlets=1 <matrix: output> - ouput sub-matrix<br>
 
}}
 
}}
  
Line 275: Line 275:
 
   | brief=Matrix sum
 
   | brief=Matrix sum
 
   | descr=Calculates sum over entire matrix, matrix rows or matrix columns.
 
   | descr=Calculates sum over entire matrix, matrix rows or matrix columns.
   | arguments=1 - (1&#124;2&#124;row&#124;col) sum over rows or columns<br>
+
   | arguments=1 <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>
  | attributes=out - sum of fmat<br>mode - &#039;row&#039;&#124;&#039;col&#039;&#124;1&#124;2 -- perform sum over rows or columns<br>type <symbol: &#039;float&#039;&#124;&#039;fmat&#039;> -- always output a matrix even for scalar results<br>
+
  | attributes=mode <1&#124;2&#124;&#039;row&#039;&#124;&#039;col&#039;: mode switch> - compute over rows or columns [col]<br>out <vector: sum> - output sum vector<br>
   | messages=postdoc - post external doc to console<br>out - sum of fmat<br>
+
   | messages=postdoc - post external doc to console<br>out <vector: sum> - output sum vector<br>
   | inlets=1 - incoming matrix to be summed<br>
+
   | inlets=1 <matrix: input> - incoming matrix to be summed<br>
   | outlets=1 - sum of fmat<br>
+
   | outlets=1 <vector: sum> - output sum vector<br>
 
}}
 
}}
  
Line 286: Line 286:
 
   | brief=Singular Value Decomposition
 
   | brief=Singular Value Decomposition
 
   | descr=Calculates SVD of incoming matrix.
 
   | descr=Calculates SVD of incoming matrix.
   | arguments=1 - number of singular values<br>
+
   | arguments=1 <num: rank> - number of singular values<br>
   | attributes=mode - (auto&#124;manual) automatically eliminate negligible singular values<br>outu - output matrix for U<br>outs - output matrix for S<br>outvt - output matrix for V&#039;<br>
+
   | attributes=mode <&#039;manual&#039;&#124;&#039;auto&#039;: mode> - automatically eliminate negligible singular values [manual]<br>outu <matrix: U> - U output matrix<br>outs <matrix: S> - S output matrix<br>outvt <matrix: V&#039;> - V&#039; output matrix (transposed of V)<br>
   | messages=postdoc - post external doc to console<br>outu - output matrix for U<br>outs - output matrix for S<br>outvt - output matrix for V&#039;<br>
+
   | messages=postdoc - post external doc to console<br>outu <matrix: U> - U output matrix<br>outs <matrix: S> - S output matrix<br>outvt <matrix: V&#039;> - V&#039; output matrix (transposed of V)<br>
   | inlets=1 - matrix to be decomposed by SVD<br>
+
   | inlets=1 <matrix: input> - matrix to be decomposed by SVD<br>
   | outlets=1 - output matrix for U<br>2 - output matrix for S<br>3 - output matrix for V&#039;<br>
+
   | outlets=1 <matrix: U> - U output matrix<br>2 <matrix: S> - S output matrix<br>3 <matrix: V&#039;> - V&#039; output matrix (transposed of V)<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=mnm.transpose
 
   | name=mnm.transpose
   | brief=Transpose
+
   | brief=Matrix transposition
 
   | descr=Calculates transposed matrix.
 
   | descr=Calculates transposed matrix.
 
   | arguments=none
 
   | arguments=none
   | attributes=out - transposed matrix<br>
+
   | attributes=out <matrix: output> - output transposed matrix<br>
   | messages=postdoc - post external doc to console<br>out - transposed matrix<br>
+
   | messages=postdoc - post external doc to console<br>out <matrix: output> - output transposed matrix<br>
   | inlets=1 - matrix to be transposed<br>
+
   | inlets=1 <matrix: input> - matrix to be transposed<br>
   | outlets=1 - transposed matrix<br>
+
   | outlets=1 <matrix: output> - output transposed matrix<br>
 
}}
 
}}
  
Line 307: Line 307:
 
   | name=mnm.viterbi
 
   | name=mnm.viterbi
 
   | brief=Viterbi algorithm
 
   | brief=Viterbi algorithm
   | descr=Calculates Viterbi path of incoming matrices or vector.
+
   | descr=Calculates Viterbi path of incoming matrices or vectors.
 
   | arguments=none
 
   | arguments=none
   | attributes=line - on&#124;off line<br>verbose - verbose or not (0&#124;1)<br>latency - maximum latency (nb of frames)<br>get - debug : get intern values.<br>
+
   | attributes=line <bool: online> - switch online mode on/off [off]<br>verbose <bool: verbose> - verbose or not [off]<br>latency <num: latency> - maximum latency (nb of frames)<br>
   | messages=postdoc - post external doc to console<br>reinit - input message reinit<br>bang - bang to decode<br>locpaths - get locpaths matrix<br>
+
   | messages=postdoc - post external doc to console<br>geta - get state matrix A<br>getpi - get state matrix Pi<br>getpsi - get state matrix Psi<br>locpaths - get locpaths matrix<br>reinit - input message reinit<br>bang - decode<br>
   | inlets=1 - bang to decode, or reinit message to reset PSIs and DELTAs<br>2 - observation matrix logB[T,K]<br>3 - state prior distribution Pi[1,K]<br>4 - state transition matrix A[K,K]<br>
+
   | inlets=1 - messages only<br>2 <matrix: observations> - input observation matrix logB (T x K)<br>3 <matrix: pi> - input state prior distribution Pi (1 x K)<br>4 <matrix: A> - input state transition matrix A (K x K)<br>
   | outlets=1 - decoded best path<br>2 - debug<br>
+
   | outlets=1 <matrix: path> - output decoded best path<br>2 <matrix: state> - output state matrices<br>
 
}}
 
}}
  
Line 319: Line 319:
 
   | brief=Square of Euclidean distance
 
   | brief=Square of Euclidean distance
 
   | descr=Calculates the square of the Euclidean distance between a vector and each line of a matrix.
 
   | descr=Calculates the square of the Euclidean distance between a vector and each line of a matrix.
   | arguments=matrix to be used as right operand<br>
+
   | arguments=<matrix: right> - matrix to be used as right operand<br>
   | attributes=swap - (yes&#124;no) swaps operands<br>out - result squared distance matrix<br>
+
   | attributes=swap <bool: switch> swap operands<br>out <matrix: output> - result squared distance matrix<br>
   | messages=postdoc - post external doc to console<br>out - result squared distance matrix<br>
+
   | messages=postdoc - post external doc to console<br>out <matrix: output> - result squared distance matrix<br>
   | inlets=1 <matrix: left operand><br>2 <matrix: right operand><br>
+
   | inlets=1 <matrix: left> - input left operand><br>2 <matrix: right> - input right operand><br>
   | outlets=1 - result squared distance matrix<br>
+
   | outlets=1 <matrix: output> - result squared distance matrix<br>
 
}}
 
}}
  
Line 330: Line 330:
 
   | brief=Matrix multiplication
 
   | brief=Matrix multiplication
 
   | descr=Calculates matrix multiplication as in out = left x right.<br>The left and right operands of the matrix multiplication are given by the respective inlets unless the swap option is enabled.The dimensions of the resulting output matrix are corresponding to the minimum dimensions of the two operators.
 
   | descr=Calculates matrix multiplication as in out = left x right.<br>The left and right operands of the matrix multiplication are given by the respective inlets unless the swap option is enabled.The dimensions of the resulting output matrix are corresponding to the minimum dimensions of the two operators.
   | arguments=set right or (with swap enabled) left matrix multiplication operand<br>
+
   | arguments=<matrix: op> - set right or (with swap enabled) left matrix multiplication operand<br>
   | attributes=out - output matrix object<br>swap <bool: switch> swaps operands<br>
+
   | attributes=swap <bool: switch> swap operands<br>out <matrix: output> - output matrix<br>
   | messages=postdoc - post external doc to console<br>out - output matrix object<br>
+
   | messages=postdoc - post external doc to console<br>out <matrix: output> - output matrix<br>
   | inlets=1 - multiply matrix with given right or left operand<br>2 - set right or (with swap enabled) left matrix multiplication operand<br>
+
   | inlets=1 <matrix: input> - multiply matrix with given right or left operand<br>2 <matrix: op> - set right or (with swap enabled) left matrix multiplication operand<br>
   | outlets=1 - output matrix object<br>
+
   | outlets=1 <matrix: output> - output matrix<br>
 
}}
 
}}

Latest revision as of 22:27, 3 May 2009

  • mnm.biqoefs ... Biquad coefficients
  • mnm.biquad ... Biquad filtering
  • mnm.delta ... Inter-frame regression
  • mnm.diag ... Matrix diagonal
  • mnm.dtw ... Dynamic Time Warping
  • mnm.gmmem ... Expectation Maximization for Gaussian Mixture Models
  • mnm.hist ... Histogram
  • mnm.knn ... K-Nearest Neighbour search
  • mnm.lu ... Lower-Upper decomposition
  • mnm.mahalanobis ... Mahalanobis distance
  • mnm.mean ... Mean filtering
  • mnm.meanstd ... Mean and standard deviation
  • mnm.median ... Median filtering
  • mnm.minmax ... Minimum and maximum
  • mnm.moments ... Statistical moments
  • mnm.nmd ... Non-zero Matrix Decomposition
  • mnm.nmf ... Non-zero Matrix Factorization
  • mnm.obsprob ... Obsprob
  • mnm.onepole ... Onepole filtering
  • mnm.qr ... Orthogonal-Right decomposition
  • mnm.stats ... Stats
  • mnm.submat ... Sub-matrix
  • mnm.sum ... Matrix sum
  • mnm.svd ... Singular Value Decomposition
  • mnm.transpose ... Matrix transposition
  • mnm.viterbi ... Viterbi algorithm
  • mnm.xdist2 ... Square of Euclidean distance
  • mnm.xmul ... Matrix multiplication



mnm.biqoefs Biquad coefficients
Calculates biquad coefficients for various filter types.
arguments: none
attributes: mode <'lp'|'lowpass'|'hp'|'highpass'|'bpcskirt'|'resonant'|'bpcpeak'|'bandpass'|'peaking'|'peaknotch'|'notch'|'bs'|'bandstop'|'ap'|'allpass'|'ls'|'lowshelf'|'hs'|'highshelf': type> - filter type [lowpass]
f0 <num: freq> - cutoff or centre frequency (default is half Nyquist frequency)
unit <'nyquist'|'hz'|'hertz': unit> - set unit for freq as ratio to Nyquist frequency or in hz [nyquist]
sr <num: sr> - sample rate for freq in Hertz [44100]
q <num: q> - quality/resonance [1]
qnorm <num: qnorm> - if qnorm = 1, divide q by 1./sqrt(2.) so as to get a monotonic filter response with q = 1. (instead of 1./sqrt(2.), which is the default with qnorm = 0)
gain <num: gain> - linear gain [1]
out <matrix: coeffs> - output biquad coefficients
messages: postdoc - post external doc to console
bang - output coefficients
out <matrix: coeffs> - output biquad coefficients
inlets: none
outlets: 1 <matrix: coeffs> - output biquad coefficients

mnm.biquad Biquad filtering
Calculates biquad filtering over vectors (rows or columns) or stream of values (of any dimension).
arguments: <num: input> [<num: filter>] - init input and filter size
attributes: mode <'df1'|'df2t': struct> - set biquad structure [df1]
dim <'col'|'row'|'auto'|'stream': mode> - set the dimension on which to operate [auto]
out <matrix: values> - output filtered values
outstate <matrix: state> - output state
messages: postdoc - post external doc to console
insize <num: input> [<num: filter>] - init input and filter size
coefs <list: coeffs> - set the biquad coefficients
getstate - get the biquad state
clear - reset the internal state
out <matrix: values> - output filtered values
outstate <matrix: state> - output state
inlets: 1 <matrix: coeffs> - input values
outlets: 1 <matrix: values> - output filtered values
2 <matrix: state> - output state

mnm.delta Inter-frame regression
Calculates derivative of incoming matrices or vectors.
arguments: 1 <num: input> [<num: filter>] - init input size
2 <num: filter>: init filter size
attributes: insize <num: input> - set input size
filtersize <num: filter> - set filter size
inadddel <num: del> - add a delay to the delayed input
norm <bool: normalize> - set normalization mode ([off]
outdelayed <matrix: delayed> - output delayed inputs (in phase with deltas)
out <matrix: delta> - output deltas
outstate <matrix: state> - internal values
messages: postdoc - post external doc to console
clear - clear the memory of inputs
getstate - get the internal weights vector
getnorm - get the normalization factor
getring - get the input ring buffer
getdelay - get the filter delay
outdelayed <matrix: delayed> - output delayed inputs (in phase with deltas)
out <matrix: delta> - output deltas
outstate <matrix: state> - internal values
inlets: 1 <matrix: input> - multiply matrix with given right or left operand
outlets: 1 <matrix: delayed> - output delayed inputs (in phase with deltas)
2 <matrix: delta> - output deltas
3 <matrix: state> - internal values

mnm.diag Matrix diagonal
Returns a copy of the diagonal of the incoming matrix in a vector.The length of the result is the minimum of the dimensions of the input.
arguments: none
attributes: out <vector: diagonal> - output diagonal vector
messages: postdoc - post external doc to console
out <vector: diagonal> - output diagonal vector
inlets: 1 <matrix: input> - input matrix
outlets: 1 <vector: diagonal> - output diagonal vector

mnm.dtw Dynamic Time Warping
Calculates DTW of incoming matrix or vector.
arguments: 1 <matrix: op> - matrix to be used as right operand
attributes: outa <matrix: A> - set A output matrix
outb <matrix: B> - set B output matrix
messages: postdoc - post external doc to console
inlets: 1 <matrix: left> - left hand side matrix operand
2 <matrix: right> - right hand side matrix operand
outlets: 1 <matrix: A> - A output matrix
2 <matrix: B> - B output matrix

mnm.gmmem Expectation Maximization for Gaussian Mixture Models
GMM EM has to be documented.
arguments: 1 <num: num> - number of centers to use
attributes: outcenters <matrix: centers> - centers output matrix
outcov <matrix: covariance> - covariance output matrix
outpriors <matrix: priors> - priors output matrix
mode <diagonal|full|spherical: mode> covariance computation types
criteria <num: criteria> - criteria
ncenters <num: num> - number of centers
messages: postdoc - post external doc to console
inlets: 1 <matrix: input> - matrix of values
outlets: 1 <matrix: centers> - centers output matrix
2 <matrix: covariance> - covariance output matrix
3 <matrix: priors> - priors output matrix

mnm.hist Histogram
Calculates histogram of incoming matrix elements. The input matrix, list or vector element's occurences are counted in the given number of bins in between the min and max value
arguments: 1 <num: num> - number of bins
attributes: out <vector: histogram> - output histogram vector
bpf <matrix: histogram> - output two-column matrix with bin indices and histogram values
norm <'off'|'max'|'sum': normalize> - normalise histogram so that max or sum is 1
messages: postdoc - post external doc to console
out <vector: histogram> - output histogram vector
set_n <num: num> - number of bins
inlets: 1 <matrix: values> - intput matrix or list
outlets: 1 <vector: histogram> - output histogram vector
2 <num: min> - output min data value
3 <num: max> - output max data value

mnm.knn K-Nearest Neighbour search
Find the k nearest neighbours and their distances to the query point in multi-dimensional data using an efficient multidimensional search tree with logarithmic time complexity.
arguments: 1 <num: max k> - max number k of nearest neighbours to search
2 <num: max radius> - max radius of nearest neighbours to search (0 for unlimited)
attributes: setdata <matrix: data> - matrix(N, D) of data
setsigma <matrix: sigma> - matrix(1, D) of sigma = 1/weights
dmode <'orthogonal'|'hyperplane'|'pca': mode> decomposition mode
mmode <'mean'|'middle'|'median'> - pivot calculation mode
sort <bool: switch> - sort output by distance
height <num: height> - given tree height if positive, subtract from maxheight if negative
outdist <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)
outind <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)
messages: postdoc - post external doc to console
outdist <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)
outind <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)
setk <num: max> - max number k of nearest neighbours to search
setradius <num: max> - max radius of nearest neighbours to search (0 for unlimited)
getmeanvectors <matrix: out> - copy mean vectors for the M tree nodes to copy matrix (M x D) out
getsplitplanes <matrix: out> - copy vectors perpendicular to the hyperplanes splitting the M tree nodes to matrix (M x D) out
getprofile <dict: out> - copy profiling info to given dict and clear
print [<'info'|'r\ aw'|'data'|'compact'|'nodes'|'profile': mode>] - print tree info of varying detail (default: nodes), print and clear profiling info if keyword 'profile' is given
inlets: 1 <vector: x> - query vector to search k-nearest neighbours (1 x D)
2 <matrix: data> - data input matrix (N x D)
3 <vector: sigma> - sigma input matrix (1 x D)
outlets: 1 <vector: distance> - output vector of distances to n <= k nearest neighbours (n x 1)
2 <vector: indices> - data row indices of n <= k nearest neighbours (n x 1)

mnm.lu Lower-Upper decomposition
Calculates LU decomposition of incoming matrix.
arguments: none
attributes: outl <matrix: L> - L output matrix
outu <matrix: U> - U output matrix
outpivot <matrix: pivot> - pivot output matrix
outx <matrix: X> - X output matrix
outdet <matrix: det> - determinant output matrix
messages: postdoc - post external doc to console
determinant - computes determinant of decomposed matrix
solve <matrix: input> - solves system with incoming matrix and decomposed matrix
outl <matrix: L> - L output matrix
outu <matrix: U> - U output matrix
outpivot <matrix: pivot> - pivot output matrix
outx <matrix: X> - X output matrix
outdet <matrix: det> - determinant output matrix
inlets: 1 <matrix: input> - matrix to decompose
outlets: 1 <matrix: L> - L output matrix
2 <matrix: U> - U output matrix
3 <matrix: pivot> - pivot output matrix
4 <matrix: X> - X output matrix
5 <matrix: det> - determinant output matrix

mnm.mahalanobis Mahalanobis distance
Calculates mahalanobis distance of incoming matrices or vectors.
arguments: <matrix: mean> <matrix: covariance> - init mean and covariance
attributes: out <matrix: output> - output mahalanobis distance
messages: postdoc - post external doc to console
set_mu <matrix: mu> - matrix of mean values
set_sigma <matrix: sigma> - matrix of covariance
out <matrix: output> - output mahalanobis distance
inlets: 1 <vector: input> - query vector>
2 <matrix: mu> - mu input matrix
3 <matrix: sigma> - sigma input matrix
outlets: 1 <matrix: output> - output mahalanobis distance

mnm.mean Mean filtering
Calculates mean filtering over vectors (rows or columns) or stream of values (of any dimension).
arguments: <num: input> [<num: filter>] - init input and filter size
attributes: filtersize <num: max> - set the maximum filter size (default is 0 for using the input size)
dim <'col'|'row'|'auto'|'stream': mode> - set the dimension on which to operate [auto]
out <matrix: output> - filtered values
outstate <matrix: state> - output state
messages: postdoc - post external doc to console
insize <num: input> [<num: filter>] - set input and filter size
getstate - get the mean state
clear - reset the internal state
out <matrix: output> - filtered values
outstate <matrix: state> - output state
inlets: 1 <matrix: input> - input values
outlets: 1 <matrix: output> - filtered values
2 <matrix: state> - output state

mnm.meanstd Mean and standard deviation
Calculates the arithmetic mean and standard deviation of each column or row (depending on 'mode' argument) as one row or column vector
arguments: 1 <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
attributes: mode <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
scalar <bool: switch> - output a simple float value (instead of 1 x 1 matrix) for scalar results [on]
outmean <matrix: mean> - mean output vector or value
outstd <matrix: stddev> - standard deviation output vector or value
messages: postdoc - post external doc to console
outmean <matrix: mean> - mean output vector or value
outstd <matrix: stddev> - standard deviation output vector or value
inlets: 1 <matrix: input> - input matrix
outlets: 1 <matrix: mean> - mean output vector or value
2 <matrix: stddev> - standard deviation output vector or value

mnm.median Median filtering
Calculates median filtering over vectors (rows or columns) or stream of values (of any dimension).
arguments: <num: input> [<num: filter>] - init input and filter size
attributes: filtersize <num: filter> - set the maximum filter size (default is 0 for using the input size)
dim <'col'|'row'|'auto'|'stream': mode> - set the dimension on which to operate [auto]
out <matrix: output> - output filtered values
outstate <matrix: output> - output state
messages: postdoc - post external doc to console
insize <num: input> [<num: filter>] - set input and filter size
getstate - get the median state
clear - reset the internal state
out <matrix: output> - output filtered values
outstate <matrix: output> - output state
inlets: 1 <matrix: input> - input values
outlets: 1 <matrix: output> - output filtered values
2 <matrix: output> - output state

mnm.minmax Minimum and maximum
Calculates the min, index of min, max, index of max of each column or row (depending on argument) as one row or column vector
arguments: 1 <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
attributes: mode <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
scalar <bool: switch> - output a simple float value (instead of 1 x 1 matrix) for scalar results [on]
outmin <vector: min> - minimum output vector or value
outargmin <vector: min> - minimum index output vector or value
outmax <vector: max> - maximum output vector or value
outargmax <vector: max> - maximum index output vector or value
messages: postdoc - post external doc to console
outmin <vector: min> - minimum output vector or value
outargmin <vector: min> - minimum index output vector or value
outmax <vector: max> - maximum output vector or value
outargmax <vector: max> - maximum index output vector or value
inlets: 1 <matrix: input> - incoming matrix, vector, or list
outlets: 1 <vector: min> - minimum output vector or value
2 <vector: min> - minimum index output vector or value
3 <vector: max> - maximum output vector or value
4 <vector: max> - maximum index output vector or value

mnm.moments Statistical moments
Calculates moments from first to specified order.
arguments: 1 <num: order> - moments maximum order [1]
attributes: std <bool: switch> - compute the standards moments for orders > 2 [on]
mode <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
out <vector: moments> - output moments vector
outsum <vector: moments> - output sums vector
messages: postdoc - post external doc to console
order <num: order> - set moments maximum order
out <vector: moments> - output moments vector
outsum <vector: moments> - output sums vector
inlets: 1 <vector: input> - input vector
outlets: 1 <vector: moments> - output moments vector
2 <vector: moments> - output sums vector

mnm.nmd Non-zero Matrix Decomposition
Calculates NMD of incoming matrix.
arguments: none
attributes: outh <matrix: H> - H output matrix
criteria <num: criteria> - criteria
sH <num: sH> - sH
itermax <num: itermax> - maximum number of iterations
messages: postdoc - post external doc to console
inlets: 1 <matrix: input> - input matrix
2 <matrix: input> - input matrix
3 <num: L2> - L2
outlets: 1 <matrix: output> - output matrix

mnm.nmf Non-zero Matrix Factorization
Calculates NMF of incoming matrix.
arguments: 1 <num: num> - number of components
attributes: outw <matrix: W> - W output matrix
outh <matrix: H> - H output matrix
criteria <num: criteria> - stopping criteria
rdim <num: num> - number of components
itermax <num: max> - maximum number of iterations
messages: postdoc - post external doc to console
inlets: 1 <matrix: input> - matrix to be decomposed
outlets: 1 <matrix: W> - W output matrix
2 <matrix: H> - H output matrix

mnm.obsprob Obsprob
Obsprob has to be documented.
arguments: none
attributes: none
messages: postdoc - post external doc to console
inlets: 1 <matrix: obs> - input observation frames matrix (D x 1)
2 <matrix: states> - input states matrix
outlets: 1 <matrix: prob> - output log(B) (K x 1)
2 <num> - no description

mnm.onepole Onepole filtering
Calculates onepole filtering (low-pass or high-pass) over vectors (rows or columns) or stream of values (of any dimension).
arguments: <num: input> [<num: filter>] - init input and filter size
attributes: f0 <num: freq> - set the onepole frequency, normalised by the Nyquist frequency (default is 1.)
dim <'col'|'row'|'auto'|'stream': mode> - set the dimension on which to operate [auto]
mode <'lowpass'|'highpass': mode> - filter type [lowpass]
out <matrix: output> - output filtered values
outstate <matrix: state> - output state
messages: postdoc - post external doc to console
getstate - get the onepole state
clear - reset the internal state
insize <num: input> [<num: filter>] - init input and filter size
out <matrix: output> - output filtered values
outstate <matrix: state> - output state
inlets: 1 <matrix: input> - input values
outlets: 1 <matrix: output> - output filtered values
2 <matrix: state> - output state

mnm.qr Orthogonal-Right decomposition
Calculates QR decomposition of incoming matrix.
arguments: none
attributes: outq <matrix: Q> - Q output matrix
outr <matrix: R> - R output matrix
outx <matrix: X> - X output matrix
messages: postdoc - post external doc to console
solve <matrix: input> - solve system with QR decomposition
outq <matrix: Q> - Q output matrix
outr <matrix: R> - R output matrix
outx <matrix: X> - X output matrix
inlets: 1 <matrix: input> - matrix to be decomposed
outlets: 1 <matrix: Q> - Q output matrix
2 <matrix: R> - R output matrix
3 <matrix: X> - X output matrix

mnm.stats Stats
Stats has to be documented.
arguments: <vector: histogram> [<num: low> <num: high>] - set histogram vector and boundaries
attributes: norm <bool: normalize> - switch normalization [off]
messages: postdoc - post external doc to console
bang - output stats
clear - clear histogram
set <vector: histogram> [<num: low> <num: high>] - set histogram vector and boundaries
inlets: 1 <num: value> - data input
outlets: 1 <num: average> - output average
2 <num: stddev> - output standard deviation
3 <num: count> - output count

mnm.submat Sub-matrix
Copies sub-matrix outof incoming matrix.
arguments: <num: begin row> <num: begin col> <num: end row> <num: end col> - start end end indices of sub-matrix
attributes: begin <num: row> <num: col> - start indices of sub-matrix
end <num: row> <num: col> - end indices of sub-matrix
out <matrix: output> - ouput sub-matrix
messages: postdoc - post external doc to console
out <matrix: output> - ouput sub-matrix
inlets: 1 <matrix: input> - input matrix
outlets: 1 <matrix: output> - ouput sub-matrix

mnm.sum Matrix sum
Calculates sum over entire matrix, matrix rows or matrix columns.
arguments: 1 <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
attributes: mode <1|2|'row'|'col': mode switch> - compute over rows or columns [col]
out <vector: sum> - output sum vector
messages: postdoc - post external doc to console
out <vector: sum> - output sum vector
inlets: 1 <matrix: input> - incoming matrix to be summed
outlets: 1 <vector: sum> - output sum vector

mnm.svd Singular Value Decomposition
Calculates SVD of incoming matrix.
arguments: 1 <num: rank> - number of singular values
attributes: mode <'manual'|'auto': mode> - automatically eliminate negligible singular values [manual]
outu <matrix: U> - U output matrix
outs <matrix: S> - S output matrix
outvt <matrix: V'> - V' output matrix (transposed of V)
messages: postdoc - post external doc to console
outu <matrix: U> - U output matrix
outs <matrix: S> - S output matrix
outvt <matrix: V'> - V' output matrix (transposed of V)
inlets: 1 <matrix: input> - matrix to be decomposed by SVD
outlets: 1 <matrix: U> - U output matrix
2 <matrix: S> - S output matrix
3 <matrix: V'> - V' output matrix (transposed of V)

mnm.transpose Matrix transposition
Calculates transposed matrix.
arguments: none
attributes: out <matrix: output> - output transposed matrix
messages: postdoc - post external doc to console
out <matrix: output> - output transposed matrix
inlets: 1 <matrix: input> - matrix to be transposed
outlets: 1 <matrix: output> - output transposed matrix

mnm.viterbi Viterbi algorithm
Calculates Viterbi path of incoming matrices or vectors.
arguments: none
attributes: line <bool: online> - switch online mode on/off [off]
verbose <bool: verbose> - verbose or not [off]
latency <num: latency> - maximum latency (nb of frames)
messages: postdoc - post external doc to console
geta - get state matrix A
getpi - get state matrix Pi
getpsi - get state matrix Psi
locpaths - get locpaths matrix
reinit - input message reinit
bang - decode
inlets: 1 - messages only
2 <matrix: observations> - input observation matrix logB (T x K)
3 <matrix: pi> - input state prior distribution Pi (1 x K)
4 <matrix: A> - input state transition matrix A (K x K)
outlets: 1 <matrix: path> - output decoded best path
2 <matrix: state> - output state matrices

mnm.xdist2 Square of Euclidean distance
Calculates the square of the Euclidean distance between a vector and each line of a matrix.
arguments: <matrix: right> - matrix to be used as right operand
attributes: swap <bool: switch> swap operands
out <matrix: output> - result squared distance matrix
messages: postdoc - post external doc to console
out <matrix: output> - result squared distance matrix
inlets: 1 <matrix: left> - input left operand>
2 <matrix: right> - input right operand>
outlets: 1 <matrix: output> - result squared distance matrix

mnm.xmul Matrix multiplication
Calculates matrix multiplication as in out = left x right.
The left and right operands of the matrix multiplication are given by the respective inlets unless the swap option is enabled.The dimensions of the resulting output matrix are corresponding to the minimum dimensions of the two operators.
arguments: <matrix: op> - set right or (with swap enabled) left matrix multiplication operand
attributes: swap <bool: switch> swap operands
out <matrix: output> - output matrix
messages: postdoc - post external doc to console
out <matrix: output> - output matrix
inlets: 1 <matrix: input> - multiply matrix with given right or left operand
2 <matrix: op> - set right or (with swap enabled) left matrix multiplication operand
outlets: 1 <matrix: output> - output matrix