sec_interp.core.services.drillhole_service module
Drillhole Data Processing Service (pure computation).
This module provides the pure computation for projecting and processing
drillhole data — collar projection, trajectory calculation, and interval
interpolation — operating on a detached DrillholeContext.
- class sec_interp.core.services.drillhole_service.DrillholeService(collar_processor: CollarProcessor | None = None, survey_processor: SurveyProcessor | None = None, interval_processor: IntervalProcessor | None = None, data_fetcher: Any | None = None, trajectory_engine: TrajectoryEngine | None = None)
Bases:
IDrillholeService,TranslatableMixinService for processing and orchestrating drillhole data (QGIS-agnostic).
- __init__(collar_processor: CollarProcessor | None = None, survey_processor: SurveyProcessor | None = None, interval_processor: IntervalProcessor | None = None, data_fetcher: Any | None = None, trajectory_engine: TrajectoryEngine | None = None) None
Initialize the service with specialized processors.
- Parameters:
collar_processor – Optional collar processor.
survey_processor – Optional survey processor.
interval_processor – Optional interval processor.
data_fetcher – Kept for backward-compatible construction (unused).
trajectory_engine – Optional trajectory engine.
- process_context(context: DrillholeContext, feedback: Any | None = None) tuple[list[GeologySegment], list[DrillholeProjection]] | None
Process drillholes from a detached context (pure computation).
- Parameters:
context – Fully-detached drillhole data from
DrillholeExtractor.feedback – Optional feedback object for progress/cancellation.
- Returns:
A tuple
(geol_data, drillhole_data), or None if cancelled.