Skip to content

Commit 5ee55de

Browse files
authored
Merge pull request #141 from nipreps/fix/pet-model-did-have-a-mask
FIX: Roll back removal of brainmask in #139
2 parents 5ac9df7 + 3d1c824 commit 5ee55de

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/nifreeze/model/pet.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,10 @@ def _fit(self, n_jobs=None, **kwargs):
8787
x = (np.array(timepoints, dtype="float32") / self._xlim) * self._n_ctrl
8888

8989
data = self._dataset.dataobj
90+
brainmask = self._dataset.brainmask
9091

9192
# Convert data into V (voxels) x T (timepoints)
92-
data = data.reshape((-1, data.shape[-1])) if self._mask is None else data[self._mask]
93+
data = data.reshape((-1, data.shape[-1])) if brainmask is None else data[brainmask]
9394

9495
# A.shape = (T, K - 4); T= n. timepoints, K= n. knots (with padding)
9596
A = BSpline.design_matrix(x, self._t, k=self._order)
@@ -121,5 +122,12 @@ def fit_predict(self, index: int | None = None, **kwargs):
121122
# self._coeff is V (num. voxels) x K - 4
122123
predicted = np.squeeze(A @ self._coeff.T)
123124

125+
brainmask = self._dataset.brainmask
124126
datashape = self._dataset.dataobj.shape[:3]
125-
return predicted.reshape(datashape)
127+
128+
if brainmask is None:
129+
return predicted.reshape(datashape)
130+
131+
retval = np.zeros_like(self._dataset.dataobj[..., 0])
132+
retval[brainmask] = predicted
133+
return retval

0 commit comments

Comments
 (0)