diff --git a/fsl/data/mghimage.py b/fsl/data/mghimage.py index c65411dd5f57db2f4abfc42eb3f4a9e0f03ade48..9ba9c27e3b4199461408933882c8e47d4774c8f2 100644 --- a/fsl/data/mghimage.py +++ b/fsl/data/mghimage.py @@ -40,13 +40,28 @@ class MGHImage(fslimage.Image): """ if isinstance(image, six.string_types): - image = nib.load(image) + filename = image + image = nib.load(image) + else: + filename = None data = image.get_data() affine = image.affine fslimage.Image.__init__(self, data, xform=affine) + if filename is not None: + self.setMeta('mghImageFile', filename) + + + @property + def mghImageFile(self): + """If this ``MGHImage`` was loaded from a file, returns the file + name. Otherwise returns ``None``. + """ + return self.getMeta('mghImageFile', None) + + ALLOWED_EXTENSIONS = ['.mgz', '.mgh'] """List of file extensions interpreted as MGH image files.