title: Error using Daubechies 4 wavelet with scipy cwt
body: <p>I'm trying to convert a simple Matlab signal processing code into Python. I'm trying to use CWT on a Daubechies 4 (db4) using SciPy, but I receive the error <code>'numpy.ndarray' object is not callable</code>. I tried converting the np arrays to lists, but received <code>TypeError: 'list' object is not callable</code>.</p>
  <p>I also tried packages other than SciPy (as suggested on similar StackOverlow question <a href="https://stackoverflow.com/questions/23741839/what-is-the-equivalent-of-matlabs-cwt-in-python-continuous-1-d-wavelet-tran">here</a>) but ran into a couple issues. Based on errors I received in my code, I researched and found that pywt doesn't allow Daubechies wavelets for cwt (see related Github thread <a href="https://github.com/PyWavelets/pywt/issues/365" rel="nofollow noreferrer">here</a>). Matlab does allow this, and my source code that I am converting uses cwt with db4.</p>
  <p>Here is the example using SciPy. How can I fix it so that it doesn't throw the np error? Using Python 3.8.3 and scipy 1.3.2</p>
  <pre><code>import numpy as np
  from scipy import signal
  
  x = np. array([5.0000e-03, 2.5500e-01, 5.0500e-01, 7.5500e-01, 1.0050e+00,
         1.2550e+00, 1.5050e+00, 1.7550e+00, 2.0050e+00, 2.2550e+00,
         2.5050e+00, 2.7550e+00, 3.0050e+00, 3.2550e+00, 3.5050e+00,
         3.7550e+00, 4.0050e+00, 4.2550e+00, 4.5050e+00, 4.7550e+00,
         5.0050e+00, 5.2550e+00, 5.5050e+00, 5.7550e+00, 6.0050e+00,
         6.2550e+00, 6.5050e+00, 6.7550e+00, 7.0050e+00, 7.2550e+00,
         7.5050e+00, 7.7550e+00, 8.0050e+00, 8.2550e+00, 8.5050e+00,
         8.7550e+00, 9.0050e+00, 9.2550e+00, 9.5050e+00, 9.7550e+00,
         1.0005e+01, 1.0255e+01, 1.0505e+01, 1.0755e+01, 1.1005e+01,
         1.1255e+01, 1.1505e+01, 1.1755e+01, 1.2005e+01, 1.2255e+01,
         1.2505e+01, 1.2755e+01, 1.3005e+01, 1.3255e+01, 1.3505e+01,
         1.3755e+01, 1.4005e+01, 1.4255e+01, 1.4505e+01, 1.4755e+01,
         1.5005e+01, 1.5255e+01, 1.5505e+01, 1.5755e+01, 1.6005e+01,
         1.6255e+01, 1.6505e+01, 1.6755e+01, 1.7005e+01, 1.7255e+01,
         1.7505e+01, 1.7755e+01, 1.8005e+01, 1.8255e+01, 1.8505e+01,
         1.8755e+01, 1.9005e+01, 1.9255e+01, 1.9505e+01, 1.9755e+01,
         2.0005e+01, 2.0255e+01, 2.0505e+01, 2.0755e+01, 2.1005e+01,
         2.1255e+01, 2.1505e+01, 2.1755e+01, 2.2005e+01, 2.2255e+01,
         2.2505e+01, 2.2755e+01, 2.3005e+01, 2.3255e+01, 2.3505e+01,
         2.3755e+01, 2.4005e+01, 2.4255e+01, 2.4505e+01, 2.4755e+01,
         2.5005e+01, 2.5255e+01, 2.5505e+01, 2.5755e+01, 2.6005e+01,
         2.6255e+01, 2.6505e+01, 2.6755e+01, 2.7005e+01, 2.7255e+01,
         2.7505e+01, 2.7755e+01, 2.8005e+01, 2.8255e+01, 2.8505e+01,
         2.8755e+01, 2.9005e+01, 2.9255e+01, 2.9505e+01, 2.9755e+01,
         3.0005e+01, 3.0255e+01, 3.0505e+01, 3.0755e+01, 3.1005e+01,
         3.1255e+01, 3.1505e+01, 3.1755e+01, 3.2005e+01, 3.2255e+01,
         3.2505e+01, 3.2755e+01, 3.3005e+01, 3.3255e+01, 3.3505e+01,
         3.3755e+01, 3.4005e+01, 3.4255e+01, 3.4505e+01, 3.4755e+01,
         3.5005e+01, 3.5255e+01, 3.5505e+01, 3.5755e+01, 3.6005e+01,
         3.6255e+01, 3.6505e+01, 3.6755e+01, 3.7005e+01, 3.7255e+01,
         3.7505e+01, 3.7755e+01, 3.8005e+01, 3.8255e+01, 3.8505e+01,
         3.8755e+01, 3.9005e+01])
  
  y = np.array([-2.90025342e-03, -6.40420148e-02, -5.14428368e-02, -5.24396156e-02,
         -2.36905934e-02, -7.33774047e-02,  6.96917443e-01,  1.10640628e+00,
          2.14842575e+00,  3.59673555e+00,  4.73432960e+00,  6.49741055e+00,
          7.29974071e+00,  1.01759353e+01,  1.02030717e+01,  1.36557766e+01,
          1.41826988e+01,  7.76774453e+00,  3.82632036e+00, -2.70456335e+00,
         -1.96618648e+01, -3.66985195e+01,  2.99333347e+01,  2.36009095e+01,
          1.10220943e+01, -2.95258984e+00,  6.80386136e+00, -2.70166763e+01,
         -3.76209305e+01, -1.35082003e+01,  4.60503863e+00, -9.60422448e+00,
         -1.43916205e+01, -1.26012282e+01, -2.13207866e+01, -3.26687352e+01,
         -2.41891688e+01, -2.97832448e+00, -2.80885014e+00,  7.05782776e+00,
          7.75577641e+00,  7.42433815e+00,  1.71676749e+00,  1.79335514e+00,
          3.37780022e+00,  9.75024672e+00,  1.03110319e+01,  1.42435904e+00,
          2.48130497e+00,  6.72502952e+00,  5.29311955e+00,  1.02966186e+01,
          1.28654499e+01,  1.27711678e+01,  7.34488122e+00,  4.24580786e+00,
          3.43792737e+00,  7.14184919e+00,  5.87025700e+00,  2.82831733e+00,
          1.41092267e+00, -2.62424149e+00, -6.35504810e+00, -4.29696255e+00,
         -5.27593166e+00, -6.70304826e+00, -7.73215169e+00, -1.06058497e+01,
         -1.11609626e+01, -5.82899263e+00, -3.14857074e+00, -1.82479856e+00,
          1.73553141e+00,  4.10008240e+00,  1.95158521e+00,  6.46081039e-02,
          6.19934053e-01,  3.59542159e+00,  7.38641899e+00,  8.35768231e+00,
          8.65572196e+00,  7.42586536e+00,  5.86887591e+00,  5.36210626e+00,
          3.56410283e+00, -2.27375587e-01, -2.05785024e+00, -2.41085077e+00,
         -2.47258719e+00, -1.92065302e+00, -2.33531757e+00, -3.78717114e+00,
         -5.43768739e+00, -6.22146733e+00, -6.32672517e+00, -8.74872401e+00,
         -9.63365954e+00, -8.04706703e+00, -3.42860196e+00, -2.38901992e-02,
          2.16031975e+00,  4.84801654e+00,  6.73393543e+00,  7.56246002e+00,
          5.51142721e+00,  3.96078924e+00,  1.00253884e+00, -2.56086766e+00,
         -3.32289364e+00, -7.95432505e-01,  8.01013095e-01,  2.44769438e+00,
          2.83964569e+00,  4.17925704e+00,  4.31245244e+00,  2.89684591e+00,
          1.03658591e+00, -8.09516543e-01, -4.15390067e+00, -5.43798992e+00,
         -7.62820752e+00, -7.27063191e+00, -5.52509620e+00, -3.71587359e+00,
         -1.26491743e+00, -1.49203623e+00, -9.37770362e-01,  1.55140704e+00,
          1.88526353e+00,  2.98912902e+00,  4.35663676e+00,  4.36104650e+00,
          3.58104564e+00,  3.55686396e+00,  1.47853154e+00,  2.06093445e-01,
          5.86736552e-01,  1.26966443e+00,  6.73485660e-01,  1.17591023e+00,
          1.96013272e+00,  1.18115362e+00, -4.55632643e-01, -2.13888010e+00,
         -2.23202762e+00, -2.03038079e+00, -1.05057577e+00, -3.30290779e-01,
         -4.42753086e-01, -1.94528619e-01,  2.85416068e-01,  1.88951595e-01,
          9.65445495e-02, -5.39501681e-02, -1.04898435e-01, -9.69066588e-02,
         -2.98158805e-02])
  
  
  t = x
  data = y
  wavelet = signal.daub(4)
  scales = np.arange(35,2186,43)
  
  coeffs = signal.cwt(data, wavelet, scales)
  # coeffs = signal.cwt(data.tolist(), wavelet.tolist(), scales.tolist())
  </code></pre>
  <p>And here is the full traceback:</p>
  <pre><code>TypeError                                 Traceback (most recent call last)
  &lt;ipython-input-12-2b5f3768f808&gt; in &lt;module&gt;
       82 scales = np.arange(35,2186,43)
       83 
  ---&gt; 84 coeffs = signal.cwt(data, signal.daub(4), scales.tolist())
       85 
       86 
  
  ~\anaconda3\envs\gp\lib\site-packages\scipy\signal\wavelets.py in cwt(data, wavelet, widths)
      360     output = np.zeros([len(widths), len(data)])
      361     for ind, width in enumerate(widths):
  --&gt; 362         wavelet_data = wavelet(min(10 * width, len(data)), width)
      363         output[ind, :] = convolve(data, wavelet_data,
      364                                   mode='same')
  
  TypeError: 'numpy.ndarray' object is not callable
  </code></pre>