sec_interp.core.services.drillhole.drillhole_orchestrator module
Orchestrator for drillhole processing tasks.
This module provides the DrillholeTaskOrchestrator, which coordinates the high-level flow of drillhole data processing, including synchronous previews and asynchronous task preparation and execution.
- class sec_interp.core.services.drillhole.drillhole_orchestrator.DrillholeTaskOrchestrator(service: DrillholeService)
Bases:
objectOrchestrates high-level drillhole processing workflows.
This class separates the orchestration (the “how” and “when”) from the business logic (the “what”) contained in DrillholeService.
- __init__(service: DrillholeService) None
Initialize with a drillhole service.
- Parameters:
service – The service containing the core processing logic.
- prepare_task_input(line_layer: QgsVectorLayer, buffer_width: float, collar_layer: QgsVectorLayer, collar_id_field: str, use_geometry: bool, collar_x_field: str, collar_y_field: str, collar_z_field: str, collar_depth_field: str, survey_layer: QgsVectorLayer, survey_fields: dict[str, str], interval_layer: QgsVectorLayer, interval_fields: dict[str, str], dem_layer: QgsRasterLayer | None = None, band_num: int = 1) DrillholeTaskInput
Prepare detached domain data for asynchronous processing.
- process_task_data(task_input: DrillholeTaskInput, feedback: Any | None = None) Any
Process drillholes using detached domain data (Thread-Safe).
- run_preview(params: PreviewParams) list[tuple] | None
Execute a synchronous drillhole preview.
This mimics the legacy generate_drillhole_data but is now managed by the orchestrator.