Commit f245ee09 authored by Paul McCarthy's avatar Paul McCarthy 🚵
Browse files

Merge branch 'enh/complex' into 'master'

Enh/complex

See merge request fsl/fslpy!157
parents c0369c6d 05ab92ce
Pipeline #4226 failed with stages
in 1 minute and 38 seconds
......@@ -6,6 +6,13 @@ order.
-------------------------
Added
^^^^^
* New :meth:`.Image.iscomplex` attribute.
Changed
^^^^^^^
......
......@@ -1195,6 +1195,14 @@ class Image(Nifti):
else: return nvals
@property
def iscomplex(self):
"""Returns ``True`` if this image has a complex data type, ``False``
otherwise.
"""
return np.issubdtype(self.dtype, np.complexfloating)
@Nifti.voxToWorldMat.setter
def voxToWorldMat(self, xform):
"""Overrides the :meth:`Nifti.voxToWorldMat` property setter.
......
......@@ -299,6 +299,7 @@ def _test_Image_atts(imgtype):
path = op.abspath(op.join(testdir, path))
i = fslimage.Image(path)
assert not i.iscomplex
assert tuple(i.shape) == tuple(expdims)
assert tuple(i.data.shape) == tuple(expdims)
assert tuple(i.pixdim) == tuple(exppixdims)
......@@ -1369,3 +1370,15 @@ def test_identifyAffine():
rubbish = np.random.random((4, 4))
with pytest.raises(ValueError):
identify(img, rubbish)
def test_complex():
data = np.random.random((5, 5, 5)) + \
np.random.random((5, 5, 5)) * 1j
image = fslimage.Image(data)
dmin, dmax = image.dataRange
assert image.iscomplex
assert image[3, 3, 3] == data[3, 3, 3]
assert dmin == data.min()
assert dmax == data.max()
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment