Skip to content
Snippets Groups Projects
Commit 218ad4c5 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Other fsl.data modules updated to new Image API where needed.

parent 3f5dc841
No related branches found
No related tags found
No related merge requests found
......@@ -296,7 +296,7 @@ class AtlasDescription(object):
imagefile = op.join(ATLAS_DIR, '.' + imagefile)
summaryimagefile = op.join(ATLAS_DIR, '.' + summaryimagefile)
i = fslimage.Image(imagefile, loadData=False)
i = fslimage.Image(imagefile, loadData=False, calcRange=False)
self.images .append(imagefile)
self.summaryImages.append(summaryimagefile)
......@@ -425,7 +425,7 @@ class LabelAtlas(Atlas):
voxelLoc[2] >= self.shape[2]:
return np.nan
val = self.data[voxelLoc[0], voxelLoc[1], voxelLoc[2]]
val = self[voxelLoc[0], voxelLoc[1], voxelLoc[2]]
if self.desc.atlasType == 'label':
return val
......@@ -473,7 +473,7 @@ class ProbabilisticAtlas(Atlas):
voxelLoc[2] >= self.shape[2]:
return []
return self.data[voxelLoc[0], voxelLoc[1], voxelLoc[2], :]
return self[voxelLoc[0], voxelLoc[1], voxelLoc[2], :]
......
......@@ -313,12 +313,12 @@ class FEATImage(fslimage.Image):
raise ValueError('Contrast is wrong length')
X = self.__design.getDesign(xyz)
data = self.data[x, y, z, :]
data = self[x, y, z, :]
modelfit = np.zeros(len(data))
for i in range(numEVs):
pe = self.getPE(i).data[x, y, z]
pe = self.getPE(i)[x, y, z]
modelfit += X[:, i] * pe * contrast[i]
return modelfit + data.mean()
......@@ -332,7 +332,7 @@ class FEATImage(fslimage.Image):
"""
x, y, z = xyz
residuals = self.getResiduals().data[x, y, z, :]
residuals = self.getResiduals()[x, y, z, :]
modelfit = self.fit(contrast, xyz, fullmodel)
return residuals + modelfit
......@@ -374,9 +374,10 @@ class Image(Nifti1, notifier.Notifier):
:meth:`loadData` method.
:arg calcRange: If ``True`` (the default), the image range is
calculated immediately (vi a call to :meth:`calcRange`).
Otherwise, the image range is incrementally updated as
more data is read from memory or disk.
calculated immediately (vi a call to
:meth:`calcRange`). Otherwise, the image range is
incrementally updated as more data is read from memory
or disk.
"""
import nibabel as nib
......
......@@ -194,8 +194,8 @@ class ImageWrapper(notifier.Notifier):
self.__range[1],
self.__sliceCoverage))
dmin = np.nanmin(data)
dmax = np.nanmax(data)
dmin = float(np.nanmin(data))
dmax = float(np.nanmax(data))
if oldmin is None: oldmin = dmin
if oldmax is None: oldmax = dmax
......
......@@ -33,8 +33,6 @@ import logging
import os.path as op
import numpy as np
import props
import fsl.utils.path as fslpath
import fsl.data.image as fslimage
import fsl.data.featanalysis as featanalysis
......@@ -159,7 +157,7 @@ def getNumComponents(meldir):
contained in the given directrory.
"""
icImg = fslimage.Image(getICFile(meldir), loadData=False)
icImg = fslimage.Image(getICFile(meldir), loadData=False, calcRange=False)
return icImg.shape[3]
......
......@@ -79,7 +79,9 @@ class MelodicImage(fslimage.Image):
dataFile = self.getDataFile()
if dataFile is not None:
dataImage = fslimage.Image(dataFile, loadData=False)
dataImage = fslimage.Image(dataFile,
loadData=False,
calcRange=False)
if dataImage.is4DImage():
self.tr = dataImage.pixdim[3]
......
......@@ -125,7 +125,9 @@ class TensorImage(fslimage.Nifti1):
else:
paths = path
fslimage.Nifti1.__init__(self, paths['l1'], loadData=False)
fslimage.Nifti1.__init__(self, paths['l1'],
loadData=False,
calcRange=False)
self.__v1 = fslimage.Image(paths['v1'])
self.__v2 = fslimage.Image(paths['v2'])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment