Code covered by the BSD License  

Highlights from
LISQ - A toolbox for the lifting scheme on 2D quincunx grids

image thumbnail
from LISQ - A toolbox for the lifting scheme on 2D quincunx grids by Paul De Zeeuw
A toolbox for the lifting scheme on 2D quincunx grids and for the computation of moment invariants

NevilleR2Q(order)
function [NR, center] = NevilleR2Q(order)
%------------------------------------------------------------------------------
%
% The most simple version: R -> Q (R2Q) and downsampling over 1 level
%
% Creates stencil corresponding to Quincunx Neville filters.
%
% Reference:     v   
%     Jelena Kovacevic' and Wim Sweldens
%     IEEE Transactions on Image Processing, 1999.
%     (see esp. Table 2, p.18)
%
% See also: stencilR2Q
%
% Design and implementation by:
% Dr. Paul M. de Zeeuw <Paul.de.Zeeuw@cwi.nl>  http://homepages.cwi.nl/~pauldz/
% Last Revision: January 23, 2001.
%  2001-2002 Stichting CWI, Amsterdam
%------------------------------------------------------------------------------
if order == 2
  n = 3;
  NR = zeros(n);
%                         (1)
  NR( 1, 2) = 1;
  NR( 2, 1) = 1;
  NR( 2, 3) = 1;
  NR( 3, 2) = 1;
%
  NR = NR/(2^2);
  center = [(n+1)/2 (n+1)/2];
%----------------------------
elseif order == 4
  n = 5;
  NR = zeros(n);
%                         (1)
  NR(1+1, 1+2) = 10;
  NR(1+2, 1+1) = 10;
  NR(1+2, 1+3) = 10;
  NR(1+3, 1+2) = 10;
%                         (2)
  NR( 1, 2) = -1;
  NR( 1, 4) = -1;
  NR( 2, 5) = -1;
  NR( 4, 5) = -1;
  NR( 5, 2) = -1;
  NR( 5, 4) = -1;
  NR( 2, 1) = -1;
  NR( 4, 1) = -1;
%  
  NR = NR/(2^5);
  center = [(n+1)/2 (n+1)/2];
%----------------------------
elseif order == 6
  n = 7;
  NR = zeros(n);
%                         (1)
  NR(2+1, 2+2) = 174;
  NR(2+2, 2+1) = 174;
  NR(2+2, 2+3) = 174;
  NR(2+3, 2+2) = 174;
%                         (2)
  NR(1+1, 1+2) = -27;
  NR(1+1, 1+4) = -27;
  NR(1+2, 1+5) = -27;
  NR(1+4, 1+5) = -27;
  NR(1+5, 1+2) = -27;
  NR(1+5, 1+4) = -27;
  NR(1+2, 1+1) = -27;
  NR(1+4, 1+1) = -27;
%                         (3)
  NR( 1, 4) = 2;
  NR( 4, 7) = 2;
  NR( 7, 4) = 2;
  NR( 4, 1) = 2;
%                         (4)
  NR( 1, 2) = 3;
  NR( 1, 6) = 3;
  NR( 2, 7) = 3;
  NR( 6, 7) = 3;
  NR( 7, 2) = 3;
  NR( 7, 6) = 3;
  NR( 2, 1) = 3;
  NR( 6, 1) = 3;
%
  NR = NR/(2^9);
  center = [(n+1)/2 (n+1)/2];
%----------------------------
elseif order == 8
  n =11;
  NR = zeros(n);
%                         (1)
  NR(4+1, 4+2) = 23300;
  NR(4+2, 4+1) = 23300;
  NR(4+2, 4+3) = 23300;
  NR(4+3, 4+2) = 23300;
%                         (2)
  NR(3+1, 3+2) = -4470;
  NR(3+1, 3+4) = -4470;
  NR(3+2, 3+5) = -4470;
  NR(3+4, 3+5) = -4470;
  NR(3+5, 3+2) = -4470;
  NR(3+5, 3+4) = -4470;
  NR(3+2, 3+1) = -4470;
  NR(3+4, 3+1) = -4470;
%                         (3)
  NR(2+ 1, 2+ 4) = 625;
  NR(2+ 4, 2+ 7) = 625;
  NR(2+ 7, 2+ 4) = 625;
  NR(2+ 4, 2+ 1) = 625;
%                         (4)
  NR(2+ 1, 2+ 2) = 850;
  NR(2+ 1, 2+ 6) = 850;
  NR(2+ 2, 2+ 7) = 850;
  NR(2+ 6, 2+ 7) = 850;
  NR(2+ 7, 2+ 2) = 850;
  NR(2+ 7, 2+ 6) = 850;
  NR(2+ 2, 2+ 1) = 850;
  NR(2+ 6, 2+ 1) = 850;
%                         (5)
  NR( 2, 5) = -75;
  NR( 2, 7) = -75;
  NR( 5,10) = -75;
  NR( 7,10) = -75;
  NR(10, 5) = -75;
  NR(10, 7) = -75;
  NR( 5, 2) = -75;
  NR( 7, 2) = -75;
%                         (6)
  NR( 1, 6) =   9;
  NR( 6,11) =   9;
  NR(11, 6) =   9;
  NR( 6, 1) =   9;
%                         (7)
  NR( 2, 3) = -80;
  NR( 2, 9) = -80;
  NR( 3,10) = -80;
  NR( 9,10) = -80;
  NR(10, 3) = -80;
  NR(10, 9) = -80;
  NR( 3, 2) = -80;
  NR( 9, 2) = -80;
%
  NR = NR/(2^16);
  center = [(n+1)/2 (n+1)/2];
%----------------------------
else
  error(' Neville - order other than 2 4 6 8 not available ')
end
%------------------------------------------------------------------------------

Contact us at files@mathworks.com