This function makes a synthesis of a path in a filter bank, for each pixel of datapack DATA. It uses in cascade of reconstruction blocks Bi with i=1 to i=L=length(SEQ). Each reconstruction block Bi is formed by: 1) up-sampler by 2 2) gain of 2 3) Gj FIR FILTER, so that j=SEQ(L+1-i) The function accepts the filter H0 as input parameter, so that the filters G0 and G1 are calculated as $G0[Z]=H0[Z]$ and $G1[Z]= -H0[-Z]$. If H0 = [h0 h1 h2 ... h(M-1)] then your Z transform is: M2=floor(M/2); $H[Z] = h0 Z^{+M2} + h1 Z^{+M2-1} + ... h(M-1) Z^{+M2-(M-1)}$ H0 should be a low pass FIR filter with cut-off in pi/2 (for a 2*pi normalized frequency range). In order to get a perfect reconstruction it is necessary that $D[Z]=H0^2[Z]-H0^2[-Z]=A Z^C$ for any A and C. After starting the main routine just type the following command at the prompt: DATAOUT=firsynthesispath(DATA,H0,SEQ); Input: DATA is a speckle data pack. Where DATA is a 3D matrix created grouping NTIMES intensity matrices with NLIN lines and NCOL columns. When N=size(DATA0), then N(1,1) represents NLIN and N(1,2) represents NCOL and N(1,3) represents NTIMES. DATA is obtained after the down-sampler of output of H0 FIR filter in a step of a filter bank with low-pass filter H0. H0 is a vector with the parameters of a FIR filter. H0 should be a low pass filter with cut-off in pi/2 (for a 2*pi normalized frequency range). In order to get a perfect reconstruction is necessary that $D[Z]=H0^2[Z]-H0^2[-Z]=A Z^B$ for any A and B. SEQ is a vector with binary values. These values indicates the path in the decomposition scheme used to get the datapack DATA. Output: DATAOUT is a synthesis of the speckle datapack DATA. The number of images inside DATAOUT is 2^{L=length(SEQ)} times of the number of images of DATA. For help, bug reports and feature suggestions, please visit: http://nongnu.org/bsltl/
Package: bsltl