Skip to content

Commit 4033cb7

Browse files
committed
fix: explicitly test for nipy version and remove imports to specific interfaces closes #648
1 parent 0af3e6b commit 4033cb7

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

nipype/interfaces/nipy/preprocess.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,8 @@
2121
except Exception, e:
2222
warnings.warn('nipy not installed')
2323
else:
24-
from nipy.labs.mask import compute_mask
25-
from nipy.algorithms.registration import FmriRealign4d as FR4d
24+
import nipy
2625
from nipy import save_image, load_image
27-
from nipy.algorithms.registration import SpaceTimeRealign
28-
from nipy.algorithms.registration.groupwise_registration import SpaceRealign
2926

3027
from ..base import (TraitedSpec, BaseInterface, traits,
3128
BaseInterfaceInputSpec, isdefined, File,
@@ -52,7 +49,7 @@ class ComputeMask(BaseInterface):
5249
output_spec = ComputeMaskOutputSpec
5350

5451
def _run_interface(self, runtime):
55-
52+
from nipy.labs.mask import compute_mask
5653
args = {}
5754
for key in [k for k, _ in self.inputs.items()
5855
if k not in BaseInterfaceInputSpec().trait_names()]:
@@ -149,7 +146,7 @@ class FmriRealign4d(BaseInterface):
149146
keywords = ['slice timing', 'motion correction']
150147

151148
def _run_interface(self, runtime):
152-
149+
from nipy.algorithms.registration import FmriRealign4d as FR4d
153150
all_ims = [load_image(fname) for fname in self.inputs.in_file]
154151

155152
if not isdefined(self.inputs.tr_slices):
@@ -202,7 +199,7 @@ def _list_outputs(self):
202199
class SpaceTimeRealignerInputSpec(BaseInterfaceInputSpec):
203200

204201
in_file = InputMultiPath(exists=True,
205-
mandatory=True,
202+
mandatory=True, min_ver='0.4.0.dev',
206203
desc="File to realign")
207204
tr = traits.Float(desc="TR in seconds", requires=['slice_times'])
208205
slice_times = traits.Either(traits.List(traits.Float()),
@@ -277,7 +274,12 @@ class SpaceTimeRealigner(BaseInterface):
277274
output_spec = SpaceTimeRealignerOutputSpec
278275
keywords = ['slice timing', 'motion correction']
279276

277+
def version(self):
278+
return nipy.__version__
279+
280280
def _run_interface(self, runtime):
281+
from nipy.algorithms.registration import SpaceTimeRealign
282+
from nipy.algorithms.registration.groupwise_registration import SpaceRealign
281283

282284
all_ims = [load_image(fname) for fname in self.inputs.in_file]
283285

0 commit comments

Comments
 (0)