Main Content

otnodes

Order terminal nodes of binary wavelet packet tree

    Description

    [Tn_Pal,Tn_Seq] = otnodes(WPT) returns the terminal nodes of the binary wavelet packet tree, WPT, in Paley (natural) ordering, Tn_Pal, and sequency (frequency) ordering, Tn_Seq.

    example

    [Tn_Pal,Tn_Seq,I,J] = otnodes(WPT) returns the permutations of the terminal node indices such that Tn_Seq = Tn_Pal(I) and Tn_Pal = Tn_Seq(J).

    example

    [DP_Pal,DP_Seq] = otnodes(WPT,'dp') returns the Paley- and frequency-ordered terminal nodes in node depth-position format.

    example

    Examples

    collapse all

    Order terminal nodes with Paley and frequency ordering.

    x = randn(8,1);
    wpt = wpdec(x,2,'haar');
    [Tn_Pal,Tn_Seq] = otnodes(wpt)
    Tn_Pal = 4×1
    
         3
         4
         5
         6
    
    
    Tn_Seq = 4×1
    
         3
         4
         6
         5
    
    

    Return permutations for Paley and frequency ordering.

    load noisdopp;
    wpt = wpdec(noisdopp,6,'sym4');
    [Tn_Pal,Tn_Seq,I,J] = otnodes(wpt);
    isequal(Tn_Seq(J),Tn_Pal)
    ans = logical
       1
    
    
    isequal(Tn_Seq,Tn_Pal(I))
    ans = logical
       1
    
    

    Order terminal nodes by depth and position.

    x = randn(8,1);
    wpt = wpdec(x,2,'haar');
    [DP_Pal,DP_Seq] = otnodes(wpt,'dp')
    DP_Pal = 4×2
    
         2     0
         2     1
         2     2
         2     3
    
    
    DP_Seq = 4×2
    
         2     0
         2     1
         2     3
         2     2
    
    

    Create a wavelet packet tree. Split some of the tree nodes, then plot the modified tree.

    t = wptree(2,2,rand(1,512),"haar");
     t = wpsplt(t,4);
     t = wpsplt(t,5);
     t = wpsplt(t,10);
     plot(t)

    Figure contains 2 axes objects and other objects of type uimenu. Axes object 1 with title Tree Decomposition contains 25 objects of type line, text. Axes object 2 with title data for node: 0 or (0,0). contains an object of type line.

    In Node Label, select Index to get this figure:

    Obtain the terminal nodes in Paley (natural) ordering and sequency (frequency) ordering.

     [tn_Pal,tn_Seq,I,J] = otnodes(t);
     [tn_Pal,tn_Seq,I,J]
    ans = 7×4
    
         3     3     1     1
         9    21     3     4
        21    22     4     2
        22     9     2     3
        11     6     7     7
        12    12     6     6
         6    11     5     5
    
    

    Input Arguments

    collapse all

    Binary wavelet packet tree, specified as a wptree object. You can use treeord to determine the order of your wavelet packet tree.

    Output Arguments

    collapse all

    Terminal nodes in Paley (natural) ordering, returned as a N-by-1 column vector, where N is the number of terminal nodes.

    Terminal nodes in sequency ordering, returned as a N-by-1 column vector, where N is the number of terminal nodes.

    Permutations of Paley-ordered terminal node indices, returned as a N-by-1 column vector, where N is the number of terminal nodes. The permutations are such that Tn_Seq = Tn_Pal(I).

    Permutations of sequency-ordered terminal node indices, returned as a N-by-1 column vector, where N is the number of terminal nodes. The permutations are such that Tn_Pal = Tn_Seq(J).

    Paley-ordered terminal nodes in depth-position format, returned as a N-by-2 matrix, where N is the number of terminal nodes. The first column contains the depth index, and the second column contains the position index.

    Sequency-ordered terminal nodes in depth-position format, returned as a N-by-2 matrix, where N is the number of terminal nodes. The first column contains the depth index, and the second column contains the position index.

    More About

    collapse all

    References

    [1] Wickerhauser, Mladen Victor. Lectures on Wavelet Packet Algorithms, Technical Report, Washington University, Department of Mathematics, 1992.

    Version History

    Introduced in R2010b

    See Also

    |