Skip to content

Commit 0aad137

Browse files
authored
Merge pull request #85 from PyAutoLabs/feature/cti-resurrection-phase1
CTI resurrection Phase 1: Plotter to matplotlib function API
2 parents ab4f0c8 + d709e2f commit 0aad137

41 files changed

Lines changed: 3023 additions & 4076 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ stack imports autocti — it is a leaf like PyAutoLens.
2222
This repo was unmaintained for ~2 years and is being brought back into the
2323
ecosystem via the CTI resurrection epic
2424
([PyAutoCTI#82](https://github.com/PyAutoLabs/PyAutoCTI/issues/82)). Phase 0
25-
(importable + unit tests green on the current stack) is complete. **The
26-
visualization layer (`autocti/plot/`, `*/plot/*_plotters.py`,
27-
`*/model/plotter_interface.py`) is quarantined**: it still targets the removed
28-
autoarray Plotter API and is rewritten on the matplotlib function API
29-
(mirroring PyAutoGalaxy) in Phase 1. Until then `autocti.plot` is not
30-
importable, `Analysis` visualization no-ops with a logged warning, and the
31-
plot tests are skipped via `test_autocti/conftest.py`.
25+
(importable + unit tests green on the current stack) and Phase 1 (the
26+
visualization layer rewritten on the matplotlib **function API**, mirroring
27+
PyAutoGalaxy: per-domain `plot/*_plots.py` function modules, config-gated
28+
`model/plotter.py` orchestrators, `autocti/util/plot_utils.py` helpers) are
29+
complete. Remaining: Phase 2 autofit sync (5 aggregator tests skipped pending
30+
the `AnalysisFactor`/`FactorGraphModel` port), Phase 3 CI + ecosystem
31+
plumbing, Phase 4 workspace update, Phase 5 workspace_test rebuild + release.
3232

3333
## arcticpy (read before installing)
3434

autocti/__init__.py

Lines changed: 81 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,81 @@
1-
from autoconf.dictable import from_dict, from_json, output_to_json, to_dict
2-
3-
from autoarray.mask.mask_1d import Mask1D
4-
from autoarray.layout.region import Region1D
5-
from autoarray.layout.region import Region2D
6-
from autoarray.structures.arrays.uniform_1d import Array1D
7-
from autoarray.structures.arrays.uniform_2d import Array2D
8-
from autoarray.structures.arrays.irregular import ArrayIrregular
9-
from autoarray.structures.header import Header
10-
from autoarray.dataset import preprocess
11-
from autoarray.dataset.imaging.dataset import Imaging
12-
13-
from arcticpy import ROE
14-
from arcticpy import ROEChargeInjection
15-
from arcticpy import CCD
16-
from arcticpy import CCDPhase
17-
from arcticpy import TrapInstantCapture
18-
from arcticpy import TrapSlowCapture
19-
from arcticpy import TrapInstantCaptureContinuum
20-
from arcticpy import TrapSlowCaptureContinuum
21-
from arcticpy import PixelBounce
22-
23-
from .charge_injection.fit import FitImagingCI
24-
from .charge_injection.hyper import HyperCINoiseScalar
25-
from .charge_injection.hyper import HyperCINoiseCollection
26-
from .charge_injection.imaging.imaging import ImagingCI
27-
from .charge_injection.imaging.settings import SettingsImagingCI
28-
from .charge_injection.imaging.simulator import SimulatorImagingCI
29-
from .charge_injection.layout import Layout2DCI
30-
from .cosmics.cosmics import SimulatorCosmicRayMap
31-
from .extract.settings import SettingsExtract
32-
from .extract.two_d.parallel.overscan import Extract2DParallelOverscan
33-
from .extract.two_d.parallel.fpr import Extract2DParallelFPR
34-
from .extract.two_d.parallel.eper import Extract2DParallelEPER
35-
from .extract.two_d.parallel.pre_injection import Extract2DParallelPreInjection
36-
from .extract.two_d.parallel.pedestal import Extract2DParallelPedestal
37-
from .extract.two_d.serial.prescan import Extract2DSerialPrescan
38-
from .extract.two_d.serial.overscan import Extract2DSerialOverscan
39-
from .extract.two_d.serial.overscan_no_eper import Extract2DSerialOverscanNoEPER
40-
from .extract.two_d.serial.fpr import Extract2DSerialFPR
41-
from .extract.two_d.serial.eper import Extract2DSerialEPER
42-
from .extract.two_d.parallel.calibration import Extract2DParallelCalibration
43-
from .extract.two_d.serial.calibration import Extract2DSerialCalibration
44-
from .extract.two_d.master import Extract2DMaster
45-
from .instruments import euclid
46-
from .instruments import acs
47-
from .charge_injection.fit import FitImagingCI
48-
from .charge_injection.imaging.readout_persistence import ReadoutPersistence
49-
from .mask.mask_2d import Mask2D
50-
from .mask.mask_2d import SettingsMask2D
51-
from .mask.mask_1d import Mask1D
52-
from .mask.mask_1d import SettingsMask1D
53-
from .extract.one_d.overscan import Extract1DOverscan
54-
from .extract.one_d.fpr import Extract1DFPR
55-
from .extract.one_d.eper import Extract1DEPER
56-
from .extract.one_d.master import Extract1DMaster
57-
from .layout.one_d import Layout1D
58-
from .dataset_1d.dataset_1d.dataset_1d import Dataset1D
59-
from .dataset_1d.dataset_1d.simulator import SimulatorDataset1D
60-
from .dataset_1d.fit import FitDataset1D
61-
from .dataset_1d.model.analysis import AnalysisDataset1D
62-
from .dataset_1d.model.result import ResultDataset1D
63-
from .charge_injection.model.analysis import AnalysisImagingCI
64-
from .charge_injection.model.result import ResultImagingCI
65-
from .model.analysis import AnalysisCTI
66-
from .model.model_util import CTI1D
67-
from .model.model_util import CTI2D
68-
from .model.settings import SettingsCTI1D
69-
from .model.settings import SettingsCTI2D
70-
from .clocker.one_d import Clocker1D
71-
from .clocker.two_d import Clocker2D
72-
from . import aggregator as agg
73-
from . import util
74-
75-
# `from . import plot` is quarantined: the Plotter object stack targets the
76-
# removed autoarray Plotter API and is rewritten on the new matplotlib function
77-
# API in Phase 1 of the CTI resurrection epic (PyAutoCTI#82).
78-
from . import mock as m # noqa
79-
80-
from autoconf import conf
81-
82-
conf.instance.register(__file__)
83-
84-
__version__ = "2024.11.13.2"
1+
from autoconf.dictable import from_dict, from_json, output_to_json, to_dict
2+
3+
from autoarray.mask.mask_1d import Mask1D
4+
from autoarray.layout.region import Region1D
5+
from autoarray.layout.region import Region2D
6+
from autoarray.structures.arrays.uniform_1d import Array1D
7+
from autoarray.structures.arrays.uniform_2d import Array2D
8+
from autoarray.structures.arrays.irregular import ArrayIrregular
9+
from autoarray.structures.header import Header
10+
from autoarray.dataset import preprocess
11+
from autoarray.dataset.imaging.dataset import Imaging
12+
13+
from arcticpy import ROE
14+
from arcticpy import ROEChargeInjection
15+
from arcticpy import CCD
16+
from arcticpy import CCDPhase
17+
from arcticpy import TrapInstantCapture
18+
from arcticpy import TrapSlowCapture
19+
from arcticpy import TrapInstantCaptureContinuum
20+
from arcticpy import TrapSlowCaptureContinuum
21+
from arcticpy import PixelBounce
22+
23+
from .charge_injection.fit import FitImagingCI
24+
from .charge_injection.hyper import HyperCINoiseScalar
25+
from .charge_injection.hyper import HyperCINoiseCollection
26+
from .charge_injection.imaging.imaging import ImagingCI
27+
from .charge_injection.imaging.settings import SettingsImagingCI
28+
from .charge_injection.imaging.simulator import SimulatorImagingCI
29+
from .charge_injection.layout import Layout2DCI
30+
from .cosmics.cosmics import SimulatorCosmicRayMap
31+
from .extract.settings import SettingsExtract
32+
from .extract.two_d.parallel.overscan import Extract2DParallelOverscan
33+
from .extract.two_d.parallel.fpr import Extract2DParallelFPR
34+
from .extract.two_d.parallel.eper import Extract2DParallelEPER
35+
from .extract.two_d.parallel.pre_injection import Extract2DParallelPreInjection
36+
from .extract.two_d.parallel.pedestal import Extract2DParallelPedestal
37+
from .extract.two_d.serial.prescan import Extract2DSerialPrescan
38+
from .extract.two_d.serial.overscan import Extract2DSerialOverscan
39+
from .extract.two_d.serial.overscan_no_eper import Extract2DSerialOverscanNoEPER
40+
from .extract.two_d.serial.fpr import Extract2DSerialFPR
41+
from .extract.two_d.serial.eper import Extract2DSerialEPER
42+
from .extract.two_d.parallel.calibration import Extract2DParallelCalibration
43+
from .extract.two_d.serial.calibration import Extract2DSerialCalibration
44+
from .extract.two_d.master import Extract2DMaster
45+
from .instruments import euclid
46+
from .instruments import acs
47+
from .charge_injection.fit import FitImagingCI
48+
from .charge_injection.imaging.readout_persistence import ReadoutPersistence
49+
from .mask.mask_2d import Mask2D
50+
from .mask.mask_2d import SettingsMask2D
51+
from .mask.mask_1d import Mask1D
52+
from .mask.mask_1d import SettingsMask1D
53+
from .extract.one_d.overscan import Extract1DOverscan
54+
from .extract.one_d.fpr import Extract1DFPR
55+
from .extract.one_d.eper import Extract1DEPER
56+
from .extract.one_d.master import Extract1DMaster
57+
from .layout.one_d import Layout1D
58+
from .dataset_1d.dataset_1d.dataset_1d import Dataset1D
59+
from .dataset_1d.dataset_1d.simulator import SimulatorDataset1D
60+
from .dataset_1d.fit import FitDataset1D
61+
from .dataset_1d.model.analysis import AnalysisDataset1D
62+
from .dataset_1d.model.result import ResultDataset1D
63+
from .charge_injection.model.analysis import AnalysisImagingCI
64+
from .charge_injection.model.result import ResultImagingCI
65+
from .model.analysis import AnalysisCTI
66+
from .model.model_util import CTI1D
67+
from .model.model_util import CTI2D
68+
from .model.settings import SettingsCTI1D
69+
from .model.settings import SettingsCTI2D
70+
from .clocker.one_d import Clocker1D
71+
from .clocker.two_d import Clocker2D
72+
from . import aggregator as agg
73+
from . import util
74+
from . import plot
75+
from . import mock as m # noqa
76+
77+
from autoconf import conf
78+
79+
conf.instance.register(__file__)
80+
81+
__version__ = "2024.11.13.2"

0 commit comments

Comments
 (0)