putD.mwd             package:wavethresh             R Documentation

_P_u_t _w_a_v_e_l_e_t _c_o_e_f_f_i_c_i_e_n_t_s _i_n_t_o _m_u_l_t_i_p_l_e _w_a_v_e_l_e_t _s_t_r_u_c_t_u_r_e

_D_e_s_c_r_i_p_t_i_o_n:

     The wavelet coefficients from a multiple wavelet decomposition
     structure, 'mwd.object', (e.g. returned from 'mwd') are packed
     into a single matrix in that structure. This function copies the
     'mwd.object', replaces some wavelet coefficients in the copy, and
     then returns the copy.

_U_s_a_g_e:

     putD.mwd(mwd, level, M, boundary = FALSE, index = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

     mwd: Multiple wavelet decomposition structure whose coefficients
          you wish to replace.

   level: The level that you wish to replace.

       M: Matrix of replacement coefficients.

boundary: If 'boundary' is 'FALSE' then only the "real" data is
          replaced (and it is easy to predict the required length of
          'M'). If 'boundary' is 'TRUE' then you can replace the
          boundary values at a particular level as well (but it is hard
          to predict the required length of'M', and the information has
          to be obtained from the 'mfirst.last' database component of
          'mwd').

   index: If index is 'TRUE' then the index numbers into the 'mwd$D'
          array where the matrix 'M' would be stored is returned.
          Otherwise, (default) the modified 'mwd.object' is returned. 

     ...: any other arguments

_D_e_t_a_i_l_s:

     The 'mwd' function produces a wavelet decomposition structure. 

     The need for this function is a consequence of the pyramidal
     structure of Mallat's algorithm and the memory efficiency gain
     achieved by storing the pyramid as a linear matrix of
     coefficients. PutD obtains information about where the wavelet
     coefficients appear from the fl.dbase component of mwd, in
     particular the array 'fl.dbase$first.last.d' which gives a
     complete specification of index numbers and offsets for 'mwd$D'. 

     Note also that this function only puts information into mwd class
     objects. To extract coefficients from mwd structures you have to
     use the accessD.mwd function. 

     See Downie and Silverman, 1998.

_V_a_l_u_e:

     An object of class 'mwd.object' if index is 'FALSE', otherwise the
     index numbers indicating where the 'M' matrix would have been
     inserted into the 'mwd$D' object are returned.

_R_E_L_E_A_S_E:

     Version 3.9.6 (Although Copyright Tim Downie 1995-6).

_S_e_e _A_l_s_o:

     'accessC.mwd', 'accessD.mwd', 'draw.mwd', 'mfirst.last',
     'mfilter.select', 'mwd', 'mwd.object', 'mwr', 'plot.mwd',
     'print.mwd', 'putC.mwd', 'summary.mwd', 'threshold.mwd', 'wd',
     'wr.mwd'.

_E_x_a_m_p_l_e_s:

     #
     # Generate an mwd object
     #
     tmp <- mwd(rnorm(32))
     #
     # Now let's examine the finest resolution detail...
     #
     accessD(tmp, level=3)
     #          [,1]       [,2]       [,3]      [,4]       [,5]        [,6] 
     #[1,] 0.8465672  0.4983564  0.3408087 0.1340325  0.5917774 -0.06804291
     #[2,] 0.6699962 -0.2535760 -1.0344445 0.2068644 -0.4912086  1.16039885
     #           [,7]       [,8] 
     #[1,] -0.6226445  0.2617596
     #[2,] -0.4956576 -0.5555795
     #
     #
     # A matrix. There are two rows one for each mother wavelet in this 
     # two-ple multiple wavelet transform and at level 3 there are 2^3 columns.
     #
     # Let's set the coefficients of the first mother wavelet all equal to zero
     # for this example
     #
     newdmat <- accessD(tmp, level=3)
     newdmat[1,] <- 0
     #
     # Ok, let's insert it back at level 3
     #
     tmp2 <- putD(tmp, level=3, M=newdmat)
     #
     # And check it
     #
     accessD(tmp2, level=3)   
     #          [,1]      [,2]      [,3]      [,4]       [,5]     [,6]       [,7] 
     #[1,] 0.0000000  0.000000  0.000000 0.0000000  0.0000000 0.000000  0.0000000
     #[2,] 0.6699962 -0.253576 -1.034445 0.2068644 -0.4912086 1.160399 -0.4956576
     #           [,8] 
     #[1,]  0.0000000
     #[2,] -0.5555795
     #
     #
     # Yep, all the first mother wavelet coefficients at level 3 are now zero.

