StreamingSVD / utils /result_processor.py
lev1's picture
Initial commit
8fd2f2f
raw
history blame contribute delete
889 Bytes
from lib.farancia import IImage
def convert_range(video, output_range, input_range=None):
if input_range is None:
if video.min() < 0:
input_range = [-1, 1]
elif video.max() > 1:
input_range = [0, 255]
else:
input_range = [0, 1]
video = (video-input_range[0])/(input_range[1]-input_range[0]) # [0,1]
video = video * (output_range[1]-output_range[0]) + output_range[0]
return video
def concat_chunks(result_chunks):
if not isinstance(result_chunks, list):
result_chunks = [result_chunks]
concatenated_result = None
for chunk in result_chunks:
assert chunk.min() >= 0
chunk = IImage(chunk, vmin=0, vmax=255)
if concatenated_result is None:
concatenated_result = chunk
else:
concatenated_result &= chunk
return concatenated_result