Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
aa4c73b
Remove offset hack
oczoske May 5, 2026
43dda59
Different approach to offset slits
oczoske May 7, 2026
a5bd2b2
Remove stray print that caused test failures
oczoske May 16, 2026
418acad
Start MicadoIFUSpectralTraceList
oczoske May 16, 2026
31ce32c
Split apply_to into separate methods for setup and observe
oczoske May 18, 2026
3375ec5
Remove prints
oczoske May 18, 2026
385cade
Set ImagePlane to 32bit
oczoske May 18, 2026
b2de962
MICADO IFU works
oczoske May 18, 2026
b633151
Staggered ifu slices
oczoske May 19, 2026
8b01497
Flipped sign of offset
oczoske May 20, 2026
10a7bdb
offset more systematic
oczoske May 25, 2026
2ce224d
Fix transposed axes in make_image_interpolations
astronomyk Aug 19, 2026
fdd4822
Refactor `TERCurve.apply_to()`
teutoburg Aug 30, 2026
94998b3
Refactor `.apply_to()` in electronic effects
teutoburg Aug 30, 2026
779f146
Eliminate remaining `Detector._hdu` calls
teutoburg Aug 31, 2026
a522f1e
Snap the placement origin, not the centre, in overlay_image
astronomyk Sep 4, 2026
e596484
Derive the FOV image cutout WCS from the slice it actually took
astronomyk Sep 4, 2026
c47dc7a
Refactor `TERCurve.apply_to()` (#1004)
teutoburg Sep 4, 2026
bb100a8
Share one pixel lattice between an image plane and its chunks
astronomyk Sep 4, 2026
922a929
Merge branch 'main' into fix/image-interpolation-axes
astronomyk Sep 4, 2026
597daa1
Fix transposed axes in `make_image_interpolations` (#984)
astronomyk Sep 4, 2026
3fd301d
Generate chunk edges without np.arange's platform-dependent endpoint
astronomyk Sep 4, 2026
0070eaf
Comments and cleanup
teutoburg Sep 5, 2026
ca8b8eb
Careful when cherry-picking...
teutoburg Sep 6, 2026
f370167
Remove `apply_throughput_to_cube`
teutoburg Aug 30, 2026
070f4b9
mv `scale_spectrum` to `surface.py`, rm unused functions
teutoburg Aug 30, 2026
146a466
Tiny cleanup in `OpticalTrain.readout()`
teutoburg Sep 6, 2026
7eeb317
Cleanup in `TER_curve_utils` etc. (#1014)
teutoburg Sep 6, 2026
056b1af
More cleanup
teutoburg Sep 6, 2026
4d9e508
Refactor `.apply_to()` in electronic effects (#1006)
teutoburg Sep 6, 2026
bb32c7d
Bumping version from 0.12.0b2.dev5 to 0.12.0b3.dev0
astarvienna-bot[bot] Sep 6, 2026
81b8362
Add `Detector.det_id` convenience property
teutoburg Sep 6, 2026
c9954a7
Hotfix after #1006
teutoburg Sep 7, 2026
7142851
Fixes to FOV and implane-utils for correct flat_lamp scaling
janusbrink Sep 1, 2026
d5fd529
Stick with binned flux for 2D images
teutoburg Sep 4, 2026
f3fede9
Fix 2D image rescaling (#1016)
teutoburg Sep 7, 2026
ad3592f
Apply throughput in-place for speed
oczoske Sep 9, 2026
549b04d
SPEC scaling now also fixed - moved all scaling to conserve-flux func…
janusbrink Sep 9, 2026
4c12007
Removed stray f-string from debug logging.
janusbrink Sep 9, 2026
14aeaae
Test for cube source
oczoske Sep 9, 2026
a9b1cae
Apply throughput in-place for speed (#1017)
oczoske Sep 9, 2026
828a284
Add `Detector.__str__()` method
teutoburg Sep 9, 2026
38d69ac
Use integer detector ID in tests
teutoburg Sep 9, 2026
b729dae
Fixed conserve_flux=True parameter in 3D Fov cube case - cancels out,…
janusbrink Sep 10, 2026
ae6b5b7
Add `Detector.det_id` convenience property (#1015)
teutoburg Sep 10, 2026
b27affe
Fix yet another off-by-one bug (#1013)
astronomyk Sep 10, 2026
406e2ce
SPEC scaling now also fixed (#1018)
teutoburg Sep 10, 2026
fd9d080
Formatting
teutoburg Sep 9, 2026
d81fe40
Formatting
teutoburg Sep 10, 2026
4b87a88
Formatting and cleanup (#1019)
teutoburg Sep 10, 2026
16f2b01
Allow readout ID, fix Path support
teutoburg Sep 9, 2026
120e7dc
Resolve random seed in `.observe()`
teutoburg Sep 10, 2026
9e79855
Make sure cmds is cleared in between observations
teutoburg Sep 10, 2026
a482a3f
Allow readout ID, fix Path support (#1020)
teutoburg Sep 10, 2026
30b8d36
Set INHERIT keyword and fix unit to FITS standard
oczoske Sep 10, 2026
c29df4e
Fix indexing in FoV extraction
oczoske Sep 11, 2026
a64d9b0
Added tests to catch the through-slit imaging issue
janusbrink Sep 11, 2026
9c7b0dd
Skip all tests in test_rst_utils.py
teutoburg Sep 12, 2026
719360d
Set mpl backend for tests
teutoburg Sep 12, 2026
c7b5967
Set mpl backend for tests (#1026)
teutoburg Sep 12, 2026
5752b8f
Remove unused `fov_grid()` methods
astronomyk Sep 4, 2026
eecba47
Remove old comments
teutoburg Sep 12, 2026
1519e9c
SimCADO corpse removal
teutoburg Sep 13, 2026
019abf1
Some more cleanup and removals
teutoburg Sep 13, 2026
c57604d
Skip all tests in test_rst_utils.py (#1025)
teutoburg Sep 14, 2026
4376155
Remove unused `fov_grid()` methods (#1027)
teutoburg Sep 14, 2026
4cd2139
Set INHERIT keyword and fix unit to FITS standard (#1022)
oczoske Sep 14, 2026
1a05873
Resolve random seed in `.observe()` (#1021)
teutoburg Sep 14, 2026
5d69ce9
Ensure positive CDELT and pixel area
oczoske Sep 14, 2026
cd7540c
Fix indexing in FoV extraction (#1024)
oczoske Sep 14, 2026
cf8915d
Improve randomness, refactor electronic effects
teutoburg Sep 6, 2026
5a6f25b
Include dark current in AutoExposure
oczoske Sep 17, 2026
590f3fb
SimCADO corpse removal (#1029)
teutoburg Sep 17, 2026
bb15056
A few more tests
oczoske Sep 17, 2026
3aabed0
test for warning issued
oczoske Sep 17, 2026
ad1832b
`AutoExposure` to take dark current into account (#1031)
oczoske Sep 17, 2026
2192785
Improve randomness, refactor electronic effects (#1030)
teutoburg Sep 17, 2026
1239de5
Cosmetics
oczoske Sep 17, 2026
856d8a5
Merge branch 'main' into oc/asymm_slit
oczoske Sep 17, 2026
4af9ce5
Bump soupsieve from 2.8.4 to 2.9
dependabot[bot] Sep 18, 2026
2664449
Bump soupsieve from 2.8.4 to 2.9 (#1032)
teutoburg Sep 18, 2026
d828994
Bumping version from 0.12.0b3.dev0 to 0.12.0b3.dev1
astarvienna-bot[bot] Sep 18, 2026
0c30b87
import numpy
oczoske Sep 18, 2026
26c780f
Defuse trace outside fov
oczoske Sep 18, 2026
0202a24
Define slit transforms for image slicer IFUs and offset slits (#922)
oczoske Sep 18, 2026
00b4a93
comments forgotten in #922
oczoske Sep 18, 2026
8c8bdc3
Bump anyio from 3.7.1 to 4.14.2
dependabot[bot] Sep 18, 2026
d309e9b
Bump anyio from 3.7.1 to 4.14.2 (#1033)
teutoburg Sep 18, 2026
00bc443
Bumping version from 0.12.0b3.dev1 to 0.12.0b3.dev2
astarvienna-bot[bot] Sep 18, 2026
19450cf
Bumping version from 0.12.0b3.dev2 to 0.12.0rc0
teutoburg Sep 19, 2026
5cafd64
Replaced next version placeholders with 0.12.0
astarvienna-bot[bot] Sep 19, 2026
3ace6b3
Bumping version from 0.12.0rc0 to 0.12.0rc1
teutoburg Sep 19, 2026
e0e8357
Remove no longer needed FOV logging
teutoburg Sep 21, 2026
ebd042b
Add 'prerelease' option to versioning in workflow
teutoburg Sep 21, 2026
b535b13
Bumping version from 0.12.0rc1 to 0.12.0rc2
astarvienna-bot[bot] Sep 21, 2026
338356c
Bumping version from 0.12.0rc2 to 0.12.0rc3.dev0
astarvienna-bot[bot] Sep 21, 2026
7f5d53e
Add release notes for v0.12.0 to CHANGELOG
teutoburg Sep 23, 2026
bd9ddcf
Update CHANGELOG.md
oczoske Sep 24, 2026
6fd97f2
Add release notes for v0.12.0 to CHANGELOG (#1036)
teutoburg Sep 24, 2026
80c93cb
Bumping version from 0.12.0rc3.dev0 to 0.12.0
astarvienna-bot[bot] Sep 24, 2026
4ed185b
Bumping version from 0.12.0 to 0.12.1.dev0
astarvienna-bot[bot] Sep 24, 2026
a8f524f
Bump tqdm from 4.70.0 to 4.70.1 in the main-dependencies group
dependabot[bot] Oct 1, 2026
720022e
Bump sphinxcontrib-mermaid
dependabot[bot] Oct 1, 2026
10ac2cf
Bump sphinxcontrib-mermaid from 2.1.0 to 2.1.1 in the dev-dependencie…
teutoburg Oct 1, 2026
99c0633
Bumping version from 0.12.1.dev0 to 0.12.1.dev1
astarvienna-bot[bot] Oct 1, 2026
a256ed3
Bump urllib3 from 2.7.0 to 2.8.0
dependabot[bot] Oct 1, 2026
4cda19b
Bump tornado from 6.5.8 to 6.5.9
dependabot[bot] Oct 1, 2026
3fe3821
Bump notebook from 7.6.1 to 7.6.3
dependabot[bot] Oct 1, 2026
dea4b10
Bump jupyterlab from 4.6.3 to 4.6.4
dependabot[bot] Oct 1, 2026
d07b5cb
Bump urllib3 from 2.7.0 to 2.8.0 (#1043)
teutoburg Oct 1, 2026
4322845
Bumping version from 0.12.1.dev1 to 0.12.1.dev2
astarvienna-bot[bot] Oct 1, 2026
747540f
Bump jupyterlab from 4.6.3 to 4.6.4 (#1046)
teutoburg Oct 1, 2026
8200eaa
Bumping version from 0.12.1.dev2 to 0.12.1.dev3
astarvienna-bot[bot] Oct 1, 2026
b495e51
Bump tqdm from 4.70.0 to 4.70.1 in the main-dependencies group (#1040)
teutoburg Oct 1, 2026
91d452f
Bumping version from 0.12.1.dev3 to 0.12.1.dev4
astarvienna-bot[bot] Oct 1, 2026
a8ce2ca
Bump tornado from 6.5.8 to 6.5.9 (#1044)
teutoburg Oct 1, 2026
796e37b
Bump notebook from 7.6.1 to 7.6.3 (#1045)
teutoburg Oct 1, 2026
d8f2c09
Bumping version from 0.12.1.dev4 to 0.12.1.dev5
astarvienna-bot[bot] Oct 1, 2026
2d24516
Bumping version from 0.12.1.dev5 to 0.12.1.dev6
astarvienna-bot[bot] Oct 1, 2026
7c45d13
Integrate the adopted upstream ScopeSim baseline
baileyji Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/prepare_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- patch
- minor
- major
- prerelease
- prepatch
- preminor
- premajor
Expand Down
97 changes: 97 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,100 @@
# Version 0.12.0
**2026-09-24**

Large release with many important bug fixes centered around flux conservation and pixel shifts.

> [!IMPORTANT]
> The minimum required Python version for this package is now **3.12** (see Dependency Changes).

## Feature highlights
### General
- Improved handling of random seeds.
Noise can now vary per readout (needs different `roid`) and is fully reproducible.
For instruments (and modes) with multiple detectors, the random seed varies per detector.
- PSF interpolation was made more efficient in some cases, and the interpolation order can now be specified.

### MICADO
- Calibration mode added (see IRDB).
- IFU and offset slits implemented.

### MOSAIC
- Tabular output format for the mIFU mode added.

> [!WARNING]
> We expect backwards incompatibility, so we strongly recommend updating your IRDB packages as well.

## What's Changed
### API Changes
* Reduce `OpticalTrain.write_header()` to the bare minimum by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/935
* PSF interpolation order by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/950
* Fully remove deprecated functionality by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/963
* AtmoLibraryTERCurve works with parameters other than pwv by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/972
### Bugs fixed
* Catch wrong inputs to `UserCommands` by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/934
* Dark value can be given as number without floating point by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/941
* Remove reflectance factor from integrating sphere background by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/962
* Fix scalar Quantity pattern matching by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/964
* Fix flux loss, aliasing, and placement errors in image-plane resampling and overlay by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/958
* Fix NameError in `SpectralTrace.plot` when `plot_trace_id` is used without `plot_outline` by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/981
* Fix `XiLamImage` overwriting the cunit of its primary WCS by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/982
* Skip empty FOVs by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1001
* Fix transposed axes in `make_image_interpolations` by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/984
* Fix 2D image rescaling by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1016
* Fix yet another off-by-one bug by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/1013
* SPEC scaling now also fixed by @janusbrink in https://github.com/AstarVienna/ScopeSim/pull/1018
* Set INHERIT keyword and fix unit to FITS standard by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/1022
* Fix indexing in FoV extraction by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1024
### Changes to or addition of Effects
* MOSAIC mIFU: tabular output by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/968
* METIS WCU: Make laser parameters configurable; utility function for tunable laser by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/970
* Refactor `PSF.apply_to()` by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1002
* Refactor `TERCurve.apply_to()` by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1004
* Refactor `.apply_to()` in electronic effects by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1006
* Apply throughput in-place for speed by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/1017
* `AutoExposure` to take dark current into account by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/1031
* Improve randomness, refactor electronic effects by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1030
* Define slit transforms for image slicer IFUs and offset slits by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/922
### New Features or Improvements
* Use optimal inverse transform for rectification by @oczoske in https://github.com/AstarVienna/ScopeSim/pull/961
* Skip PSF convolution for exactly-uniform fields by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/973
* More useful error when download fails by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/990
* Allow readout ID, fix Path support by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1020
* Resolve random seed in `.observe()` by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1021
### Dependency Changes
* Bump the dev-dependencies group with 3 updates by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/940
* Switch from httpx to httpxyz by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/924
* Bump various dependencies by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/946
* Bump astar-utils from 0.5.3 to 0.6.0 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/951
* Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/947
* Bump various dependencies by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/954
* Bump actions/setup-python from 6 to 7 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/960
* Drop support for Python 3.10 and 3.11 by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/969
* Bump matplotlib and skycalc-ipy by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/977
* Bump tornado from 6.5.7 to 6.5.8 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/1011
* Bump tqdm from 4.68.4 to 4.70.0 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/1009
* Bump the dev-dependencies group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/1008
* Bump soupsieve from 2.8.4 to 2.9 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/1032
* Bump anyio from 3.7.1 to 4.14.2 by @dependabot[bot] in https://github.com/AstarVienna/ScopeSim/pull/1033
### Other Changes
* Add prepare-release workflow from elsewhere by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/971
* Remove obsolete logic to deal with unversioned versions by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/979
* Make `Transform2D` per-call transform overrides non-persistent by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/983
* Cache the detector layout file in `MetisLMSSpectralTraceList` to avoid reading the file N*28 times for every `OpticalTrain` usage by @astronomyk in https://github.com/AstarVienna/ScopeSim/pull/987
* Improve handling of spectral trace mapping and rectification by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/999
* Cleanup PSF by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1003
* Use correct NumPy type hints by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1005
* Mark test_python_image_coords as webtest, because face is downloaded. by @hugobuddel in https://github.com/AstarVienna/ScopeSim/pull/1012
* Cleanup in `TER_curve_utils` etc. by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1014
* Add `Detector.det_id` convenience property by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1015
* Formatting and cleanup by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1019
* Set mpl backend for tests by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1026
* Skip all tests in test_rst_utils.py by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1025
* Remove unused `fov_grid()` methods by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1027
* SimCADO corpse removal by @teutoburg in https://github.com/AstarVienna/ScopeSim/pull/1029

**Full Changelog**: https://github.com/AstarVienna/ScopeSim/compare/v0.11.4...v0.12.0


# Version 0.11.4
**2026-05-20**

Expand Down
13 changes: 10 additions & 3 deletions docs/source/_ext/scopesim_sphinx_ext.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
# -*- coding: utf-8 -*-

# TODO: What does this (rather clunky) Sphinx extension do that isn't covered
# by autodoc/autosummary?? If it's redundant, just get rid of it tbh.

import os
import numpy as np
from scopesim.effects import effects_utils as eu

# This function is only used here. If this extension is removed, rm the func.
from scopesim.effects.effects_utils import scopesim_effect_classes


def setup(app):
output_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),
"../effects_docstrings"))
os.makedirs(output_dir, exist_ok=True)

efs_dict = eu.scopesim_effect_classes()
efs_dict = scopesim_effect_classes()
eff_types = np.unique([eff.split(".")[0] for eff in efs_dict])
eff_type_strs = {eff_type: f"{eff_type}\n{'='*len(eff_type)}\n\n"
for eff_type in eff_types}
Expand Down Expand Up @@ -37,7 +44,7 @@ def setup(app):
:glob:

*

"""

with open(os.path.join(output_dir, "index.rst"), "w") as f:
Expand Down
Loading
Loading