optixstuff 1.5.0__tar.gz → 3.0.0__tar.gz
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.
- {optixstuff-1.5.0 → optixstuff-3.0.0}/.pre-commit-config.yaml +8 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/CHANGELOG.md +29 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/PKG-INFO +6 -3
- {optixstuff-1.5.0 → optixstuff-3.0.0}/README.md +4 -2
- {optixstuff-1.5.0 → optixstuff-3.0.0}/pyproject.toml +1 -1
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/__init__.py +10 -1
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/_version.py +2 -2
- optixstuff-3.0.0/src/optixstuff/coronagraph.py +753 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/disperser.py +14 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/optical_path.py +11 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/primary.py +28 -5
- optixstuff-3.0.0/src/optixstuff/speckle.py +85 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/yippy_coronagraph.py +11 -8
- optixstuff-3.0.0/tools/check_internal_refs.py +80 -0
- optixstuff-1.5.0/src/optixstuff/coronagraph.py +0 -193
- {optixstuff-1.5.0 → optixstuff-3.0.0}/.gitignore +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/.readthedocs.yaml +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/.zenodo.json +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/CITATION.cff +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/LICENSE +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/_repr.py +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/detector.py +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/exposure.py +0 -0
- {optixstuff-1.5.0 → optixstuff-3.0.0}/src/optixstuff/optical_elements.py +0 -0
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
repos:
|
|
2
|
+
- repo: local
|
|
3
|
+
hooks:
|
|
4
|
+
- id: no-internal-refs
|
|
5
|
+
name: no internal research references
|
|
6
|
+
entry: python3 tools/check_internal_refs.py
|
|
7
|
+
language: system
|
|
8
|
+
types: [text]
|
|
9
|
+
exclude: ^(CHANGELOG\.md|tools/check_internal_refs\.py)$
|
|
2
10
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
11
|
rev: "v6.0.0"
|
|
4
12
|
hooks:
|
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.0.0](https://github.com/CoreySpohn/optixstuff/compare/v2.0.0...v3.0.0) (2026-07-20)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* **coronagraph:** sampling-explicit image contract -- wavelength-explicit stellar_map/source_psfs/background_transmission/extended_scene, table SPI base, MultiBandCoronagraph
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **coronagraph:** sampling-explicit image contract -- wavelength-explicit stellar_map/source_psfs/background_transmission/extended_scene, table SPI base, MultiBandCoronagraph ([76c578b](https://github.com/CoreySpohn/optixstuff/commit/76c578be46ee79281dbb24ef44e3af4708fd7155))
|
|
13
|
+
|
|
14
|
+
## [2.0.0](https://github.com/CoreySpohn/optixstuff/compare/v1.5.0...v2.0.0) (2026-07-10)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### ⚠ BREAKING CHANGES
|
|
18
|
+
|
|
19
|
+
* **disperser:** sky_pitch_arcsec replaces sky_pitch_lod -- the cube grid is fixed-angle, so the pitch is a plain angle
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* **disperser:** sky_pitch_lod + psflet_pack_path descriptor fields ([d2ae639](https://github.com/CoreySpohn/optixstuff/commit/d2ae6392a5f24a2c3b43413149dd7e89b7125600))
|
|
24
|
+
* **primary:** exact segment geometry -- optional segment_point_to_point_m and inscribed_diameter_m, segment_pitch_m, flat-top segment_centres_m matching the HWO EAC baseline pupils ([4c5b4b7](https://github.com/CoreySpohn/optixstuff/commit/4c5b4b71843450339c2a330d74833a5b53a5431d))
|
|
25
|
+
* **speckle:** add AbstractSpeckleField interface and OpticalPath.speckle ([fb7b501](https://github.com/CoreySpohn/optixstuff/commit/fb7b501a2b105350786f757c7c5c761f8bfef2b0))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Code Refactoring
|
|
29
|
+
|
|
30
|
+
* **disperser:** sky_pitch_arcsec replaces sky_pitch_lod -- the cube grid is fixed-angle, so the pitch is a plain angle ([31041e2](https://github.com/CoreySpohn/optixstuff/commit/31041e2b85402b083ce2e7913100cfc2919452f3))
|
|
31
|
+
|
|
3
32
|
## [1.5.0](https://github.com/CoreySpohn/optixstuff/compare/v1.4.0...v1.5.0) (2026-06-27)
|
|
4
33
|
|
|
5
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: optixstuff
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Hardware abstractions for the HWO direct imaging simulation suite
|
|
5
5
|
Project-URL: Homepage, https://github.com/CoreySpohn/optixstuff
|
|
6
6
|
Project-URL: Issues, https://github.com/CoreySpohn/optixstuff/issues
|
|
@@ -34,6 +34,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
34
34
|
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
35
35
|
Requires-Python: >=3.11
|
|
36
36
|
Requires-Dist: equinox>=0.12.0
|
|
37
|
+
Requires-Dist: hwoutils
|
|
37
38
|
Requires-Dist: interpax
|
|
38
39
|
Requires-Dist: jax>=0.4.1
|
|
39
40
|
Requires-Dist: jaxlib>=0.4.1
|
|
@@ -94,8 +95,10 @@ Built on [JAX](https://github.com/google/jax) and
|
|
|
94
95
|
|
|
95
96
|
- **Abstract interfaces** — `AbstractPrimary`, `AbstractOpticalElement`,
|
|
96
97
|
`AbstractCoronagraph`, `AbstractDetector`, `AbstractDisperser`
|
|
97
|
-
- **Concrete implementations** — `SimplePrimary`, `
|
|
98
|
-
|
|
98
|
+
- **Concrete implementations** — `SimplePrimary`, `SegmentedPrimary` (carries
|
|
99
|
+
hex segment geometry for a diffraction backend), `ConstantThroughput`,
|
|
100
|
+
`IdealDetector`, `Detector` (with optional wavelength-dependent QE),
|
|
101
|
+
`LensletDisperser`
|
|
99
102
|
- **Container** — `OpticalPath`, a composable hardware configuration passed to all
|
|
100
103
|
simulators
|
|
101
104
|
|
|
@@ -36,8 +36,10 @@ Built on [JAX](https://github.com/google/jax) and
|
|
|
36
36
|
|
|
37
37
|
- **Abstract interfaces** — `AbstractPrimary`, `AbstractOpticalElement`,
|
|
38
38
|
`AbstractCoronagraph`, `AbstractDetector`, `AbstractDisperser`
|
|
39
|
-
- **Concrete implementations** — `SimplePrimary`, `
|
|
40
|
-
|
|
39
|
+
- **Concrete implementations** — `SimplePrimary`, `SegmentedPrimary` (carries
|
|
40
|
+
hex segment geometry for a diffraction backend), `ConstantThroughput`,
|
|
41
|
+
`IdealDetector`, `Detector` (with optional wavelength-dependent QE),
|
|
42
|
+
`LensletDisperser`
|
|
41
43
|
- **Container** — `OpticalPath`, a composable hardware configuration passed to all
|
|
42
44
|
simulators
|
|
43
45
|
|
|
@@ -16,7 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3",
|
|
17
17
|
"Topic :: Scientific/Engineering :: Astronomy",
|
|
18
18
|
]
|
|
19
|
-
dependencies = ["equinox>=0.12.0", "interpax", "jax>=0.4.1", "jaxlib>=0.4.1", "yippy"]
|
|
19
|
+
dependencies = ["equinox>=0.12.0", "hwoutils", "interpax", "jax>=0.4.1", "jaxlib>=0.4.1", "yippy"]
|
|
20
20
|
|
|
21
21
|
[project.optional-dependencies]
|
|
22
22
|
dev = ["pre-commit"]
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"""optixstuff -- Hardware abstractions for the HWO simulation suite."""
|
|
2
2
|
|
|
3
3
|
from optixstuff._version import __version__
|
|
4
|
-
from optixstuff.coronagraph import
|
|
4
|
+
from optixstuff.coronagraph import (
|
|
5
|
+
AbstractCoronagraph,
|
|
6
|
+
AbstractScalarCoronagraph,
|
|
7
|
+
AbstractTableCoronagraph,
|
|
8
|
+
MultiBandCoronagraph,
|
|
9
|
+
)
|
|
5
10
|
from optixstuff.detector import (
|
|
6
11
|
AbstractDetector,
|
|
7
12
|
Detector,
|
|
@@ -20,6 +25,7 @@ from optixstuff.optical_elements import (
|
|
|
20
25
|
)
|
|
21
26
|
from optixstuff.optical_path import OpticalPath
|
|
22
27
|
from optixstuff.primary import AbstractPrimary, SegmentedPrimary, SimplePrimary
|
|
28
|
+
from optixstuff.speckle import AbstractSpeckleField
|
|
23
29
|
from optixstuff.yippy_coronagraph import YippyCoronagraph
|
|
24
30
|
|
|
25
31
|
__all__ = [
|
|
@@ -29,12 +35,15 @@ __all__ = [
|
|
|
29
35
|
"AbstractOpticalElement",
|
|
30
36
|
"AbstractPrimary",
|
|
31
37
|
"AbstractScalarCoronagraph",
|
|
38
|
+
"AbstractSpeckleField",
|
|
39
|
+
"AbstractTableCoronagraph",
|
|
32
40
|
"AbstractUniformElement",
|
|
33
41
|
"ConstantThroughput",
|
|
34
42
|
"Detector",
|
|
35
43
|
"ExposureConfig",
|
|
36
44
|
"IdealDetector",
|
|
37
45
|
"LensletDisperser",
|
|
46
|
+
"MultiBandCoronagraph",
|
|
38
47
|
"OpticalPath",
|
|
39
48
|
"SegmentedPrimary",
|
|
40
49
|
"SimplePrimary",
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '
|
|
22
|
-
__version_tuple__ = version_tuple = (
|
|
21
|
+
__version__ = version = '3.0.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (3, 0, 0)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|