dkist-processing-trend 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.
Files changed (66) hide show
  1. changelog/.gitempty +0 -0
  2. dkist_processing_trend/__init__.py +10 -0
  3. dkist_processing_trend/config.py +11 -0
  4. dkist_processing_trend/models/__init__.py +1 -0
  5. dkist_processing_trend/models/constants.py +143 -0
  6. dkist_processing_trend/models/fit_options.py +15 -0
  7. dkist_processing_trend/models/fits_access.py +65 -0
  8. dkist_processing_trend/models/instrument.py +35 -0
  9. dkist_processing_trend/models/instrument_options.py +35 -0
  10. dkist_processing_trend/models/parameters.py +134 -0
  11. dkist_processing_trend/models/tags.py +117 -0
  12. dkist_processing_trend/models/task_name.py +20 -0
  13. dkist_processing_trend/parsers/__init__.py +1 -0
  14. dkist_processing_trend/parsers/arm_id.py +103 -0
  15. dkist_processing_trend/parsers/instrument_unique_bud.py +40 -0
  16. dkist_processing_trend/parsers/time.py +27 -0
  17. dkist_processing_trend/parsers/trend_l0_fits_access.py +123 -0
  18. dkist_processing_trend/tasks/__init__.py +27 -0
  19. dkist_processing_trend/tasks/arm_task_factory.py +57 -0
  20. dkist_processing_trend/tasks/dark.py +56 -0
  21. dkist_processing_trend/tasks/gain.py +74 -0
  22. dkist_processing_trend/tasks/initialize_arm_tasks.py +50 -0
  23. dkist_processing_trend/tasks/parse.py +169 -0
  24. dkist_processing_trend/tasks/prepare_fit_data_base.py +257 -0
  25. dkist_processing_trend/tasks/run_pac_fitter.py +392 -0
  26. dkist_processing_trend/tasks/trend_base.py +97 -0
  27. dkist_processing_trend/tasks/trend_output_data.py +167 -0
  28. dkist_processing_trend/tasks/visp/__init__.py +6 -0
  29. dkist_processing_trend/tasks/visp/visp_dmpd.py +410 -0
  30. dkist_processing_trend/tasks/visp/visp_extract_beam.py +14 -0
  31. dkist_processing_trend/tasks/visp/visp_geometric.py +260 -0
  32. dkist_processing_trend/tasks/visp/visp_prep_fit_data.py +162 -0
  33. dkist_processing_trend/tasks/visp/visp_process_demod.py +236 -0
  34. dkist_processing_trend/tasks/write_trend.py +663 -0
  35. dkist_processing_trend/tests/__init__.py +1 -0
  36. dkist_processing_trend/tests/conftest.py +718 -0
  37. dkist_processing_trend/tests/local_trial_workflows/__init__.py +0 -0
  38. dkist_processing_trend/tests/local_trial_workflows/l0_to_trend_visp_polcal.py +294 -0
  39. dkist_processing_trend/tests/local_trial_workflows/local_trial_helpers.py +488 -0
  40. dkist_processing_trend/tests/test_arm_task_factory.py +82 -0
  41. dkist_processing_trend/tests/test_base_tasks.py +86 -0
  42. dkist_processing_trend/tests/test_constants.py +120 -0
  43. dkist_processing_trend/tests/test_dark.py +97 -0
  44. dkist_processing_trend/tests/test_gain.py +135 -0
  45. dkist_processing_trend/tests/test_parameters.py +149 -0
  46. dkist_processing_trend/tests/test_parse.py +276 -0
  47. dkist_processing_trend/tests/test_prep_fit_data_base.py +233 -0
  48. dkist_processing_trend/tests/test_publish_catalog_messages.py +45 -0
  49. dkist_processing_trend/tests/test_run_pac_fitter.py +371 -0
  50. dkist_processing_trend/tests/test_stems.py +75 -0
  51. dkist_processing_trend/tests/test_transfer_output_data.py +76 -0
  52. dkist_processing_trend/tests/test_trend_fits_access.py +173 -0
  53. dkist_processing_trend/tests/test_visp.py +874 -0
  54. dkist_processing_trend/tests/test_workflows.py +10 -0
  55. dkist_processing_trend/tests/test_write_trend.py +460 -0
  56. dkist_processing_trend/workflows/__init__.py +3 -0
  57. dkist_processing_trend/workflows/visp.py +58 -0
  58. dkist_processing_trend-0.1.0.dist-info/METADATA +549 -0
  59. dkist_processing_trend-0.1.0.dist-info/RECORD +66 -0
  60. dkist_processing_trend-0.1.0.dist-info/WHEEL +5 -0
  61. dkist_processing_trend-0.1.0.dist-info/top_level.txt +3 -0
  62. docs/conf.py +57 -0
  63. docs/index.rst +10 -0
  64. docs/l0_to_trend_visp_polcal.rst +4 -0
  65. docs/landing_page.rst +11 -0
  66. docs/requirements_table.rst +8 -0
docs/conf.py ADDED
@@ -0,0 +1,57 @@
1
+ """Configuration file for the Sphinx documentation builder."""
2
+
3
+ # -- stdlib imports ------------------------------------------------------------
4
+ import importlib
5
+ import sys
6
+ import warnings
7
+ from importlib.metadata import distribution
8
+
9
+ from dkist_sphinx_theme.conf import *
10
+ from dkist_sphinx_theme.create_intersphinx_mapping import create_intersphinx_mapping
11
+ from packaging.version import Version
12
+
13
+ # Need a name for the overall repo
14
+ # __name__ where this code executes is "builtins" so that is no help
15
+ repo_name = "dkist-processing-trend"
16
+ package_name = repo_name.replace("-", "_")
17
+
18
+ dist = distribution(package_name)
19
+ package = importlib.import_module(package_name)
20
+
21
+ # -- Check for docs dependencies ----------------------------------------------------
22
+ missing_requirements = missing_dependencies_by_extra(package_name, extras=["docs"])
23
+ if missing_requirements["docs"]:
24
+ print(
25
+ f"The {' '.join(missing_requirements['docs'])} package(s) could not be found and "
26
+ "is needed to build the documentation, please install the 'docs' requirements."
27
+ )
28
+ sys.exit(1)
29
+
30
+ # auto api parameters that cannot be moved into the theme:
31
+ autoapi_dirs = [Path(package.__file__).parent]
32
+ # Uncomment this for debugging
33
+ # autoapi_keep_files = True
34
+
35
+ # -- Options for intersphinx extension -----------------------------------------
36
+ intersphinx_mapping = create_intersphinx_mapping(repo_name) | {
37
+ "lmfit": ("https://lmfit.github.io/lmfit-py", None),
38
+ "sklearn": ("https://scikit-learn.org/stable/", None),
39
+ "skimage": ("https://scikit-image.org/docs/stable", None),
40
+ }
41
+ # Remaining sphinx settings are in dkist-sphinx-theme conf.py
42
+
43
+ # -- Project information -------------------------------------------------------
44
+ project = "DKIST-PROCESSING-TREND"
45
+
46
+ # The full version, including alpha/beta/rc tags
47
+ dkist_version = Version(dist.version)
48
+ is_release = not (dkist_version.is_prerelease or dkist_version.is_devrelease)
49
+ # We want to ignore all warnings in a release version.
50
+ if is_release:
51
+ warnings.simplefilter("ignore")
52
+
53
+ # Extensions so we can create the reqmts table and the workflow diagram
54
+ extensions += [
55
+ "dkist_sphinx_theme.create_requirements_table",
56
+ "dkist_sphinx_theme.create_workflow_diagram",
57
+ ]
docs/index.rst ADDED
@@ -0,0 +1,10 @@
1
+ .. include:: landing_page.rst
2
+
3
+ .. toctree::
4
+ :maxdepth: 2
5
+ :hidden:
6
+
7
+ self
8
+ l0_to_trend_visp_polcal
9
+ autoapi/index
10
+ requirements_table
@@ -0,0 +1,4 @@
1
+ l0_to_trend_visp_polcal
2
+ =======================
3
+
4
+ .. workflow_diagram:: dkist_processing_trend.workflows.visp.visp_polcal_pipeline
docs/landing_page.rst ADDED
@@ -0,0 +1,11 @@
1
+ Overview
2
+ ========
3
+
4
+ `dkist-processing-trend` contains workflows designed to process DKIST calibration data over large periods of time.
5
+ The results of these workflows are homogeneous across time and are designed to enable analysis of trends in instrument and
6
+ telescope performance.
7
+
8
+ Unlike the L1 pipelines, this repo contains workflows for all polarimetric DKIST instruments. Another key difference in workflow
9
+ construction is that splitting input data into instrument arms happens at the workflow level.
10
+
11
+ These documentation pages serve primarily as a record of the API and individual workflows.
@@ -0,0 +1,8 @@
1
+ Package Requirements
2
+ ====================
3
+
4
+ This table shows the main Python packages and their respective
5
+ versions that were used to build the calibration codes documented
6
+ here. All of these packages are available on `PyPI <https://pypi.org>`_.
7
+
8
+ .. requirements_table:: dkist-processing-trend