From 218ad4c5df4108df1c56a60abade7d19af52f60b Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Sat, 4 Jun 2016 17:10:54 +0100 Subject: [PATCH] Other fsl.data modules updated to new Image API where needed. --- fsl/data/atlases.py | 6 +++--- fsl/data/featimage.py | 6 +++--- fsl/data/image.py | 7 ++++--- fsl/data/imagewrapper.py | 4 ++-- fsl/data/melodicanalysis.py | 4 +--- fsl/data/melodicimage.py | 4 +++- fsl/data/tensorimage.py | 4 +++- 7 files changed, 19 insertions(+), 16 deletions(-) diff --git a/fsl/data/atlases.py b/fsl/data/atlases.py index b4148551c..ecb5f0af5 100644 --- a/fsl/data/atlases.py +++ b/fsl/data/atlases.py @@ -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], :] diff --git a/fsl/data/featimage.py b/fsl/data/featimage.py index 40cffe7e0..2f650c8b6 100644 --- a/fsl/data/featimage.py +++ b/fsl/data/featimage.py @@ -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 diff --git a/fsl/data/image.py b/fsl/data/image.py index 8bdde463f..8847799e1 100644 --- a/fsl/data/image.py +++ b/fsl/data/image.py @@ -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 diff --git a/fsl/data/imagewrapper.py b/fsl/data/imagewrapper.py index a666b51cc..962a50898 100644 --- a/fsl/data/imagewrapper.py +++ b/fsl/data/imagewrapper.py @@ -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 diff --git a/fsl/data/melodicanalysis.py b/fsl/data/melodicanalysis.py index 29a75aeb1..9de847d43 100644 --- a/fsl/data/melodicanalysis.py +++ b/fsl/data/melodicanalysis.py @@ -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] diff --git a/fsl/data/melodicimage.py b/fsl/data/melodicimage.py index 9f5729a71..85f7f4611 100644 --- a/fsl/data/melodicimage.py +++ b/fsl/data/melodicimage.py @@ -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] diff --git a/fsl/data/tensorimage.py b/fsl/data/tensorimage.py index 86ae221cb..2587cc189 100644 --- a/fsl/data/tensorimage.py +++ b/fsl/data/tensorimage.py @@ -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']) -- GitLab