feat: initial commit - massive-cloud point cloud processing system
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"""Public exception hierarchy for coupler_panel.
|
||||
|
||||
Catch :class:`CouplerError` for any algorithm failure that should be
|
||||
surfaced to the user. Subclasses indicate what specifically went wrong so
|
||||
callers can render targeted error messages.
|
||||
|
||||
Non-fatal data-quality issues are **not** raised; they are reported via
|
||||
``CouplerMeasurement.quality_flags``.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
|
||||
class CouplerError(Exception):
|
||||
"""Base class for all errors raised by the coupler-panel pipeline."""
|
||||
|
||||
|
||||
class InvalidPointCloudError(CouplerError):
|
||||
"""Raised when the input point cloud is malformed or unreadable."""
|
||||
|
||||
|
||||
class UnsupportedFormatError(InvalidPointCloudError):
|
||||
"""Raised when the input file extension is not supported."""
|
||||
|
||||
|
||||
class InsufficientPointsError(CouplerError):
|
||||
"""Raised when the input has too few points to run the pipeline."""
|
||||
|
||||
|
||||
class CADParseError(CouplerError):
|
||||
"""Raised when the STP file cannot be parsed or has unexpected topology."""
|
||||
|
||||
|
||||
class HoleDetectionError(CouplerError):
|
||||
"""Raised when the four locating holes cannot be reliably detected."""
|
||||
|
||||
|
||||
class RegistrationError(CouplerError):
|
||||
"""Raised when 4-hole Kabsch registration fails (e.g. degenerate pairing)."""
|
||||
|
||||
|
||||
class PlaneFitError(CouplerError):
|
||||
"""Raised when the panel plane cannot be fitted (too few inliers, etc.)."""
|
||||
|
||||
|
||||
__all__ = [
|
||||
"CouplerError",
|
||||
"InvalidPointCloudError",
|
||||
"UnsupportedFormatError",
|
||||
"InsufficientPointsError",
|
||||
"CADParseError",
|
||||
"HoleDetectionError",
|
||||
"RegistrationError",
|
||||
"PlaneFitError",
|
||||
]
|
||||
Reference in New Issue
Block a user