diff --git a/nibabel/fileholders.py b/nibabel/fileholders.py index a27715350..00c329d5d 100644 --- a/nibabel/fileholders.py +++ b/nibabel/fileholders.py @@ -23,6 +23,9 @@ class FileHolderError(Exception): class FileHolder: """class to contain filename, fileobj and file position""" + # Default image opener class / callable + make_image_opener = ImageOpener + def __init__( self, filename: str | None = None, @@ -68,10 +71,11 @@ def get_prepare_fileobj(self, *args, **kwargs) -> ImageOpener: ``self.pos`` """ if self.fileobj is not None: - obj = ImageOpener(self.fileobj) # for context manager + # for context manager + obj = self.make_image_opener(self.fileobj) obj.seek(self.pos) elif self.filename is not None: - obj = ImageOpener(self.filename, *args, **kwargs) + obj = self.make_image_opener(self.filename, *args, **kwargs) if self.pos != 0: obj.seek(self.pos) else: