diff --git a/nitransforms/io/__init__.py b/nitransforms/io/__init__.py index f903072..a2ec7e6 100644 --- a/nitransforms/io/__init__.py +++ b/nitransforms/io/__init__.py @@ -1,6 +1,7 @@ # emacs: -*- mode: python-mode; py-indent-offset: 4; indent-tabs-mode: nil -*- # vi: set ft=python sts=4 ts=4 sw=4 et: """Read and write transforms.""" + from nitransforms.io import afni, fsl, itk, lta, x5 from nitransforms.io.base import TransformIOError, TransformFileError @@ -27,7 +28,37 @@ def get_linear_factory(fmt, is_array=True): - """Return the type required by a given format.""" + """ + Return the type required by a given format. + + Parameters + ---------- + fmt : :obj:`str` + A format identifying string. + is_array : :obj:`bool` + Whether the array version of the class should be returned. + + Returns + ------- + type + The class object (not an instance) of the linear transfrom to be created + (for example, :obj:`~nitransforms.io.itk.ITKLinearTransform`). + + Examples + -------- + >>> get_linear_factory("itk") + + >>> get_linear_factory("itk", is_array=False) + + >>> get_linear_factory("fsl") + + >>> get_linear_factory("fsl", is_array=False) + + >>> get_linear_factory("fakepackage") # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + TypeError: Unsupported transform format . + + """ if fmt.lower() not in _IO_TYPES: raise TypeError(f"Unsupported transform format <{fmt}>.") diff --git a/nitransforms/linear.py b/nitransforms/linear.py index 8797a1c..26bf337 100644 --- a/nitransforms/linear.py +++ b/nitransforms/linear.py @@ -377,11 +377,6 @@ def __init__(self, transforms, reference=None): ) self._inverse = np.linalg.inv(self._matrix) - def __iter__(self): - """Enable iterating over the series of transforms.""" - for _m in self.matrix: - yield Affine(_m, reference=self._reference) - def __getitem__(self, i): """Enable indexed access to the series of matrices.""" return Affine(self.matrix[i, ...], reference=self._reference)