Source code for pycsamt.ai.domain_gap

# Author: LKouadio <etanoyau@gmail.com>
# License: LGPL-3.0
"""Domain-gap and noise simulation for AI-assisted EM inversion (M3).

This package turns a clean :class:`~pycsamt.ai.data.contracts.SurveyData`
into realistic training data by injecting heteroscedastic noise, dropout,
static shift, galvanic distortion, coordinate perturbation, and outliers
(:mod:`~pycsamt.ai.domain_gap.simulator`); by fitting plausible parameter
ranges from a real survey's own QC diagnostics, AMT, CSAMT, MT, or
otherwise (:mod:`~pycsamt.ai.domain_gap.survey_fit`); and by comparing
simulated and field feature distributions quantitatively
(:mod:`~pycsamt.ai.domain_gap.report`).
"""

from __future__ import annotations

from .audit import (
    DimensionalitySummary,
    FrequencyGridReport,
    StationExclusion,
    SurveyAuditReport,
    audit_survey,
)
from .empirical import (
    EmpiricalCorruptionResult,
    apply_empirical_corruption,
)
from .report import (
    DistributionComparisonReport,
    FeatureComparison,
    compare_feature_distributions,
    compare_survey_distributions,
)
from .simulator import (
    SEVERITY_PRESETS,
    CorruptionConfig,
    CorruptionRecord,
    add_heteroscedastic_noise,
    apply_corruption_suite,
    apply_dropout,
    apply_error_floor,
    apply_galvanic_distortion,
    apply_static_shift,
    inject_outliers,
    perturb_coordinates,
)
from .survey_fit import (
    fit_corruption_config,
    fit_distortion_priors_from_sites,
    survey_data_from_sites,
)

__all__ = [
    "StationExclusion",
    "FrequencyGridReport",
    "DimensionalitySummary",
    "SurveyAuditReport",
    "audit_survey",
    "EmpiricalCorruptionResult",
    "apply_empirical_corruption",
    "SEVERITY_PRESETS",
    "CorruptionConfig",
    "CorruptionRecord",
    "add_heteroscedastic_noise",
    "apply_corruption_suite",
    "apply_dropout",
    "apply_error_floor",
    "apply_galvanic_distortion",
    "apply_static_shift",
    "inject_outliers",
    "perturb_coordinates",
    "fit_corruption_config",
    "fit_distortion_priors_from_sites",
    "survey_data_from_sites",
    "DistributionComparisonReport",
    "FeatureComparison",
    "compare_feature_distributions",
    "compare_survey_distributions",
]