function X = ifdct_usfft(C,is_real)

% ifdct_usfft.m - Inverzni Rychla diskretni Fourierova transformace presFFT
% Vstupy
%   C           pole obsahujici tabulku koeficientu
%   is_real    typ transformace
%                    0: komplexne oceneny curvelet
%                   1: realne oceneny curvelet
%              [defaultne nastavena 0]
% 
% vystupy
%   X           N-az-N matice
% 
% popis
%    provadi metodu nejmensich ctvercu a inverzi FDCT v USFFT to je
%    priblizne inverzni k  CG,
%
% See also fdct_usfft, afdct_usfft
%
% By Emmanuel Candes, 2003-2004

  [m,n] = size(C{end}{1});
  
  if is_real
    C = fdct_usfft_r2c(C);
  end
  
  nscales = length(C);
  S = cell(1,nscales);
  L = log2(n) - nscales + 1;
   
  S{1} = Inv_CoarseCurveCoeff(C{1}{1});
  
  for s = 2:nscales -1
    S{s} = Inv_DetailCurveCoeff(C{s},is_real);
      end
  S{nscales} = Inv_FineCurveCoeff(C{nscales}{1});
  
  X = Adj_SeparateScales(S,L);
  
  if (is_real)
  	 X = real(X);
  end
  
