pychmp 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pychmp/__init__.py ADDED
@@ -0,0 +1,117 @@
1
+ """pyCHMP package.
2
+
3
+ Algorithmic provenance:
4
+ - The search workflow is inspired by the established IDL implementation in
5
+ gxmodelfitting (Alexey Kuznetsov):
6
+ https://github.com/kuznetsov-radio/gxmodelfitting
7
+ """
8
+
9
+ from .ab_search import (
10
+ ABLocalSearchResult,
11
+ ABPointResult,
12
+ ABScanResult,
13
+ ABRendererFactory,
14
+ ExpandResumeContext,
15
+ evaluate_ab_point,
16
+ idl_q0_start_heuristic,
17
+ multi_scan_ab,
18
+ search_local_minimum_ab,
19
+ select_expand_frontier_seed,
20
+ widened_boundary_axes,
21
+ )
22
+ from .fits_utils import extract_frequency_ghz, load_2d_fits_image
23
+ from .fitting import Q0MapRenderer, fit_q0_to_observation
24
+ from .gxrender_adapter import EUVResponseIdentity, EUV_RESPONSE_IDENTITY_VERSION, ForwardModelIdentity, FORWARD_MODEL_IDENTITY_VERSION, GXRenderEUVAdapter, GXRenderMWAdapter, GXRenderMWContext, ResolvedRenderGeometry, build_tr_region_mask_from_blos, compute_euv_response_identity, compute_forward_model_identity_placeholder, recombine_euv_components, resolve_euv_response_identity, resolve_render_geometry_via_gxrender
25
+ from .geometry_policy import GeometryPolicyDecision, infer_observation_observer, resolve_geometry_policy
26
+ from .map_noise import MapNoiseEstimate, estimate_map_noise
27
+ from .metrics import MetricValues, compute_metrics, threshold_union_mask
28
+ from .obs_maps import ObservationalMap, estimate_obs_map_noise, load_obs_map, obs_map_noise_unit_label, validate_obs_map_identity, find_named_testdata_file, resolve_default_testdata_fixture_paths
29
+ from .obs_time_alignment import ObsModelTimeAlignment, align_observation_to_model_time, assess_obs_model_time_alignment, load_model_obs_time_text
30
+ from .obs_preprocessing import (
31
+ SliceObservationReference,
32
+ SliceObservationReferenceError,
33
+ build_slice_observation_identity,
34
+ prepare_observation_for_metrics,
35
+ regrid_observation_to_target_fov,
36
+ resolve_slice_observation_reference,
37
+ slice_observation_identity_sha256,
38
+ )
39
+ from .optimize import Q0MetricEvaluation, Q0OptimizationResult, find_best_q0
40
+ from .psf import PSFMetadata, KernelConvolvedRenderer, build_psf_kernel, default_psf_metadata, effective_psf_parameters, elliptical_gaussian_kernel, extract_psf_metadata_from_header, format_psf_report, resolve_psf_metadata
41
+ from .spectral import RenderSliceRequest, default_euv_channels_for_instrument, parse_csv_floats, parse_csv_tokens
42
+ from .ab_scan_artifacts import extract_artifact_identity_summary
43
+
44
+ __all__ = [
45
+ "__version__",
46
+ "MetricValues",
47
+ "compute_metrics",
48
+ "threshold_union_mask",
49
+ "load_2d_fits_image",
50
+ "extract_frequency_ghz",
51
+ "ObservationalMap",
52
+ "load_obs_map",
53
+ "estimate_obs_map_noise",
54
+ "obs_map_noise_unit_label",
55
+ "validate_obs_map_identity",
56
+ "find_named_testdata_file",
57
+ "resolve_default_testdata_fixture_paths",
58
+ "Q0MapRenderer",
59
+ "fit_q0_to_observation",
60
+ "ABRendererFactory",
61
+ "ABPointResult",
62
+ "ABScanResult",
63
+ "ABLocalSearchResult",
64
+ "evaluate_ab_point",
65
+ "idl_q0_start_heuristic",
66
+ "multi_scan_ab",
67
+ "search_local_minimum_ab",
68
+ "ExpandResumeContext",
69
+ "select_expand_frontier_seed",
70
+ "widened_boundary_axes",
71
+ "GXRenderMWAdapter",
72
+ "GXRenderMWContext",
73
+ "GXRenderEUVAdapter",
74
+ "EUVResponseIdentity",
75
+ "EUV_RESPONSE_IDENTITY_VERSION",
76
+ "compute_euv_response_identity",
77
+ "resolve_euv_response_identity",
78
+ "ResolvedRenderGeometry",
79
+ "resolve_render_geometry_via_gxrender",
80
+ "GeometryPolicyDecision",
81
+ "infer_observation_observer",
82
+ "resolve_geometry_policy",
83
+ "ObsModelTimeAlignment",
84
+ "assess_obs_model_time_alignment",
85
+ "align_observation_to_model_time",
86
+ "load_model_obs_time_text",
87
+ "prepare_observation_for_metrics",
88
+ "regrid_observation_to_target_fov",
89
+ "resolve_slice_observation_reference",
90
+ "SliceObservationReference",
91
+ "SliceObservationReferenceError",
92
+ "build_slice_observation_identity",
93
+ "slice_observation_identity_sha256",
94
+ "build_tr_region_mask_from_blos",
95
+ "recombine_euv_components",
96
+ "extract_artifact_identity_summary",
97
+ "MapNoiseEstimate",
98
+ "estimate_map_noise",
99
+ "Q0MetricEvaluation",
100
+ "Q0OptimizationResult",
101
+ "find_best_q0",
102
+ "PSFMetadata",
103
+ "KernelConvolvedRenderer",
104
+ "build_psf_kernel",
105
+ "default_psf_metadata",
106
+ "effective_psf_parameters",
107
+ "elliptical_gaussian_kernel",
108
+ "extract_psf_metadata_from_header",
109
+ "format_psf_report",
110
+ "resolve_psf_metadata",
111
+ "RenderSliceRequest",
112
+ "default_euv_channels_for_instrument",
113
+ "parse_csv_floats",
114
+ "parse_csv_tokens",
115
+ ]
116
+
117
+ __version__ = "0.1.0"
pychmp/__main__.py ADDED
@@ -0,0 +1,5 @@
1
+ from .cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ raise SystemExit(main())