Commit d528e08977568430f9e5da7ded54b5822d8256bc
1 parent
1cdd42c8
Exists in
master
Remove imgnormalize (FIX #235)
Showing
2 changed files
with
5 additions
and
31 deletions
Show diff stats
invesalius/data/imagedata_utils.py
@@ -500,34 +500,6 @@ def img2memmap(group): | @@ -500,34 +500,6 @@ def img2memmap(group): | ||
500 | return matrix, scalar_range, temp_file | 500 | return matrix, scalar_range, temp_file |
501 | 501 | ||
502 | 502 | ||
503 | -def imgnormalize(data, srange=(0, 255)): | ||
504 | - """ | ||
505 | - Normalize image pixel intensity for int16 gray scale values. | ||
506 | - | ||
507 | - :param data: image matrix | ||
508 | - :param srange: range for normalization, default is 0 to 255 | ||
509 | - :return: normalized pixel intensity matrix | ||
510 | - """ | ||
511 | - | ||
512 | - dataf = numpy.asarray(data) | ||
513 | - rangef = numpy.asarray(srange) | ||
514 | - faux = numpy.ravel(dataf).astype(float) | ||
515 | - minimum = numpy.min(faux) | ||
516 | - maximum = numpy.max(faux) | ||
517 | - lower = rangef[0] | ||
518 | - upper = rangef[1] | ||
519 | - | ||
520 | - if minimum == maximum: | ||
521 | - datan = numpy.ones(dataf.shape)*(upper + lower) / 2. | ||
522 | - else: | ||
523 | - datan = (faux-minimum)*(upper-lower) / (maximum-minimum) + lower | ||
524 | - | ||
525 | - datan = numpy.reshape(datan, dataf.shape) | ||
526 | - datan = datan.astype(numpy.int16) | ||
527 | - | ||
528 | - return datan | ||
529 | - | ||
530 | - | ||
531 | def get_LUT_value_255(data, window, level): | 503 | def get_LUT_value_255(data, window, level): |
532 | shape = data.shape | 504 | shape = data.shape |
533 | data_ = data.ravel() | 505 | data_ = data.ravel() |
@@ -539,6 +511,8 @@ def get_LUT_value_255(data, window, level): | @@ -539,6 +511,8 @@ def get_LUT_value_255(data, window, level): | ||
539 | return data | 511 | return data |
540 | 512 | ||
541 | 513 | ||
542 | -def image_normalize(image, min_=0.0, max_=1.0): | 514 | +def image_normalize(image, min_=0.0, max_=1.0, output_dtype=np.int16): |
515 | + output = np.empty(shape=image.shape, dtype=output_dtype) | ||
543 | imin, imax = image.min(), image.max() | 516 | imin, imax = image.min(), image.max() |
544 | - return (image - imin) * ((max_ - min_) / (imax - imin)) + min_ | 517 | + output[:] = (image - imin) * ((max_ - min_) / (imax - imin)) + min_ |
518 | + return output |
invesalius/segmentation/brain/segment.py
@@ -64,7 +64,7 @@ def brain_segment(image, probability_array, comm_array): | @@ -64,7 +64,7 @@ def brain_segment(image, probability_array, comm_array): | ||
64 | model.load_weights(str(folder.joinpath("model.h5"))) | 64 | model.load_weights(str(folder.joinpath("model.h5"))) |
65 | model.compile("Adam", "binary_crossentropy") | 65 | model.compile("Adam", "binary_crossentropy") |
66 | 66 | ||
67 | - image = imagedata_utils.image_normalize(image, 0.0, 1.0) | 67 | + image = imagedata_utils.image_normalize(image, 0.0, 1.0, output_dtype=np.float32) |
68 | sums = np.zeros_like(image) | 68 | sums = np.zeros_like(image) |
69 | # segmenting by patches | 69 | # segmenting by patches |
70 | for completion, sub_image, patch in gen_patches(image, SIZE, OVERLAP): | 70 | for completion, sub_image, patch in gen_patches(image, SIZE, OVERLAP): |