[BUG] Corrected a bug in the random walker that appeared

* when returning the full probability instead of the segmentation
    * for three or more labels (two was OK)
This commit is contained in:
Emmanuelle Gouillart
2012-09-18 19:56:52 +02:00
parent 58a57238cc
commit 6635cf16db
2 changed files with 8 additions and 4 deletions
@@ -401,9 +401,8 @@ def random_walker(data, labels, beta=130, mode='bf', tol=1.e-3, copy=True,
copy=True).reshape(dims) for Xline in X])
for i in range(1, int(labels.max()) + 1):
mask_i = np.squeeze(labels == i)
X[:, mask_i] = 0
X[i - 1, mask_i] = 1
X[np.setdiff1d(np.arange(0, labels.max(), dtype=np.int),
[i - 1]), mask_i] = 0
else:
X = _clean_labels_ar(X + 1, labels).reshape(dims)
return X