Add new functionality for image rectification and depth metadata handling
- Implemented a preview tool for rectifying images with interactive aspect controls in `preview.py`. - Added tests for depth metadata loading to ensure consistent schema usage in `test_depth_metadata.py`. - Developed comprehensive tests for cutout calibration processes in `test_cutout_calibration.py`, including stability checks and depth calibration. - Created tests for frame compositing operations in `test_frame_compositing.py`, ensuring correct handling of depth and transparency. - Introduced material slot inheritance functionality in `material_slots.py` to manage geometry material assignments. - Built shared shader nodes for material processing in `shader.py`, including roughness and bump mapping setups.
This commit is contained in:
@@ -21,11 +21,11 @@ class AiImageOperatorsTest(BlenderTestCase):
|
||||
self.assertEqual(operator_type.bl_options, {"UNDO"})
|
||||
operator = operator_type()
|
||||
operator.input_path = "input.png"
|
||||
operator._image_target = SimpleNamespace(start_frame=4)
|
||||
operator._image_target = SimpleNamespace()
|
||||
operator.model = "HAT_GAN_X4_SHARPER"
|
||||
operator.max_input_size = 1024
|
||||
context = SimpleNamespace(
|
||||
scene=SimpleNamespace(anyimage_settings=SimpleNamespace(video_frames=7))
|
||||
scene=SimpleNamespace(anyimage_settings=SimpleNamespace())
|
||||
)
|
||||
with (
|
||||
patch.object(self.upscale, "require_environment"),
|
||||
@@ -44,8 +44,6 @@ class AiImageOperatorsTest(BlenderTestCase):
|
||||
"input": "input.png",
|
||||
"model": "HAT_GAN_X4_SHARPER",
|
||||
"device": "cuda",
|
||||
"video_frames": 7,
|
||||
"start_frame": 4,
|
||||
"max_input_size": 1024,
|
||||
},
|
||||
)
|
||||
@@ -89,7 +87,7 @@ class AiImageOperatorsTest(BlenderTestCase):
|
||||
|
||||
|
||||
def test_remove_background_loads_a_plain_image_edit_result(self):
|
||||
result = SimpleNamespace(directory=Path("result"))
|
||||
result = SimpleNamespace(file=lambda key: Path("result") / f"{key}.png")
|
||||
operator = self.remove_background.RunBackgroundRemoval()
|
||||
operator._image_target = Mock()
|
||||
ops = SimpleNamespace(
|
||||
@@ -100,12 +98,12 @@ class AiImageOperatorsTest(BlenderTestCase):
|
||||
):
|
||||
operator.response(None, result)
|
||||
|
||||
operator._image_target.apply.assert_called_once_with(Path("result"))
|
||||
operator._image_target.apply.assert_called_once_with(Path("result/foreground.png"))
|
||||
ops.ed.undo_push.assert_called_once_with(message="Remove Background")
|
||||
|
||||
|
||||
def test_upscale_loads_a_plain_image_edit_result(self):
|
||||
result = SimpleNamespace(directory=Path("result"))
|
||||
result = SimpleNamespace(file=lambda key: Path("result") / f"{key}.png")
|
||||
operator = self.upscale.UpscaleImage()
|
||||
operator._image_target = Mock()
|
||||
operator.model = "HAT_GAN_X4_SHARPER"
|
||||
@@ -119,7 +117,6 @@ class AiImageOperatorsTest(BlenderTestCase):
|
||||
message = operator.response(None, result)
|
||||
|
||||
operator._image_target.apply.assert_called_once_with(
|
||||
Path("result"),
|
||||
frame_prefix="upscale.",
|
||||
Path("result/upscale.png"),
|
||||
)
|
||||
self.assertEqual(message, "Image is upscaled with HAT Sharper")
|
||||
|
||||
Reference in New Issue
Block a user