Following on from a previous question posted by @xslittlegrass and answered by @Sector and others, Extracting information from the result of ContinuousWaveletTransform I'd like to know if it is possible to recover the amplitude of the original Sin components from the wavelet power spectra. In the original post all four Sin components had amplitude 1 but lets say they were 1,2,3 and 4, can we recover that from the wavelet coefficients? The coefficients are larger than 1 (if you execute the following statement after the lines in the original post you see the values of the coefficients).
ListDensityPlot[Reverse[Abs[cwd[All, "Values"]]] , PlotRange -> All, AspectRatio -> 1/GoldenRatio, PlotLegends -> Automatic, PlotRangePadding -> None]
(note, using WaveletScalogram[cwd, ColorFunction -> "RustTones", PlotLegends -> Automatic] shows that the scalogram color scale is normalized to 1)
I was hoping it would be possible to do this based on reading Torrence and Compo if I understand correctly (http://paos.colorado.edu/research/wavelets/ see page 68 of their paper from the link, in the Reconstruction section). Here it is shown that the original data can be reconstructed using a different wavelet from the one used to produce the CWT; in particular a delta function will do.
So here's the naive question expanded into a couple of parts: Can I call these (suitably scaled) wavelet coefficients the instantaneous power spectrum in Fourier space? If I use the Morlet wavelet the Fourier period is 1.03*the wavelet scale, so only a small adjustment would need to be made to convert it to frequency space from wavelet space.
Also: @endolith from the signal-processing stackexchange illustrated nicely how to preserve the sign of the original data in the scalogram using a bipolar colormap: https://dsp.stackexchange.com/questions/7911/reading-the-wavelet-transform-plot (here's the actual scalogram: https://i.stack.imgur.com/8w6YK.jpg)
I guess we can multiply the CWT coefficients by the sign of the original data and overlay two images with different colormaps, one for the - values and one for the + values. Is there a simpler way to do that with CWT in mathematica?
@Sector has kindly implemented the complex Morlet wavelet in Mathematica at the following link (the Mathematica implementation is for the real Morlet wavelet only). Continuous wavelet transform with complex Morlet function which is where I originally started to ask this question as a comment, but realized it was really a new question. It might be that I am completely missing the point and that there's no correspondence whatsoever between wavelet coefficients and instantaneous frequency component amplitudes, or that by definition "instantaneous" makes "frequency" in this context meaningless.