Skip to content

Commit a22a6d0

Browse files
committed
refactor: simplify X5 loader
1 parent 0b13408 commit a22a6d0

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

nitransforms/io/x5.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525

2626
import numpy as np
2727

28-
from .base import TransformFileError
29-
3028

3129
@dataclass
3230
class X5Domain:
@@ -142,18 +140,15 @@ def to_filename(fname: str | Path, x5_list: List[X5Transform]):
142140

143141
def from_filename(fname: str | Path) -> List[X5Transform]:
144142
"""Read a list of :class:`X5Transform` objects from an X5 HDF5 file."""
145-
try:
146-
with h5py.File(str(fname), "r") as in_file:
147-
if in_file.attrs.get("Format") != "X5":
148-
raise TransformFileError("Input file is not in X5 format")
149-
150-
tg = in_file["TransformGroup"]
151-
return [
152-
_read_x5_group(node)
153-
for _, node in sorted(tg.items(), key=lambda kv: int(kv[0]))
154-
]
155-
except OSError as exc: # pragma: no cover - in case h5py not installed
156-
raise TransformFileError(str(exc)) from exc
143+
with h5py.File(str(fname), "r") as in_file:
144+
if in_file.attrs.get("Format") != "X5":
145+
raise ValueError("Input file is not in X5 format")
146+
147+
tg = in_file["TransformGroup"]
148+
return [
149+
_read_x5_group(node)
150+
for _, node in sorted(tg.items(), key=lambda kv: int(kv[0]))
151+
]
157152

158153

159154
def _read_x5_group(node) -> X5Transform:

0 commit comments

Comments
 (0)