Talk:Daubechies wavelet
![]() | This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||
|
Formatting issues
Should the table of the "Orthogonal Daubechies Coefficients" have several fewer columns? The way it is now, the table does not fit in my browser window (on a 19" screen), and I doubt having that many numbers adds any value to the article. Also, maybe only on my screen, the table at the bottom overlaps the pictures. Probably, the pictures should all be aligned to the right. Comments? Oleg Alexandrov 18:49, 8 Mar 2005 (UTC)
A question
What means the two parameters 7/9 in Daubechies 7/9? anybody knows? I think it should be explained in the article. I cannot find anything about it in the web tutorials.
- It means that the Wavelet isn't symmetric. The Scaling Function has 9 coefficients (9-Tap), and the Wavelet Function has 7 (7-Tap). Non-symetric wavelets are useful in image processing because they require less processing. Seabhcán 10:27, 31 Mar 2005 (UTC)
- In fact, the 5/3 and 9/7 biorthogonal wavelets are widely used exactly because they are symmetric/antisymmetric and so have linear phase filter banks. In the analysis filter bank, the scaling low pass filter has 9 taps, the wavelet band pass filter has 7 taps. In the synthesis filter bank, the scaling filter has 7 taps and the wavelet filter 9 taps. --LutzL 11:48, 27 May 2005 (UTC)
- I think Daubechies 7/9 refers to the Cohen-Daubechies-Feauveau wavelets, which is not orthogonal and which is symmetric and it is used because of its symmetry. This has nothing to do amount of processing, but symmetry is wanted because this guarants an equal treatment e.g. of left and right edges.
- You're right, I meant it isnt orthogonal, not it isn't symetric. But it does have lower processing requirements. Seabhcán 14:06, 29 March 2006 (UTC)
Related: It's unclear what "tap" is even referring to. The article simply starts using the word "tap" without providing a defintion. What is a tap? — Preceding unsigned comment added by Mcskwayrd (talk • contribs) 05:39, 21 October 2023 (UTC)
A question (wrt. the 2D wavelet)
??? >>>ORIGINAL Q - 21 Sept. 2006
Why, in the article, a 3 dimensional picture of a D(20) referred to as a 2-d wavelet? Is this a misprint or are the two not related to one another? Please explain? Thanks... Yaroslav (21 September 2006)
- For the same reason that there is a 2 dimensional picture for the 1D wavelets: It's a functions graph. The 2D wavelets are nothing but the product of a wavelet function in x and a wavelet funktion in y dirction, . However, the graph is not very good since the used approximation of the wavelet function is very coarse.--LutzL 15:00, 21 September 2006 (UTC)
??? >>>FOLLOW UP 1 - 22 Sept. 2006
Thanks a lot LutzL - the answer helped. But just to clarify, please answer the following:
(1) Does 1D and 2D refer to Wavelet (Mother) and Scaling (Father) Functions, where 1D (Mother) and 2D (Mother and Father)?
(2) Is 1D and 2D wavelets are a form of wavelet classification?
(3) Is it applicable only to Daubechies wavelet transforms?
(4) Is there such a thing as a 3D wavelet?
Thanks again. Yaroslav (22 September 2006)
- (1) No, 1D, 2D, 3D,... refers to the dimension of the domain space of the wavelet and scaling functions.
- (2) Yes, one can classify wavelets by the dimension of their domain space, and further if they are non-separable or are tensor-wavelets.
- (3) The Daubechies series of wavelet transforms is purely 1D. From every 1D wavelet on can construct tensor wavelets for any dimension of the domain space, one applies the 1D-transform to each dimension seperately.
- (4) Yes, but either it is (trivial and) a tensor wavelet or heavily complicated. The design (of the filter sequences) of higher dimensional non-sep smooth wavelets is a heavy theoretical and computational task, the implementation of a multidimensional filter mask is equally heavy to execute, the neat tricks of 1D transforms such as lifting do not carry over easyly.
- --You can sign with ~~~~ for name/IP and date or ~~~~~ to add the date to your name.
- --LutzL 16:02, 22 September 2006 (UTC)
??? >>>FOLLOW UP 2 - 25 Sept. 2006
From FOLLOW UP 1: '(1) No, 1D, 2D, 3D,... refers to the dimension of the domain space of the wavelet and scaling functions'. As an example, if we assume a 3D space of XYZ, then would the 'domain space' be X & Y (2D)? Yaroslav (25 September 2006)
A question about coefficients of Synthesis filter banks
I have another question about this tutorial. The analysis coefficients are given in the page, however is it possible to derive the corresponding coefficients for synthesis filter banks from the coefficients already given? —The preceding unsigned comment was added by 137.205.8.2 (talk) 16:04, 21 April 2007 (UTC).
- Hi, please read again the article, the algorithm for the synthesis coefficients is already there. In short, one just has to reverse the analysis sequence. That's why the Daubechies wavelets are orthogonal (or CQF).--LutzL 08:01, 23 April 2007 (UTC)
- PS: Sorry, the wavelet part of WP was messed around by different authors without ever getting into a consistent state. The part that is refered to as "above" dealing with this problem is now in an extra page orthogonal wavelet.--LutzL 08:05, 23 April 2007 (UTC)
D18 is wrong
I presume the scaling filter D18 in the table is wrong. The sum of the function is 2.00589431 and it is extremely away from 2 compared with other filters in the table.
Actually, WT and IWT with the filter have not made a round-trip.--U3002 11:44, 6 September 2007 (UTC)
- Freshly recomputed the values, they should be
- 0.0538503495893256002938669913355, 0.344834303813955884022358807362, 0.855349064359415132589782756294, 0.929545714366294680245423892326, 0.188369549506367558166635349778, -0.414751761801876984688928276295, -0.136953549024766197207530847836, 0.210068342279012384309087440949, 0.0434526754612290872323451760615, -0.0956472641201940521884294720076, 0.000354892813233037828625936077981, 0.0316241658525117260250768298826, -0.00667962022627715496448604519801, -0.00605496057509013186633408627538, 0.00261296728049449139578039971105, 0.000325814671352184426090225377209, -0.000356329759021555335019716207419, 5.56455140343097156546388203637E-5
- so far, the third is slightly wrong. An e-4 should have been an e-3. If the values in the table were just copied from "ten lectures", then perhaps the correction shortly after publication was missed.--LutzL 16:24, 6 September 2007 (UTC)
- Freshly recomputed the values, they should be
Working matlab code?
The provided code does not work "as is" in Matlab as the paragraph above it would lead you to believe. Matlab does not come with a function 'S' by default, so some further explanation is needed.
If there are other libraries or extensions necessary to make the code run, or if the user needs to run any preliminary expressions, then that should be stated clearly. Likewise it should also be indicated if any of the functions or variables in the code refer to any possible user-defined functions or variables. —Preceding unsigned comment added by 98.199.61.19 (talk) 22:09, 28 April 2008 (UTC)
- Ehm, S is the input Signal? A simple array of length N (even)? Nevertheless, it should be explained.--LutzL (talk) 07:12, 29 April 2008 (UTC)
- There are more problems. The article claims that the detail coefficients are [x(3), -x(2), x(1), -x(0)], but if you look at the output from the code (I could not understand the code itself at all, it does way too much magic for me) and scale it by sqrt(2) you can see that the coefficients used are [-x(3), x(2), -x(1), x(0)], ie. the signs are reversed. Which is "wrong" -- the code or the article? -Sesse (talk) 16:22, 5 May 2008 (UTC)
- Both sign versions are correct, one only needs to take care when implementing the inverse transform. There is no way to decide which version is better.--LutzL (talk) 09:57, 6 May 2008 (UTC)
- The article should state that this is the LIFTING SCHEME implementation of the D4 wavelet transform and refer to the paper of Sweldens and Daubechies where the lifting coefficients are given.Goossensb (talk) 16:46, 15 May 2008 (UTC)
- There are more problems. The article claims that the detail coefficients are [x(3), -x(2), x(1), -x(0)], but if you look at the output from the code (I could not understand the code itself at all, it does way too much magic for me) and scale it by sqrt(2) you can see that the coefficients used are [-x(3), x(2), -x(1), x(0)], ie. the signs are reversed. Which is "wrong" -- the code or the article? -Sesse (talk) 16:22, 5 May 2008 (UTC)
Unnormalized wavelet values
What is the benefit of using the wavelet values normalized to sum up to 2?
For example for D4, I frequently see the values
0.4829629131445341, 0.83651630373780772, 0.22414386804201339, -0.12940952255126034
Which are not normalized, but the direct values etc. --138.246.2.177 (talk) 16:57, 4 November 2010 (UTC)
Matlab: Part II
Upon trying the code (direct copy/paste) in Matlab with S being a column vector of 512 elements between 0-255 (e.g., image row), the result (after transform and inverse transform) did not come anywhere close to being the original array. In my most recent attempt the sum of the absolute values between the original S and final S (after forward and inverse transform) was 10703. My best guess is that there are some issues with the ends of the arrays. — Preceding unsigned comment added by 216.45.196.90 (talk) 20:44, 26 August 2011 (UTC)
- Did more testing on this code. Forward transform was good, inverse transform needed some minor changes. I have verified the changes with Octave. Found this link[1] to be quite helpful. — Preceding unsigned comment added by 216.45.196.90 (talk) 21:00, 29 August 2011 (UTC)
Applications?
I'm to lazy to read all of the article, but I can see directly that it's missing a section about the applications of Daubechies wavelets. That's probably what is the most interesting to read about, so they should be mentioned in the article. —Kri (talk) 21:32, 20 November 2012 (UTC)
- Please consult discrete wavelet transform and wavelet compression and tell there (and if necessary here) what is missing.--LutzL (talk) 13:14, 21 November 2012 (UTC)
- A section about the applications is what is missing. —Kri (talk) 16:05, 21 November 2012 (UTC)
Support of wavelets
The support of dbN is (2N - 1). See Daubechies' Ten Lectures on Wavelets, p. 194.