Refactor image processing and cutout functionalities
- Updated the naming convention for upscaled images to include underscores and file extensions. - Renamed properties related to cutout pixel size to point spacing for clarity. - Adjusted alpha region calculations to use a half-alpha threshold for better accuracy. - Enhanced the handling of foreground mesh masks to consider half-alpha values. - Introduced new functions for unbounded selections and cutout images, ensuring proper handling of source and selection images. - Improved test coverage for cutout functionalities, including bounds mapping and alpha preservation. - Updated tests to reflect changes in naming conventions and functionality adjustments.
This commit is contained in:
@@ -1428,12 +1428,17 @@ class WorkerTest(unittest.TestCase):
|
||||
|
||||
np.testing.assert_array_equal(filtered, faces[[0]])
|
||||
|
||||
def test_surface_background_mask_keeps_any_nonzero_alpha(self):
|
||||
def test_surface_background_mask_uses_half_alpha_threshold(self):
|
||||
from PIL import Image
|
||||
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
for alpha, expected in ((0, False), (1, True), (127, True)):
|
||||
for alpha, expected in (
|
||||
(0, False),
|
||||
(127, False),
|
||||
(128, True),
|
||||
(255, True),
|
||||
):
|
||||
path = root / f"alpha-{alpha}.png"
|
||||
Image.new("RGBA", (2, 2), (10, 20, 30, alpha)).save(path)
|
||||
mask = self.geometry.foreground_mesh_mask(path, (2, 2))
|
||||
|
||||
Reference in New Issue
Block a user