@@ -133,13 +133,27 @@ def map(self, x, inverse=False):
133
133
>>> xfm.map([[-6.5, -36., -19.5], [-1., -41.5, -11.25]]).tolist()
134
134
[[0.0, -0.47516798973083496, 0.0], [0.0, -0.538356602191925, 0.0]]
135
135
136
+ >>> np.array_str(
137
+ ... xfm.map([[-6.7, -36.3, -19.2], [-1., -41.5, -11.25]]),
138
+ ... precision=3,
139
+ ... suppress_small=True,
140
+ ... )
141
+ '[[ 0. -0.482 0. ]\n [ 0. -0.538 0. ]]'
142
+
136
143
>>> xfm = DenseFieldTransform(
137
144
... test_dir / "someones_displacement_field.nii.gz",
138
145
... is_deltas=True,
139
146
... )
140
147
>>> xfm.map([[-6.5, -36., -19.5], [-1., -41.5, -11.25]]).tolist()
141
148
[[-6.5, -36.47516632080078, -19.5], [-1.0, -42.03835678100586, -11.25]]
142
149
150
+ >>> np.array_str(
151
+ ... xfm.map([[-6.7, -36.3, -19.2], [-1., -41.5, -11.25]]),
152
+ ... precision=3,
153
+ ... suppress_small=True,
154
+ ... )
155
+ '[[ -6.7 -36.782 -19.2 ]\n [ -1. -42.038 -11.25 ]]'
156
+
143
157
"""
144
158
145
159
if inverse is True :
@@ -151,14 +165,16 @@ def map(self, x, inverse=False):
151
165
indexes = tuple (tuple (i ) for i in indexes .T )
152
166
return self ._field [indexes ]
153
167
154
- return map_coordinates (
155
- self ._field ,
156
- ijk ,
157
- order = 3 ,
158
- mode = "constant" ,
159
- cval = np .zeros (self .reference .ndim ),
160
- prefilter = True ,
161
- )
168
+ return np .vstack ((
169
+ map_coordinates (
170
+ self ._field [..., i ],
171
+ ijk .T ,
172
+ order = 3 ,
173
+ mode = "constant" ,
174
+ cval = 0 ,
175
+ prefilter = True ,
176
+ ) for i in range (self .reference .ndim )
177
+ )).T
162
178
163
179
def __matmul__ (self , b ):
164
180
"""
0 commit comments