manoharan-lab / holopy

Hologram processing and light scattering in python
GNU General Public License v3.0
133 stars 50 forks source link

scipy 1.4 incompatible with xarray #315

Closed barkls closed 4 years ago

barkls commented 4 years ago

Our develop branch is failing on Travis, and I've confirmed it's due to a new scipy release that doesn't seem to be playing nicely with xarray objects.

======================================================================
ERROR: holopy.propagation.tests.test_propagation.test_propagate_e_field
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/build/manoharan-lab/holopy/holopy/propagation/tests/test_propagation.py", line 39, in test_propagate_e_field
    prop_e = propagate(e, 10)
  File "/home/travis/build/manoharan-lab/holopy/holopy/propagation/convolution_propagation.py", line 98, in propagate
    ft = fft(data)
  File "/home/travis/build/manoharan-lab/holopy/holopy/core/process/fourier.py", line 71, in fft
    overwrite_x=overwrite),
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/scipy/fftpack/basic.py", line 384, in fft2
    return fftn(x,shape,axes,overwrite_x)
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/scipy/fftpack/basic.py", line 337, in fftn
    return _pocketfft.fftn(x, shape, axes, None, overwrite_x)
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/scipy/fft/_pocketfft/basic.py", line 146, in c2cn
    tmp = _asfarray(x)
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/scipy/fft/_pocketfft/helper.py", line 95, in _asfarray
    return np.array(x, copy=not x.flags['ALIGNED'])
  File "/home/travis/miniconda3/envs/testenv/lib/python3.6/site-packages/xarray/core/common.py", line 233, in __getattr__
    "{!r} object has no attribute {!r}".format(type(self).__name__, name)
AttributeError: 'DataArray' object has no attribute 'flags'
----------------------------------------------------------------------
barkls commented 4 years ago

For now I've pinned on travis (#299) and conda-forge, while we wait for a real solution.

briandleahy commented 4 years ago

Should be fixed by #328