diff --git a/fsl/data/image.py b/fsl/data/image.py
index 0dbd331af452c1e2c23beeaca7a4ea2b77c29672..1d3d9120a63a0f237dbe73c4d0462e47b02896a4 100644
--- a/fsl/data/image.py
+++ b/fsl/data/image.py
@@ -46,6 +46,8 @@ import numpy             as np
 import nibabel           as nib
 import nibabel.fileslice as fileslice
 
+from pathlib import Path
+
 import fsl.utils.meta        as meta
 import fsl.transform.affine  as affine
 import fsl.utils.notifier    as notifier
@@ -1088,6 +1090,11 @@ class Image(Nifti):
             nibImage   = nib.load(image, **kwargs)
             dataSource = image
             saved      = True
+        # The image parameter may be the name of an image file
+        if isinstance(image, Path):
+            nibImage   = nib.load(image, **kwargs)
+            dataSource = str(image)
+            saved      = True
 
         # Or a numpy array - we wrap it in a nibabel image,
         # with an identity transformation (each voxel maps
@@ -1140,6 +1147,8 @@ class Image(Nifti):
             # from disk, use the file name.
             if isinstance(image, six.string_types):
                 name = removeExt(op.basename(image))
+            if isinstance(image, Path):
+                name = image.name
 
             # Or the image was created from a numpy array
             elif isinstance(image, np.ndarray):