• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pywt.waverec函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中pywt.waverec函数的典型用法代码示例。如果您正苦于以下问题:Python waverec函数的具体用法?Python waverec怎么用?Python waverec使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了waverec函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: waverec_lin

def waverec_lin(x,wavelet,mode="per",sc_lengths=None):
    """Reconstructs the timeseries from the wavelet-coefficients as returned by wavedec_lin.""" 
    assert len(x.shape) in [1,2], "Only 1d and 2d-arrays supported up to now!"
    if sc_lengths != None:
        assert sum(sc_lengths) == x.shape[0], "The values given for sc_lengths don't make sense!"
    else:
        sc_lengths = []
        l = x.shape[0]
        while l>1:
            l/=2
            sc_lengths.insert(0,l)
        sc_lengths.insert(0,l)
        assert sum(sc_lengths) == x.shape[0], "The values automatically calculated for sc_lengths don't make sense!"
            
    if len(x.shape) == 1:
        wts = []
        for j in range(len(sc_lengths)):
            offset = sum(sc_lengths[:j])
            wts.append(x[offset:offset+sc_lengths[j]])
        rv = waverec(wts,wavelet,mode=mode)
    else: #len(x.shape)==2
        for i in range(x.shape[1]):
            wts = []
            for j in range(len(sc_lengths)):
                offset = sum(sc_lengths[:j])
                wts.append(x[offset:offset+sc_lengths[j],i])
            if i==0:
                ar = waverec(wts,wavelet,mode=mode)
                rv = n.zeros((ar.shape[0],x.shape[1]),"d")
                rv[:,i] = ar
            rv[:,i] = waverec(wts,wavelet,mode=mode)
    return rv
开发者ID:thorstenkranz,项目名称:eegpy,代码行数:32,代码来源:wavelet.py


示例2: wavelet_trasnform

def wavelet_trasnform(sig):
    mode = pywt.Modes.smooth
    w = 'coif3'
    w = pywt.Wavelet(w)
    
#    hasil=[]
#    for n in range(data.shape[0]):
        #dd = data[n,1:24]
    ca = []
    cd = []
    for i in range(5):
            (a, d) = pywt.dwt(sig, w, mode)
            ca.append(a)
            cd.append(d)
    rec_a = []
    rec_d = []
    for i, coeff in enumerate(ca):
        coeff_list = [coeff, None] + [None] * i
        rec_a.append(pywt.waverec(coeff_list, w))
    for i, coeff in enumerate(cd):
        coeff_list = [None, coeff] + [None] * i
        rec_d.append(pywt.waverec(coeff_list, w))
#    hasil.append(rec_a[0])
        
    return rec_a[0];
开发者ID:tjipenk,项目名称:py_proj,代码行数:25,代码来源:wavelet_denoise.py


示例3: ApproximationsV

def ApproximationsV(data, family, levels):
    """
    get approximation reconstrutions at different levels
    for a DWT family.
    returns levels+1 arrays with A[0]=full reconstruction,
    and A[1]=first approx, A[levels] is smoothest
    """
    # subtract off mean data
    meandata=np.mean(data)
    #meandata=0.0
    # get DWT coefficients
    coeffs = pywt.wavedec(data-meandata, family, mode='sym',level=Nlevels)
    lcoeffs=len(coeffs)
    for i,l in enumerate(coeffs):
        vl=np.var(l)
        l[:]=vl
        coeffs[i]=l
    #print "len coeffs",lcoeffs
    #for i in coeffs: print len(i)
    # reconstruct approximations
    A=[]
    c=pywt.waverec(coeffs,family,mode='sym')
    A.append(np.array(c)+meandata)
    for j in range(Nlevels,0,-1):
        coeffs[j][0:]=0.0
        c=pywt.waverec(coeffs,family,mode='sym')
        A.append(np.array(c)+meandata)
    return A
开发者ID:rfearick,项目名称:leveldensity,代码行数:28,代码来源:simlibx.py


示例4: wave_stein_filter

def wave_stein_filter(y, sigma, tau, w):
    coeffs = pywt.wavedec(y, w)
    threshold = sigma * tau
    hcoeffs = []
    for scale, x in enumerate(coeffs):
            hcoeffs.append(stein_thresholding(x, threshold))
    return pywt.waverec(hcoeffs, w)
开发者ID:adelecourot,项目名称:Denoising,代码行数:7,代码来源:utils.py


示例5: wave_semisoft_filter

def wave_semisoft_filter(y, sigma, tau, w, mu):
    coeffs = pywt.wavedec(y, w)
    threshold = sigma * tau
    hcoeffs = []
    for scale, x in enumerate(coeffs):
            hcoeffs.append(thresholding_semisoft(x, threshold, mu))
    return pywt.waverec(hcoeffs, w)
开发者ID:adelecourot,项目名称:Denoising,代码行数:7,代码来源:utils.py


示例6: haar

def haar(vals, p=80):
	hC = pywt.wavedec(vals,'haar')
	cutVal = np.percentile(np.abs(np.concatenate(hC)), p)
	for A in hC:
		A[np.abs(A) < cutVal] = 0
	tVals = pywt.waverec(hC,'haar')
	return tVals[:len(vals)]
开发者ID:zyndagj,项目名称:bioitools,代码行数:7,代码来源:smoothers.py


示例7: denoise

def denoise(nblck,filename,mode='sym', wv='sym5' ):
    from statsmodels.robust import mad
    #noisy_coefs = pywt.wavedec(nblck, 'sym5', level=5, mode='per')
    noisy_coefs = pywt.wavedec(nblck, wavelet=wv,   mode=mode) #level=5,  #dwt is for single level decomposition; wavedecoding is for more levels
    sigma = mad(noisy_coefs[-1])
    #uthresh=np.std(ca)/2
    uthresh = sigma*np.sqrt(2*np.log(len(nblck)))
    denoised = noisy_coefs[:]
    denoised[1:] = [pywt.threshold(i, value=uthresh,mode='soft') for i in denoised[1:]]
    signal = pywt.waverec(denoised, wavelet=wv, mode=mode)
    from matplotlib import pyplot as plt
    fig, axes = plt.subplots(1, 2, sharey=True, sharex=True,figsize=(8,4))
    ax1, ax2 = axes
    
    ax1.plot(signal)
    #ax1.set_xlim(0,2**10)
    ax1.set_title("Recovered Signal")
    ax1.margins(.1)
    
    ax2.plot(nblck)
    ax2.set_title("Noisy Signal")
    
    for ax in fig.axes:
        ax.tick_params(labelbottom=False, top=False, bottom=False, left=False,       right=False)
    fig.tight_layout()
    fig.savefig(filename+'_'+wv+'.pdf')
    plt.clf()
    return signal
开发者ID:abnarain,项目名称:malware_detection,代码行数:28,代码来源:wavelet_analysis.py


示例8: generateCompression

def generateCompression(cumHist, wavelet, compression):
	# Do a full multilevel wavelet decomposition until some level/resolution
	coeffs = pywt.wavedec(cumHist, wavelet)

	# Reduce trailing equal values from vectors
	vectors, lengths = reduceVectors(coeffs, 0.01)

	# Overwrite least significant detail coefficients in coeffs with 0-arrays (simulating removal)
	if compression < len(vectors):
		for i in range(compression,len(vectors)):
			arraySize = len(vectors[i])
			vectors[i] = np.zeros(arraySize)
	
	# Generate statistics
	stored = len(lengths)
	traildel = 0
	for i in range(0,min(len(vectors), compression)):
		stored += len(vectors[i])
		traildel += lengths[i] - len(vectors[i])
	
	# Restore trailing equal values
	restoredCoeffs = restoreVectors(vectors, lengths)

	# Do a full multilevel wavelet reconstruction from coeffs (zero-padded)
	recCumHist = pywt.waverec(restoredCoeffs, wavelet)
	return restoredCoeffs, recCumHist, stored, traildel, coeffs
开发者ID:pombredanne,项目名称:phd-motiondetectionindex,代码行数:26,代码来源:wavecomp.py


示例9: filterData

	def filterData(self, icurr, Fs):
		"""
			Denoise an ionic current time-series and store it in self.eventData

			:Parameters:
				- `icurr` :	ionic current in pA
				- `Fs` :	original sampling frequency in Hz
		"""
		# self.eventData=icurr
		self.Fs=Fs

		# Set up the wavelet
		w=pywt.Wavelet(self.waveletType)

		# Calculate the maximum wavelet level for the data length
		self.maxWaveletLevel=pywt.dwt_max_level(len(icurr), filter_len=w.dec_len)

		# Perform a wavelet decomposition to the specified level
		wcoeff = pywt.wavedec(icurr, w, mode='sym', level=self.waveletLevel)

		# Perform a simple threshold by setting all the detailed coefficients
		# up to level n-1 to zero
		thresh=np.std(wcoeff[-1])*self._thselect(wcoeff, self.waveletThresholdSubType)
		thrfunc=self.thrtypedict[self.waveletThresholdType]

		# print thresh, np.std(wcoeff[-1])
		wcoeff[1:] = [ thrfunc(wc, thresh) for wc in wcoeff[1:] ]
		# for i in range(1, self.waveletLevel):
		# 	wcoeff[-i]=np.zeros(len(wcoeff[-i]))

		# Reconstruct the signal with the thresholded wavelet coefficients
		self.eventData = pywt.waverec(wcoeff, self.waveletType, mode='sym')
开发者ID:abalijepalli,项目名称:mosaic,代码行数:32,代码来源:waveletDenoiseFilter.py


示例10: _call

    def _call(self, coeff):
        """Compute the discrete 1D, 2D or 3D inverse wavelet transform.

        Parameters
        ----------
        coeff : `DiscreteLpVector`

        Returns
        -------
        arr : `DiscreteLpVector`

        """
        if len(self.range.shape) == 1:
            coeff_list = array_to_pywt_coeff(coeff, self.size_list)
            x = pywt.waverec(coeff_list, self.wbasis, self.mode)
            return self.range.element(x)
        elif len(self.range.shape) == 2:
            coeff_list = array_to_pywt_coeff(coeff, self.size_list)
            x = pywt.waverec2(coeff_list, self.wbasis, self.mode)
            return self.range.element(x)
        elif len(self.range.shape) == 3:
            coeff_dict = array_to_pywt_coeff(coeff, self.size_list)
            x = wavelet_reconstruction3d(coeff_dict, self.wbasis, self.mode,
                                         self.nscales)
            return self.range.element(x)
开发者ID:NikEfth,项目名称:odl,代码行数:25,代码来源:wavelet.py


示例11: soft_threshold

def soft_threshold(bins, tau, level=1, plot=False):
        coeffs = pywt.wavedec(bins, 'haar', level=level)
        old_coeffs = copy.deepcopy(coeffs) if plot else None
        coeffs[1:] = [sign(a) * np.maximum(0, abs(a)-tau) for a in coeffs[1:] ]
        filtered = pywt.waverec(coeffs, 'haar')

        if plot:
                from matplotlib import pyplot as pl
                fig = pl.figure(figsize=(15,8))
                fig.suptitle("Level %d Wavelet Decomposition" % level)
                fig.subplots_adjust(hspace=0.3, wspace=0.3)

                ax = fig.add_subplot(2,1,1)
                ax.plot(bins, label='Raw')
                ax.plot(filtered, label='Filtered')
                ax.legend()

                ax = fig.add_subplot(2,level,1+level)
                ax.set_title("Approximation coefficients")
                ax.plot(coeffs[0])
                for l in range(1,level):
                        ax = fig.add_subplot(2, level, 1+l+level)
                        ax.plot(old_coeffs[l])
                        ax.axhline(-tau, color='g'); ax.axhline(+tau, color='g')
                        ax.set_title("Level %d detail coefficients" % l)

                fig.savefig('wavelet-analysis.pdf')

        return filtered
开发者ID:bgamari,项目名称:photon-tools,代码行数:29,代码来源:wavelet_denoise.py


示例12: filter

    def filter(self):

        if self.level > self.max_dec_level():
            clevel = self.max_dec_level()
        else:
            clevel = self.level

        # decompose
        coeffs = pywt.wavedec(self.sig, pywt.Wavelet(self.wt), \
                              mode=self.mode, \
                              level=clevel)

        # threshold evaluation
        th = sqrt(2 * log(len(self.sig)) * power(self.sigma, 2))

        # thresholding
        for (i, cAD) in enumerate(coeffs):
            if i == 0:
                continue
            coeffs[i] = sign(cAD) * pywt.thresholding.less(abs(cAD), th)

        # reconstruct
        rec_sig = pywt.waverec(coeffs, pywt.Wavelet(self.wt), mode=self.mode)
        if len(rec_sig) == (len(self.sig) + 1):
            self.sig = rec_sig[:-1]
开发者ID:ftilmann,项目名称:miic,代码行数:25,代码来源:wt_fun.py


示例13: denoise

 def denoise(self, data, wavelet):
     noiseSigma = median(absolute(data - median(data))) / 0.6745
     levels = int(floor(log(len(data))))
     WC = pywt.wavedec(data, wavelet, level=levels)
     threshold = noiseSigma * sqrt(2 * log(len(data)))
     NWC = map(lambda x: pywt.thresholding.hard(x, threshold), WC)
     return pywt.waverec(NWC, wavelet)
开发者ID:Fazi99,项目名称:Lab,代码行数:7,代码来源:MODIS_EVI_Wavelet.py


示例14: _wm_reverse

    def _wm_reverse(self, wd):
        if __debug__:
            debug('MAP', "Performing iDWT")
        signal = None
        wd_offsets = [0] + list(np.cumsum(self.lengths))
        nlevels = len(self.lengths)
        Ntime_points = self._intimepoints #len(time_points)
        # unfortunately sometimes due to padding iDWT would return longer
        # sequences, thus we just limit to the right ones

        for indexes in _get_indexes(wd.shape, self._dim):
            if __debug__:
                debug('MAP_', " %s" % (indexes,), lf=False, cr=True)
            wd_sample = wd[indexes]
            wd_coeffs = [wd_sample[wd_offsets[i]:wd_offsets[i+1]] for i in xrange(nlevels)]
            # need to compose original list
            time_points = pywt.waverec(
                wd_coeffs, wavelet=self._wavelet, mode=self._mode)
            if signal is None:
                newdim = list(wd.shape)
                newdim[self._dim] = Ntime_points
                signal = np.empty(newdim)
            signal[indexes] = time_points[:Ntime_points]
        if __debug__:
            debug('MAP_', "")
            debug('MAP', "Done iDWT. Total size %s" % (signal.shape, ))
        return signal
开发者ID:PyMVPA,项目名称:PyMVPA,代码行数:27,代码来源:wavelet.py


示例15: test_waverec_axis_db2

def test_waverec_axis_db2():
    # test for fix to issue gh-293
    rstate = np.random.RandomState(0)
    data = rstate.standard_normal((16, 16))
    for axis in [0, 1]:
        coefs = pywt.wavedec(data, 'db2', axis=axis)
        rec = pywt.waverec(coefs, 'db2', axis=axis)
        assert_allclose(rec, data, atol=1e-14)
开发者ID:HenryZhou1002,项目名称:pywt,代码行数:8,代码来源:test_multilevel.py


示例16: visu_shrink_denoise

def visu_shrink_denoise(f, wave, v):
    true_coefs = pywt.wavedec(f, wave, level=2)
    res = [visu_shrink(coef) for coef in true_coefs]
    den_coefs, thresholds = zip(*res)
    den_coefs = list(den_coefs)
    #den_coefs.insert(0, true_coefs[0])
    f_denoised = pywt.waverec(den_coefs, wave)
    return f_denoised
开发者ID:Upward-Spiral-Science,项目名称:orange-panda,代码行数:8,代码来源:denoise.py


示例17: rmatvec

 def rmatvec(x):
     x_list = []
     count = 0
     for el in b:
         n_el = np.asarray(el).size
         x_list.append(np.array(x[count:count+n_el]))
         count += n_el
     return pywt.waverec(x_list, wavelet, mode=mode)
开发者ID:esoubrie,项目名称:lo,代码行数:8,代码来源:pywt_lo.py


示例18: sure_shrink_denoise

def sure_shrink_denoise(f, wave, v):
    true_coefs = pywt.wavedec(f, wave, level=None)
    res = [sure_shrink_fast(coef) for coef in true_coefs[1:]]
    den_coefs, thresholds = zip(*res)
    den_coefs = list(den_coefs)
    den_coefs.insert(0, true_coefs[0])
    f_denoised = pywt.waverec(den_coefs, wave)
    return f_denoised
开发者ID:Upward-Spiral-Science,项目名称:orange-panda,代码行数:8,代码来源:denoise.py


示例19: idwt

def idwt(E):
	# print E
	E_rep=E.tolist()[0:2]
	for i in range(1,int(pow(len(E),0.5))):
		E_rep.append(E[pow(2,i):pow(2,i+1)])
	E_idwt=pywt.waverec(E_rep,'db1')
	# print E_idwt
	return matrix(E_idwt)
开发者ID:pinkeshb,项目名称:radiosity,代码行数:8,代码来源:wavedecs.py


示例20: waveletDenoise

def waveletDenoise(data, threshold=1, wavelet='haar'):
    """ Wavelet denoise test """
    # Decompose
    wl_dec = pywt.wavedec(data, pywt.Wavelet(wavelet))
    # Threshold
    wl_thr = map(lambda x: pywt.thresholding.soft(x, threshold), wl_dec)
    # Reconstruct
    return pywt.waverec(wl_thr, wavelet)
开发者ID:telegraphic,项目名称:hipsr_reduction,代码行数:8,代码来源:bandpass4.py



注:本文中的pywt.waverec函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python pywt.waverec2函数代码示例发布时间:2022-05-26
下一篇:
Python pywt.wavelist函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap