1
1
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
2
2
# vi: set ft=python sts=4 ts=4 sw=4 et:
3
- import nipype
4
- from ...testing import assert_equal , assert_true , skipif , utils
3
+
4
+ from ...testing import (assert_equal , assert_true , assert_almost_equal ,
5
+ skipif , utils )
5
6
from ..misc import TSNR
6
7
7
- from hashlib import sha1
8
8
import unittest
9
9
import mock
10
10
import nibabel as nb
@@ -39,9 +39,9 @@ def test_tsnr(self):
39
39
40
40
# assert
41
41
self .assert_expected_outputs (tsnrresult , {
42
- 'mean_file' : '1a55bcdf49901f25a2a838c90769989b9e4f2f19' ,
43
- 'stddev_file' : '0ba52a51fae90a9db6090c735432df5b742d663a' ,
44
- 'tsnr_file' : 'a794fc55766c8ad725437d3ff8b1153bd5f6e9b0'
42
+ 'mean_file' : ( 2.8 , 7.4 ) ,
43
+ 'stddev_file' : ( 0.8 , 2.9 ) ,
44
+ 'tsnr_file' : ( 1.3 , 9.25 )
45
45
})
46
46
47
47
def test_tsnr_withpoly1 (self ):
@@ -51,10 +51,10 @@ def test_tsnr_withpoly1(self):
51
51
52
52
# assert
53
53
self .assert_expected_outputs_poly (tsnrresult , {
54
- 'detrended_file' : 'ee4f6c0b0e8c547617fc11aa50cf659436f9ccf0' ,
55
- 'mean_file' : '1a55bcdf49901f25a2a838c90769989b9e4f2f19' ,
56
- 'stddev_file' : 'e61d94e3cfea20b0c86c81bfdf80d82c55e9203b' ,
57
- 'tsnr_file' : 'a49f1cbd88f2aa71183dcd7aa4b86b17df622f0c'
54
+ 'detrended_file' : ( - 0.1 , 8.7 ) ,
55
+ 'mean_file' : ( 2.8 , 7.4 ) ,
56
+ 'stddev_file' : ( 0.75 , 2.75 ) ,
57
+ 'tsnr_file' : ( 1.4 , 9.9 )
58
58
})
59
59
60
60
def test_tsnr_withpoly2 (self ):
@@ -64,10 +64,10 @@ def test_tsnr_withpoly2(self):
64
64
65
65
# assert
66
66
self .assert_expected_outputs_poly (tsnrresult , {
67
- 'detrended_file' : '22cb7f058d61cc090eb1a9dd7d31550bd4362a61' ,
68
- 'mean_file' : '4cee6776461f6bc238d11a55c0a8d1947a5732df' ,
69
- 'stddev_file' : '7267de4d9b63fcc553115c0198f1fa3bbb6a5a13' ,
70
- 'tsnr_file' : '1c6ed05f94806838f7b563df65900f37e60f8a6d'
67
+ 'detrended_file' : ( - 0.22 , 8.55 ) ,
68
+ 'mean_file' : ( 2.8 , 7.7 ) ,
69
+ 'stddev_file' : ( 0.21 , 2.4 ) ,
70
+ 'tsnr_file' : ( 1.7 , 35.9 )
71
71
})
72
72
73
73
def test_tsnr_withpoly3 (self ):
@@ -77,20 +77,20 @@ def test_tsnr_withpoly3(self):
77
77
78
78
# assert
79
79
self .assert_expected_outputs_poly (tsnrresult , {
80
- 'detrended_file' : '3f2c1c7da233f128a7020b6fed79d6be2ec59fca' ,
81
- 'mean_file' : '4cee6776461f6bc238d11a55c0a8d1947a5732df' ,
82
- 'stddev_file' : '82bb793b76fab503d1d6b3e2d1b20a1bdebd7a2a' ,
83
- 'tsnr_file' : 'e004bd6096a0077b15058aabd4b0339bf6e21f64'
80
+ 'detrended_file' : ( 1.8 , 7.95 ) ,
81
+ 'mean_file' : ( 2.8 , 7.7 ) ,
82
+ 'stddev_file' : ( 0.1 , 1.7 ) ,
83
+ 'tsnr_file' : ( 2.6 , 57.3 )
84
84
})
85
85
86
- def assert_expected_outputs_poly (self , tsnrresult , hash_dict ):
86
+ def assert_expected_outputs_poly (self , tsnrresult , expected_ranges ):
87
87
assert_equal (os .path .basename (tsnrresult .outputs .detrended_file ),
88
88
self .out_filenames ['detrended_file' ])
89
- self .assert_expected_outputs (tsnrresult , hash_dict )
89
+ self .assert_expected_outputs (tsnrresult , expected_ranges )
90
90
91
- def assert_expected_outputs (self , tsnrresult , hash_dict ):
91
+ def assert_expected_outputs (self , tsnrresult , expected_ranges ):
92
92
self .assert_default_outputs (tsnrresult .outputs )
93
- self .assert_unchanged (hash_dict )
93
+ self .assert_unchanged (expected_ranges )
94
94
95
95
def assert_default_outputs (self , outputs ):
96
96
assert_equal (os .path .basename (outputs .mean_file ),
@@ -100,10 +100,11 @@ def assert_default_outputs(self, outputs):
100
100
assert_equal (os .path .basename (outputs .tsnr_file ),
101
101
self .out_filenames ['tsnr_file' ])
102
102
103
- def assert_unchanged (self , expected_hashes ):
104
- for key , hexhash in expected_hashes .iteritems ():
105
- data = np .asanyarray (nb .load (self .out_filenames [key ])._data )
106
- assert_equal (sha1 (str (data )).hexdigest (), hexhash )
103
+ def assert_unchanged (self , expected_ranges ):
104
+ for key , (min_ , max_ ) in expected_ranges .iteritems ():
105
+ data = np .asarray (nb .load (self .out_filenames [key ])._data )
106
+ assert_almost_equal (np .amin (data ), min_ , decimal = 1 )
107
+ assert_almost_equal (np .amax (data ), max_ , decimal = 1 )
107
108
108
109
def tearDown (self ):
109
110
utils .remove_nii (self .in_filenames .values ())
0 commit comments