本文整理匯總了Python中nipy.core.api.AffineTransform.identity方法的典型用法代碼示例。如果您正苦於以下問題:Python AffineTransform.identity方法的具體用法?Python AffineTransform.identity怎麽用?Python AffineTransform.identity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類nipy.core.api.AffineTransform
的用法示例。
在下文中一共展示了AffineTransform.identity方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: smooth
# 需要導入模塊: from nipy.core.api import AffineTransform [as 別名]
# 或者: from nipy.core.api.AffineTransform import identity [as 別名]
def smooth(self, inimage, clean=False, is_fft=False):
""" Apply smoothing to `inimage`
Parameters
----------
inimage : ``Image``
The image to be smoothed. Should be 3D.
clean : bool, optional
Should we call ``nan_to_num`` on the data before smoothing?
is_fft : bool, optional
Has the data already been fft'd?
Returns
-------
s_image : `Image`
New image, with smoothing applied
"""
if inimage.ndim == 4:
# we need to generalize which axis to iterate over. By
# default it should probably be the last.
raise NotImplementedError('Smoothing volumes in a 4D series '
'is broken, pending a rethink')
_out = np.zeros(inimage.shape)
# iterate over the first (0) axis - this is confusing - see
# above
nslice = inimage.shape[0]
elif inimage.ndim == 3:
nslice = 1
else:
raise NotImplementedError('expecting either 3 or 4-d image')
in_data = inimage.get_data()
for _slice in range(nslice):
if in_data.ndim == 4:
data = in_data[_slice]
elif in_data.ndim == 3:
data = in_data[:]
if clean:
data = np.nan_to_num(data)
if not is_fft:
data = self._presmooth(data)
data *= self.fkernel
data = fft.irfftn(data) / self.norms[self.normalization]
gc.collect()
_dslice = [slice(0, self.bshape[i], 1) for i in range(3)]
if self.scale != 1:
data = self.scale * data[_dslice]
if self.location != 0.0:
data += self.location
gc.collect()
# Write out data
if in_data.ndim == 4:
_out[_slice] = data
else:
_out = data
_slice += 1
gc.collect()
_out = _out[[slice(self._kernel.shape[i]/2, self.bshape[i] +
self._kernel.shape[i]/2) for i in range(len(self.bshape))]]
if inimage.ndim == 3:
return Image(_out, coordmap=self.coordmap)
else:
# This does not work as written. See above
concat_affine = AffineTransform.identity('concat')
return Image(_out, coordmap=product(self.coordmap, concat_affine))
示例2: smooth
# 需要導入模塊: from nipy.core.api import AffineTransform [as 別名]
# 或者: from nipy.core.api.AffineTransform import identity [as 別名]
def smooth(self, inimage, clean=False, is_fft=False):
"""
:Parameters:
inimage : `core.api.Image`
The image to be smoothed
clean : ``bool``
Should we call ``nan_to_num`` on the data before smoothing?
is_fft : ``bool``
Has the data already been fft'd?
:Returns: `Image`
"""
if inimage.ndim == 4:
_out = np.zeros(inimage.shape)
nslice = inimage.shape[0]
elif inimage.ndim == 3:
nslice = 1
else:
raise NotImplementedError, 'expecting either 3 or 4-d image.'
for _slice in range(nslice):
if inimage.ndim == 4:
data = inimage[_slice]
elif inimage.ndim == 3:
data = inimage[:]
if clean:
data = np.nan_to_num(data)
if not is_fft:
data = self._presmooth(data)
data *= self.fkernel
else:
data *= self.fkernel
data = fft.irfftn(data) / self.norms[self.normalization]
gc.collect()
_dslice = [slice(0, self.bshape[i], 1) for i in range(3)]
if self.scale != 1:
data = self.scale * data[_dslice]
if self.location != 0.0:
data += self.location
gc.collect()
# Write out data
if inimage.ndim == 4:
_out[_slice] = data
else:
_out = data
_slice += 1
gc.collect()
_out = _out[[slice(self._kernel.shape[i]/2, self.bshape[i] +
self._kernel.shape[i]/2) for i in range(len(self.bshape))]]
if inimage.ndim == 3:
return Image(_out, coordmap=self.coordmap)
else:
concat_affine = AffineTransform.identity('concat')
return Image(_out, coordmap=product(self.coordmap, concat_affine))