modalities.fmri.fmri¶
Module: modalities.fmri.fmri
¶
Inheritance diagram for nipy.modalities.fmri.fmri
:
FmriImageList
¶
- class nipy.modalities.fmri.fmri.FmriImageList(images=None, volume_start_times=None, slice_times=None)¶
Bases:
ImageList
Class to implement image list interface for FMRI time series
Allows metadata such as volume and slice times
- __init__(images=None, volume_start_times=None, slice_times=None)¶
An implementation of an fMRI image as in ImageList
- Parameters:
- imagesiterable
an iterable object whose items are meant to be images; this is checked by asserting that each has a coordmap attribute and a
get_fdata
method. Note that Image objects are not iterable by default; use thefrom_image
classmethod oriter_axis
function to convert images to image lists - see examples below for the latter.- volume_start_times: None or float or (N,) ndarray
start time of each frame. It can be specified either as an ndarray with
N=len(images)
elements or as a single float, the TR. None results innp.arange(len(images)).astype(np.float64)
- slice_times: None or (N,) ndarray
specifying offset for each slice of each frame, from the frame start time.
See also
nipy.core.image_list.ImageList
Examples
>>> from nipy.testing import funcfile >>> from nipy.io.api import load_image >>> from nipy.core.api import iter_axis >>> funcim = load_image(funcfile) >>> iterable_img = iter_axis(funcim, 't') >>> fmrilist = FmriImageList(iterable_img) >>> print(fmrilist.get_list_data(axis=0).shape) (20, 17, 21, 3) >>> print(fmrilist[4].shape) (17, 21, 3)
- classmethod from_image(fourdimage, axis='t', volume_start_times=None, slice_times=None)¶
Create an FmriImageList from a 4D Image
Get images by extracting 3d images along the ‘t’ axis.
- Parameters:
- fourdimage
Image
instance A 4D Image
- volume_start_times: None or float or (N,) ndarray
start time of each frame. It can be specified either as an ndarray with
N=len(images)
elements or as a single float, the TR. None results innp.arange(len(images)).astype(np.float64)
- slice_times: None or (N,) ndarray
specifying offset for each slice of each frame, from the frame start time.
- fourdimage
- Returns:
- filist
FmriImageList
instance
- filist
- get_list_data(axis=None)¶
Return data in ndarray with list dimension at position axis
- Parameters:
- axisint
axis specifies which axis of the output will take the role of the list dimension. For example, 0 will put the list dimension in the first axis of the result.
- Returns:
- datandarray
data in image list as array, with data across elements of the list concetenated at dimension axis of the array.
Examples
>>> from nipy.testing import funcfile >>> from nipy.io.api import load_image >>> funcim = load_image(funcfile) >>> ilist = ImageList.from_image(funcim, axis='t') >>> ilist.get_list_data(axis=0).shape (20, 17, 21, 3)
- nipy.modalities.fmri.fmri.axis0_generator(data, slicers=None)¶
Takes array-like data, returning slices over axes > 0
This function takes an array-like object data and yields tuples of slicing thing and slices like:
[slicer, np.asarray(data)[:,slicer] for slicer in slicer]
which in the default (slicers is None) case, boils down to:
[i, np.asarray(data)[:,i] for i in range(data.shape[1])]
This can be used to get arrays of time series out of an array if the time axis is axis 0.
- Parameters:
- dataarray-like
object such that
arr = np.asarray(data)
returns an array of at least 2 dimensions.- slicersNone or sequence
sequence of objects that can be used to slice into array
arr
returned from data. If None, default isrange(data.shape[1])