|
17 | 17 | set_backend("stir") # Force STIR Python |
18 | 18 | """ |
19 | 19 |
|
| 20 | +import importlib |
20 | 21 | import logging |
21 | 22 | from typing import TYPE_CHECKING, Any, Literal, Optional, Union |
22 | 23 |
|
@@ -141,14 +142,14 @@ def get_backend() -> str: |
141 | 142 |
|
142 | 143 | # Auto-detect |
143 | 144 | try: |
144 | | - import sirf.STIR |
| 145 | + importlib.import_module("sirf.STIR") |
145 | 146 |
|
146 | 147 | _backend = "sirf" |
147 | 148 | logger.info("Auto-detected SIRF backend") |
148 | 149 | except ImportError: |
149 | 150 | try: |
150 | | - import stir |
151 | | - import stirextra |
| 151 | + importlib.import_module("stir") |
| 152 | + importlib.import_module("stirextra") |
152 | 153 |
|
153 | 154 | _backend = "stir" |
154 | 155 | logger.info("Auto-detected STIR Python backend") |
@@ -182,13 +183,13 @@ def set_backend(backend: Literal["sirf", "stir"]) -> None: |
182 | 183 | # Verify the backend is available |
183 | 184 | if backend == "sirf": |
184 | 185 | try: |
185 | | - import sirf.STIR |
| 186 | + importlib.import_module("sirf.STIR") |
186 | 187 | except ImportError: |
187 | 188 | raise ImportError("SIRF is not available") |
188 | 189 | elif backend == "stir": |
189 | 190 | try: |
190 | | - import stir |
191 | | - import stirextra |
| 191 | + importlib.import_module("stir") |
| 192 | + importlib.import_module("stirextra") |
192 | 193 | except ImportError: |
193 | 194 | raise ImportError("STIR Python is not available") |
194 | 195 |
|
@@ -355,7 +356,8 @@ def create_acquisition_data( |
355 | 356 | if filepath_or_object is None: |
356 | 357 | raise NotImplementedError( |
357 | 358 | "Creating empty STIR ProjData requires exam_info and proj_data_info. " |
358 | | - "Please provide a filepath or use StirAcquisitionData.create_empty() directly." |
| 359 | + "Please provide a filepath or use " |
| 360 | + "StirAcquisitionData.create_empty() directly." |
359 | 361 | ) |
360 | 362 | elif isinstance(filepath_or_object, str): |
361 | 363 | return StirAcquisitionData.read_from_file(filepath_or_object) |
|
0 commit comments