62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
"""Point-cloud-only underframe beam deflection measurement.
|
|
|
|
Public API (stable across patch releases — see USAGE.md):
|
|
|
|
- :func:`compute_deflection` — pure, in-memory computation; returns a
|
|
:class:`DeflectionResult`.
|
|
- :func:`load_point_cloud` — read a PLY/XYZ/CSV file into a numpy array.
|
|
- :class:`DeflectionResult`, :class:`SideDeflection`, :class:`DeflectionCurves`
|
|
— the result schema.
|
|
- :mod:`underframe_deflection.artifacts` — optional file writers
|
|
(JSON / CSV / PNG plots / coloured PLY overlays).
|
|
- :mod:`underframe_deflection.exceptions` — exception hierarchy.
|
|
- :func:`run_measurement_pipeline` — convenience wrapper that does
|
|
read + compute + write-all in one call.
|
|
"""
|
|
|
|
from ._version import ALGORITHM_VERSION, SCHEMA_VERSION, __version__
|
|
from .api import (
|
|
DeflectionCurves,
|
|
DeflectionResult,
|
|
ProgressCallback,
|
|
SideDeflection,
|
|
compute_deflection,
|
|
load_point_cloud,
|
|
)
|
|
from .cad_io import read_cad_reference
|
|
from .exceptions import (
|
|
DeflectionError,
|
|
FrameInferenceError,
|
|
InsufficientPointsError,
|
|
InvalidPointCloudError,
|
|
UnsupportedFormatError,
|
|
)
|
|
from .pipeline import run_measurement_pipeline
|
|
from .preprocess import bilateral_filter_points
|
|
from .registration import RegistrationResult, register_to_cad
|
|
from .roi import apply_passthrough, load_roi_aabb
|
|
|
|
__all__ = [
|
|
"__version__",
|
|
"ALGORITHM_VERSION",
|
|
"SCHEMA_VERSION",
|
|
"compute_deflection",
|
|
"load_point_cloud",
|
|
"DeflectionResult",
|
|
"SideDeflection",
|
|
"DeflectionCurves",
|
|
"ProgressCallback",
|
|
"run_measurement_pipeline",
|
|
"DeflectionError",
|
|
"InvalidPointCloudError",
|
|
"InsufficientPointsError",
|
|
"FrameInferenceError",
|
|
"UnsupportedFormatError",
|
|
"read_cad_reference",
|
|
"load_roi_aabb",
|
|
"apply_passthrough",
|
|
"bilateral_filter_points",
|
|
"register_to_cad",
|
|
"RegistrationResult",
|
|
]
|