Refactor depth reference handling and cleanup
- Unified reference depth calculation to use a single implementation in common/depth.py. - Removed server-side reference depth computation and adjusted depth.json to only include image_size and intrinsics. - Updated depth texture handling to ignore transparent, invalid, and non-positive pixels when calculating reference depth. - Changed reference depth calculation to use the 95th percentile of valid depth values. - Adjusted depth direction fitting to return a flat direction when no samples are available. - Removed cleanup threshold parameters from Cutout and related nodes, simplifying the interface. - Updated tests to verify new reference depth logic and ensure compatibility with existing functionality.
This commit is contained in:
@@ -3,27 +3,6 @@ from .nodes import math_node
|
||||
from anyimage.operators.cutout_tool.shape import BALLOON_ATTRIBUTE_NAME
|
||||
|
||||
|
||||
def _island_cleanup(group, geometry, cleanup):
|
||||
nodes = group.nodes
|
||||
links = group.links
|
||||
mesh_island = nodes.new("GeometryNodeInputMeshIsland")
|
||||
face_area = nodes.new("GeometryNodeInputMeshFaceArea")
|
||||
island_area = nodes.new("GeometryNodeAccumulateField")
|
||||
island_area.data_type = "FLOAT"
|
||||
island_area.domain = "FACE"
|
||||
links.new(face_area.outputs["Area"], island_area.inputs["Value"])
|
||||
links.new(mesh_island.outputs["Island Index"], island_area.inputs["Group ID"])
|
||||
|
||||
tiny = math_node(nodes, "LESS_THAN")
|
||||
links.new(island_area.outputs["Total"], tiny.inputs[0])
|
||||
links.new(cleanup, tiny.inputs[1])
|
||||
delete = nodes.new("GeometryNodeDeleteGeometry")
|
||||
delete.domain = "FACE"
|
||||
links.new(geometry, delete.inputs["Geometry"])
|
||||
links.new(tiny.outputs[0], delete.inputs["Selection"])
|
||||
return delete.outputs["Geometry"]
|
||||
|
||||
|
||||
def _profile_field(group, geometry):
|
||||
nodes = group.nodes
|
||||
links = group.links
|
||||
|
||||
Reference in New Issue
Block a user