cleanup convert

Signed-off-by: vladmandic <mandic00@live.com>
This commit is contained in:
vladmandic
2026-02-11 18:09:57 +01:00
parent da1cf2f996
commit cf5e1e0df2
2 changed files with 7 additions and 10 deletions
+5 -4
View File
@@ -7,13 +7,13 @@ from installer import log
def to_tensor(image: Image.Image | np.ndarray):
"""PIL Image -> float32 CHW tensor [0,1]. Pure torch, no torchvision."""
# fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access
if not isinstance(image, Image.Image):
if isinstance(image, Image.Image):
pic = np.array(image, copy=True)
elif isinstance(image, np.ndarray):
pic = image.copy()
else:
raise TypeError(f"Expected PIL Image or np.ndarray, got {type(image)}")
fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access
raise TypeError(f"convert: target=tensor type={type(image)} fn={fn} unsupported")
if pic.ndim == 2:
pic = pic[:, :, np.newaxis]
tensor = torch.from_numpy(pic.transpose((2, 0, 1))).contiguous()
@@ -30,7 +30,8 @@ def to_pil(tensor: torch.Tensor | np.ndarray):
elif isinstance(tensor, np.ndarray):
tensor = torch.from_numpy(tensor)
else:
raise TypeError(f"Expected torch.Tensor, got {type(tensor)}")
fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access
raise TypeError(f"convert: target=image type={type(tensor)} fn={fn} unsupported")
try:
if tensor.dim() == 4:
if tensor.shape[-1] in (1, 3, 4) and tensor.shape[-1] < tensor.shape[-2]: # BHWC
+2 -6
View File
@@ -211,12 +211,8 @@ def resize_tensor(tensor: torch.Tensor, target_size: tuple[int, int], *, kernel=
result = scale(tensor, target_size, resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=use_sparse)
else:
log.debug(f'Resize tensor: method=sharpfin shape={tensor.shape} target={target_size} direction={both_up}:{both_down} kernel={rk} sparse=False fn={fn}')
if th > src_h:
intermediate = scale(tensor, (th, src_w), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
result = scale(intermediate, (th, tw), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
else:
intermediate = scale(tensor, (th, src_w), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
result = scale(intermediate, (th, tw), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
intermediate = scale(tensor, (th, src_w), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
result = scale(intermediate, (th, tw), resize_kernel=rk, device=dev, dtype=dt, do_srgb_conversion=linearize, use_sparse=False)
if squeezed:
result = result.squeeze(0)
return result