Commit 161ef11e92feda6f8f7fcd9b5bf2156f10572767
1 parent
39bc71f4
Exists in
master
and in
55 other branches
FIX: edition when the brush is bigger than the slice
Showing
1 changed file
with
10 additions
and
12 deletions
Show diff stats
invesalius/data/slice_.py
@@ -427,20 +427,18 @@ class Slice(object): | @@ -427,20 +427,18 @@ class Slice(object): | ||
427 | roi_m = mask[yi:yf,xi:xf] | 427 | roi_m = mask[yi:yf,xi:xf] |
428 | roi_i = image[yi:yf, xi:xf] | 428 | roi_i = image[yi:yf, xi:xf] |
429 | 429 | ||
430 | - if operation == const.BRUSH_THRESH: | ||
431 | - # It's a trick to make points between threshold gets value 254 | ||
432 | - # (1 * 253 + 1) and out ones gets value 1 (0 * 253 + 1). | ||
433 | - try: | 430 | + # Checking if roi_i has at least one element. |
431 | + if numpy.product(roi_i.shape): | ||
432 | + if operation == const.BRUSH_THRESH: | ||
433 | + # It's a trick to make points between threshold gets value 254 | ||
434 | + # (1 * 253 + 1) and out ones gets value 1 (0 * 253 + 1). | ||
434 | roi_m[index] = (((roi_i[index] >= thresh_min) | 435 | roi_m[index] = (((roi_i[index] >= thresh_min) |
435 | & (roi_i[index] <= thresh_max)) * 253) + 1 | 436 | & (roi_i[index] <= thresh_max)) * 253) + 1 |
436 | - except IndexError: | ||
437 | - # Resolving the problem when roi_i has 0 elements. | ||
438 | - pass | ||
439 | - elif operation == const.BRUSH_DRAW: | ||
440 | - roi_m[index] = 254 | ||
441 | - elif operation == const.BRUSH_ERASE: | ||
442 | - roi_m[index] = 1 | ||
443 | - self.buffer_slices[orientation].discard_vtk_mask() | 437 | + elif operation == const.BRUSH_DRAW: |
438 | + roi_m[index] = 254 | ||
439 | + elif operation == const.BRUSH_ERASE: | ||
440 | + roi_m[index] = 1 | ||
441 | + self.buffer_slices[orientation].discard_vtk_mask() | ||
444 | 442 | ||
445 | 443 | ||
446 | def GetSlices(self, orientation, slice_number, number_slices, | 444 | def GetSlices(self, orientation, slice_number, number_slices, |