%     INVERZNE FWT


function  [slika]= ifwt (A,H,V,D)           

filt='db1';                     % odabrani filtar

[R,S]=size(A);

% transpozicija svih matrica
A=A';
H=H';
V=V';
D=D';

% pomocne varijable
pom1=zeros(1,R);
pom2=zeros(1,R);
M=zeros(S,2*R);

% iz A i H radim prvi dio medjustupnja
for i=1:S
    pom1=A(i,:);
    pom2=H(i,:);
    X1=idwt(pom1,pom2,filt);
    M(i,:)=X1;
end;


pom1=zeros(1,R);
pom2=zeros(1,R);
N=zeros(S,2*R);

% iz V i D radim drugi dio medjustupnja
for i=1:S
    pom1=V(i,:);
    pom2=D(i,:);
    X2=idwt(pom1,pom2,filt);
    N(i,:)=X2;
end;

% transpozicija matrica
M=M';
N=N';
   

%inicijaliziraj pomocne varijable
pom1=zeros(1,S);
pom2=zeros(1,S);
Q=zeros(2*R,2*S);

%rekonstruiraj signal
for i=1:(2*R)
    pom1=M(i,:);
    pom2=N(i,:);
    X3=idwt(pom1,pom2,filt);
    Q(i,:)=X3;
end;

slika=Q;
