def linear_norm(arr, highval=255): if arr.ndim == 3: min_, max_ = arr.min((0, 1)), arr.max((0, 1)) for dim in range(arr.ndim): arr[:, :, dim] = ( highval * (arr[:, :, dim] - min_[dim]) / (max_[dim] - min_[dim]) ) else: min_, max_ = arr.min(), arr.max() arr = highval * (arr - min_) / (max_ - min_) return arr def binarize(arr, threshold=0, max_val=1): arr[arr > threshold] = max_val return arr