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 | 427 | roi_m = mask[yi:yf,xi:xf] |
428 | 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 | 435 | roi_m[index] = (((roi_i[index] >= thresh_min) |
435 | 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 | 444 | def GetSlices(self, orientation, slice_number, number_slices, | ... | ... |