2026-04-16
Some new effects and a lot of bugfixing.
- Plot system transmission components by @oczoske in #894
- Read fp_mask_{}.dat explicitely as float by @oczoske in #869
- Extend Blackbody wavelength range to cover all filters by @oczoske in #872
- Pixel area must be positive by @oczoske in #878
- Use NumPy 2.3.5 for Python 3.13+ by @teutoburg in #882
- Fixes off-by-a-half in FOVs by @oczoske in #880
- Fix PupilTransmission emission after update by @oczoske in #900
- Add
PixelResponseNonUniformityeffect for fixed per-pixel gain variation (PRNU) by @ShannonS00 in #886 - Add offset to spectral transformations to enable shifted slits by @oczoske in #875
- Minor PSF refactor and more logs by @teutoburg in #901
- Fibre transmission for WCU lasers by @oczoske in #904
- Add a large scale illumination effect by @ShannonS00 in #898
- Bump synphot, allow packaging 26 by @teutoburg in #870
- Bump numpydoc from 1.9.0 to 1.10.0 in the dev-dependencies group by @dependabot[bot] in #873
- Bump ipykernel from 6.31.0 to 7.1.0 by @dependabot[bot] in #874
- Bump nbconvert from 7.16.4 to 7.17.0 by @dependabot[bot] in #876
- Bump pillow from 12.1.0 to 12.1.1 by @dependabot[bot] in #877
- Bump astar-utils from 0.5.0 to 0.5.1 by @dependabot[bot] in #881
- Bump jupytext from 1.18.1 to 1.19.0 in the dev-dependencies group by @dependabot[bot] in #884
- Bump tqdm from 4.67.1 to 4.67.3 in the main-dependencies group by @dependabot[bot] in #883
- Bump tornado from 6.5 to 6.5.5 by @dependabot[bot] in #888
- Bump requests from 2.32.4 to 2.33.0 by @dependabot[bot] in #891
- Bump pygments from 2.17.2 to 2.20.0 by @dependabot[bot] in #892
- Bump astar-utils from 0.5.1 to 0.5.2 by @dependabot[bot] in #890
- Bump the dev-dependencies group with 3 updates by @dependabot[bot] in #896
- Bump pooch from 1.8.2 to 1.9.0 by @dependabot[bot] in #897
- Bump pillow from 12.1.1 to 12.2.0 by @teutoburg in #903
- Document system transmission plot in getting_started by @oczoske in #895
- Docstring and typing fixes in preparation for release by @teutoburg in #902
- @ShannonS00 made their first contribution in #886
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.11.2...v0.11.3
2026-01-20
Maintenance and bugfix release containing some important fixes regarding flux values.
- Clean up FieldVaryingPSF by @oczoske in #833
- Rename lamp off state from 'none' to 'off' by @oczoske in #835
- Remove numpy deprecation warning by @oczoske in #841
- Fix CUNIT not respected in FVPSF effect by @teutoburg in #851
- Transmission curves to extrapolate with value 0 by @oczoske in #859
- Extrapolate all transmissions with 0 by @oczoske in #863
- Fix Astropy warning about HIERARCH keywords by @teutoburg in #864
- Fix WCU flux mismatch by @oczoske in #860
- PSFs associated to PupilMaskWheel, download from server by @oczoske in #838
ReferencePixelBordernewly implemented by @oczoske in #840- Interactive updating of SkycalcTERCurve by @oczoske in #853
- Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #831
- Bump pyyaml from 6.0.2 to 6.0.3 in the main-dependencies group by @dependabot[bot] in #830
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #837
- Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #843
- Bump fonttools from 4.58.4 to 4.61.0 by @dependabot[bot] in #844
- Bump urllib3 from 2.5.0 to 2.6.0 by @dependabot[bot] in #849
- Bump synphot from 1.6.0 to 1.6.1 in the main-dependencies group by @dependabot[bot] in #854
- Bump the dev-dependencies group with 2 updates by @dependabot[bot] in #855
- Bump pytest-cov from 6.3.0 to 7.0.0 by @dependabot[bot] in #856
- Bump urllib3 from 2.6.0 to 2.6.3 by @dependabot[bot] in #858
- Sync dependencies with ecosystem by @teutoburg in #861
- Allow Python 3.14, sync dependencies by @teutoburg in #865
- Fix email domain for Kieran Leschinski by @teutoburg in #857
- Fix formatting and docstrings, add change messages by @teutoburg in #862
- Uppercase HIERARCH keywords by @teutoburg in #866
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.11.1...v0.11.2
2025-10-26
- Allow log level to be lower case by @oczoske in #811
- Rename
Effect.__getitem__()➡️.get_from_meta()by @teutoburg in #815 - Improve handling of BUNIT in FOV by @teutoburg in #822
- Fix BUNIT not added for Source from image + flux by @teutoburg in #823
- Catch extra special units by @teutoburg in #824
- No ABmag in BUNIT by @teutoburg in #826
- Use lower case photlam for headers by @oczoske in #827
- Inter-pixel capacitance effect by @oczoske in #806
- Compute METIS/LMS predisperser angle for given central wavelength by @oczoske in #812
- Local TER library by @oczoske in #765
- Bump jupyterlab from 4.2.5 to 4.4.8 by @dependabot[bot] in #805
- Bump sphinx from 7.3.7 to 8.1.3 by @dependabot[bot] in #809
- Fix some docstring formatting, add version info by @teutoburg in #828
- Refactor data collections download by @teutoburg in #810
- Replace
np.trapzwithscipy.integrate.trapezoidby @teutoburg in #813 - No longer ignore some warnings by @teutoburg in #814
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.11.0...v0.11.1
2025-09-21
Large release in preparation of the ScopeSim Workshop happening next week. See below for important changes and deprecations.
- Finally add support for Python 3.13 and Numpy 2.
- Partially resolve circular dependency between ScopeSim and ScopeSim_Templates
- Several new effects in preparation for MOSAIC simulations (#796).
- New and improved plotting methods on some classes for easier and nicer visualisation of results.
- Deprecate downloading IRDB packages directly from GitHub by @teutoburg in #727
Installing IRDB packages directly from GitHub using download_packages() is deprecated.
We're not aware that this functionality saw any significant use by the community.
If you do need to install unreleased IRDB packages from the GitHub repository (and you know why you need that!), the same result can be achieved by cloning the repository (or your own fork) and then use sim.link_irdb(<path_to_clone>) to point ScopeSim there.
That solution has the added benefit that you can keep thing in sync through git alone, which is more reliable anyway.
The relevant functionality will be removed in version 0.12.0, at which point attempting to use download_packages() with a GitHub ref will result in an error.
Passing a list as the first argument to download_example_data() has been deprecated since version 0.8.4 and will now result in a TypeError being raised.
This is to catch any remaining uses of the old call signature of this function.
From version 0.12.0 onwards, arguments will be silently forwarded to the file retriever, meaning if a list is still passed at that point, it will result in an error further downstream.
- Deprecate direct attribute access in
SourceFieldby @teutoburg in #733
After the SourceField refactor in version 0.9.0, it was still possible to access any item of the underlying data structur (Table or ImageHDU) directly through the SourceField via a standard dict-like syntax.
This was retained for backwards compatibility, because some code still relied on this functionality.
It does however have the potential to leade to some hard-to-track bugs and is generally an unclean solution, which is why we have been working behind the scenes to slowly remove all internal code that still uses this feature.
Now because this is related to how the Source object might be put together in user code, we're using a more carefuly approach in deprecating this, to avoid breaking existing code for no urgent reason.
We're thus activating a PendingDeprecationWarning now, which should give users an advanced warning that we will probably fully deprecate this in the future.
If you do encounter this warning, please try to use the .field attribute to explicitly access the underlying data structur before using dict-like lookup on it.
- Improve handling of DeprecationWarnings by @teutoburg in #730
- Remove obsolete code by @teutoburg in #737
- Accept filename and relative path as well as absolute path by @oczoske in #758
- Fix creation of cube source from file name by @teutoburg in #559
- Fix WCU radiometry by @oczoske in #754
- Use
RegularGridInterpolatorfor proper extrapolation of small PSF images by @oczoske in #798
- Functionality for MOSAIC minimum viable product by @oczoske in #796
- Add plotter utils functions by @teutoburg in #734
- Add
.plot()method toImagePlaneby @teutoburg in #735 - Improve cube plotter by @teutoburg in #736
- Bump synphot from 1.5.0 to 1.6.0 by @teutoburg in #713
- Minor bumps on a few dependencies by @teutoburg in #718
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #756
- Update internal dependencies more often by @teutoburg in #769
- Bump pyyaml from 6.0.1 to 6.0.2 by @dependabot[bot] in #771
- Bump lxml from 5.2.2 to 5.4.0 by @dependabot[bot] in #772
- Refine dependabot configuration by @teutoburg in #780
- Bump the dev-dependencies group with 8 updates by @dependabot[bot] in #782
- Update to Poetry 2 based pyproject.toml, update workflows by @teutoburg in #783
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #786
- Bump packaging from 23.2 to 25.0 by @teutoburg in #794
- Bump astar-utils from 0.3.3 to 0.3.4 by @dependabot[bot] in #791
- Remove semicircular dependency on ScopeSim_Templates by @teutoburg in #799
- Allow numpy 2.x by @teutoburg in #784
- Add support for Python 3.13 by @teutoburg in #800
- Remove mention of deprecated GitHub download from docs by @teutoburg in #745
- Fix toml classifiers and URLs by @teutoburg in #795
- Docstrings, formatting, linting by @teutoburg in #802
- Ignore a random DeprecationWarning from Pillow by @teutoburg in #715
- Various typing fixes by @teutoburg in #728
- Fix locally failing mock path test by @teutoburg in #729
- Refactor
flatten_dict()by @teutoburg in #725 - Remove empty
spectrograph.pyby @teutoburg in #738 - Split
FieldOfViewinto subclasses by @teutoburg in #739 - Remove obsolete
fov_manager_utils.pyand tests by @teutoburg in #740 - Remove obsolete
PoorMansHeaderby @teutoburg in #741 - Remove some unused code by @teutoburg in #744
- Remove unused spectroscopy integration tests by @teutoburg in #746
- Remove
Effect.fov_grid()in base class by @teutoburg in #747 - Fix CI comments by @hugobuddel in #748
- Add basic pylint config in pyproject.toml by @teutoburg in #760
- Update workflows by @teutoburg in #801
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.10.0...v0.11.0
2025-06-27
Large release before the summer, with many improvements and also breaking changes, please make sure to also update your IRDB packages accordingly!
- Many new features, including the "simplified IFU cube readout" mode.
- More physical treatment of the "electrons to ADU" process, including different gain values (#604).
- Extensive refactoring and many many bug fixes.
- More consistency across different classes with similar attributes.
- Improved treatment of flux units (still WIP, see #662).
- Many improvements to visual outputs (especially in notebooks), a few new progress bars in long-running loops.
- Refactor FOV, add
BackgroundSourceFieldby @teutoburg in #610 - Deprecate
FieldOfView.spectraby @teutoburg in #653 - Deprecate adding a
Tabledirectly to anImagePlaneby @teutoburg in #657 - Implement simplified IFU mode with cube readout by @teutoburg in #654
- Rename
CubeSourceField.waveto.wavesetfor consistency by @teutoburg in #666 - Rename
SummedExposure➡️ExposureIntegrationby @oczoske in #701 - Change
.waveto.wavesetby @oczoske in #707
- Fix BUNIT in
FieldOfViewby @teutoburg in #659 - Fix source spectral resolution by @oczoske in #669
- Fix METIS LSF axes orientation by @teutoburg in #673
- Remove "per pixel" from BUNIT for consistency by @teutoburg in #684
- Fix search path when updating inst pkgs path by @teutoburg in #710
- ADConversion effect by @oczoske in #455
- Add pretty repr to
Effectbase class to avoid cmds spam by @teutoburg in #661 - Allow PSF interpolation to be switched off by @teutoburg in #671
- Implement line spread function for IFU cube mode by @oczoske in #670
- Convert to signed float before chopnodcombine by @oczoske in #687
- Add
zeros_from_header()utils function by @teutoburg in #656 - Add
._repr_html_()magic method toOpticalTrainfor nice notebook display by @teutoburg in #667 - Add version requirement support for IRDB packages by @teutoburg in #660
- Use progress bar for spectral traces by @teutoburg in #674
- More logging and another progress bar by @teutoburg in #697
- Bump actions/download-artifact from 4.2.1 to 4.3.0 by @dependabot in #647
- Bump numpy, astropy, httpx and synphot by @teutoburg in #652
- Bump setuptools from 75.3.0 to 78.1.1 by @dependabot in #663
- Bump tornado to get rid of security warning by @teutoburg in #664
- Bump versions of internal dependencies by @teutoburg in #672
- Bring dependency versions back in sync with lock file by @teutoburg in #675
- Bump a few minor dependencies by @teutoburg in #681
- Bump requests from 2.32.2 to 2.32.4 by @dependabot in #690
- Bump spextra from 0.41.3 to 0.41.4 by @teutoburg in #695
- Bump urllib3 from 1.26.19 to 2.5.0 by @dependabot in #703
- Bump astar-utils from 0.3.2 to 0.3.3 by @teutoburg in #704
- Bump internal dependencies by @teutoburg in #711
- Add proper error message for removed
Quantizationeffect by @teutoburg in #676 - Add version info in various docstrings by @teutoburg in #678
- Minor cleanup of docs by @teutoburg in #677
- Add units flow page to docs by @teutoburg in #689
- Make better use of
SourceFieldinFieldOfViewby @teutoburg in #651 - Remove obsolete
FovVolumeList.detector_limitsby @teutoburg in #655 - Add replaceholder workflow by @teutoburg in #688
- Remove unused private attributes from
OpticsManagerby @teutoburg in #694 - Refactor and cleanup in
OpticalElementby @teutoburg in #700
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.9.3...v0.10.0
2025-04-25
Addition of average exposure effect by @oczoske in #603, otherwise mostly bugfixes, small quality-of-life improvements and some internal refactoring.
- Fix broken flux scaling for extended sources in spectroscopy by @teutoburg in #638
- Implement average exposure effect by @oczoske in #603
- Remove spurious base classes by @teutoburg in #621
- Make setting the
inst_pkgspath more convenient by @teutoburg in #627 - Check if all ref keys are found in spectra by @teutoburg in #633
- Ignore non-package directories for bug_report by @teutoburg in #631
- Switch off spammy INFO logs from httpx by @teutoburg in #642
- Bump beautifulsoup to 4.13.3 to get rid of deprecation warning by @teutoburg in #600
- Disable GitHub-based webtests by default by @teutoburg in #601
- Bump actions/download-artifact from 4.1.9 to 4.2.1 by @dependabot in #602
- Bump python-dateutil from 2.8.2 to 2.9.0.post0 by @teutoburg in #628
- Bump h11 from 0.14.0 to 0.16.0 by @dependabot in #645
- Remove base class check in
Effect.apply_to()by @teutoburg in #620 - Fixup adding mock path to UserCommands by @teutoburg in #640
- Fixup adding mock path to UserCommands (again) by @teutoburg in #641
- Use
.to_value(<unit>)instead of.to(<unit>).valueby @teutoburg in #643
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.9.2...v0.9.3
2025-03-13
Mainly the inclusion of METIS WCU effects in #494 plus a few bugfixes and quality-of-life improvements.
- Fix detectorwindow by @hugobuddel in #507
- Don't fail subpixels for edge sources by @teutoburg in #549
- Ensure at least one pixel in header by @teutoburg in #586
- METIS WCU effects by @oczoske in #494
- Bump abatilo/actions-poetry from 2 to 4 by @dependabot in #520
- Bump actions/download-artifact from 4.1.7 to 4.1.8 by @dependabot in #521
- Bump jinja2 from 3.1.4 to 3.1.5 by @hugobuddel in #519
- Bump sphinx from 5.3.0 to 7.3.7 by @dependabot in #525
- Bump jupyter-sphinx from 0.2.3 to 0.5.3 by @dependabot in #528
- Bump sphinxcontrib-apidoc from 0.4.0 to 0.5.0 by @dependabot in #522
- Bump nbsphinx from 0.9.3 to 0.9.6 by @dependabot in #526
- Bump skycalc-ipy from 0.5.1 to 0.5.2 by @dependabot in #523
- Bump jupyter from 1.0.0 to 1.1.1 by @dependabot in #530
- Bump ipympl from 0.9.4 to 0.9.6 by @dependabot in #538
- Bump jupytext from 1.16.0 to 1.16.6 by @dependabot in #541
- Bump myst-nb from 1.1.2 to 1.2.0 by @dependabot in #558
- Bump matplotlib from 3.8.2 to 3.10.1 by @dependabot in #577
- Bump actions/download-artifact from 4.1.8 to 4.1.9 by @dependabot in #576
- Bump jinja2 from 3.1.5 to 3.1.6 by @dependabot in #582
- Add bugfix label to auto release notes by @teutoburg in #562
- make test_applies_dark_current_with_level_of_dit deterministic by @hugobuddel in #517
- Add dependabot configuration by @hugobuddel in #518
- Fix runnotebooks.sh by sorting the notebooks by @hugobuddel in #535
- Add a few more
@pytest.mark.slowmarkers by @teutoburg in #560 - Generatorify
stringify_dictfunction by @teutoburg in #563 - Update dependabot.yml by @teutoburg in #578
- fix fp mask emission by @oczoske in #583
- Fine-tune dependabot config by @teutoburg in #591
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.9.1...v0.9.2
2024-11-26
Many small but important fixes and improvements that were missing in v0.9.0.
- Enable DeprecationWarnings by default by @teutoburg in #508
- Minor fixes for ScopeSimple by @teutoburg in #510
- Add support for package and mode status keywords by @teutoburg in #509
- Require Templates 0.6.0 and sync from there by @teutoburg in #501
- Bump tornado from 6.4.1 to 6.4.2 by @dependabot in #511
- Cleanup example notebooks by @teutoburg in #496
- Added source scaling test by @janusbrink in #495
- Move logging config to separate yaml, configure individual loggers by @teutoburg in #502
- Ignore strip_cdata warning by lxml, introduced by bs4 by @hugobuddel in #504
- Fix #490: make rescale_imagehdu more robust against dimension mismatches by @oczoske in #503
- Make random test deterministic by @hugobuddel in #512
- Fix two more issues with ScopeSimple by @teutoburg in #514
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.9.0...v0.9.1
2024-11-10
Important
The minimum required Python version for this package is now 3.10 (see Dependency Changes). Python 3.13 is currently not supported as it causes issues on some platforms that are not yet fully understood. We are currently working on fixing 3.13 support.
- Replace NaNs in images, log warning by @teutoburg in #466
- Make observe work with no source (empty field) by @oczoske in #483
- Add a new top level to CMDS nested mapping to store current simulation run settings by @teutoburg in #493
- Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in #465
- Drop support for Python 3.9 by @teutoburg in #471
- Bump some dependency versions by @teutoburg in #472
- Use sphinx-book-theme for RTD by @teutoburg in #473
- Bump two dependencies, use tqdm.auto by @teutoburg in #477
- Bump scipy from 1.11.4 to 1.14.1 and httpx from 0.23.0 to 0.26.0 by @teutoburg in #480
- Remove skycalc_cli from dependencies by @teutoburg in #481
- Bump notebook from 7.0.7 to 7.2.2 by @dependabot in #486
- Limit supported Python version to 3.10 <= x < 3.13 by @teutoburg in #497
- Update source_from_images.ipynb by @hugobuddel in #469
- Update example notebook to properly show the same observation by @hugobuddel in #476
- Add
SourceFieldand subclasses, reworkSourceby @teutoburg in #405 - Some small improvement, mostly focused on numpy by @teutoburg in #467
- Don't fail on symlinks for packages path by @teutoburg in #474
- Cleanup
DataContainerin preparation for Effect refactoring by @teutoburg in #478 - Fix Poisson NaN bug and clarify by @hugobuddel in #484
- Source object data scaling fix by @janusbrink in #485
- Workaround for #491 metadata.requires can return None by @hugobuddel in #492
- Fixed cdelt calculation when scaling an imageHDU by @janusbrink in #490
- @janusbrink made their first contribution in #485
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.8.4...v0.9.0
2024-08-29
Last version to support Python 3.9
This includes many small and not-so-small fixes and improvements, which are made available here to Python 3.9, while a few more major changes will be released soon as Version 0.9.0, but without support for Python 3.9.
- Test all cases of DIT & NDIT vs. exptime and AutoExposure by @teutoburg in #428
- Avoid in-place operations because of dtype conflicts by @teutoburg in #432
- Split PSF and Electronic effects into subpackages by @teutoburg in #434
- Improve SVO filter handling by @teutoburg in #454
- Added function to round the edges of square PSF kernels by @astronomyk in #459
- Bump tornado from 6.4 to 6.4.1 by @dependabot in #427
- Bump urllib3 from 1.26.18 to 1.26.19 by @dependabot in #429
- Bump certifi from 2023.11.17 to 2024.7.4 by @dependabot in #435
- Bump zipp from 3.17.0 to 3.19.1 by @dependabot in #436
- Bump setuptools from 69.0.2 to 70.0.0 by @dependabot in #437
- Bump some dependencies to get rid of some indirect ones by @teutoburg in #445
- Use
poochfordownload_example_databy @teutoburg in #446 - Bump matplotlib, synphot, pyerfa by @teutoburg in #450
- Formatting and Refactoring of
nghxrg.pyby @teutoburg in #431 - Rename
DetectorArray➡️DetectorManagerplus Docstrings and Refactoring by @teutoburg in #423 - Enlarge initial Field of View to suppord wide-field imagers by @hugobuddel in #433
- Fix some exposure things by @hugobuddel in #440
- Deepcopy readout, to prevent it being overwritten. Closes #439 by @hugobuddel in #441
- Allow star to be shifted by @hugobuddel in #443
- Attempt to catch crypto warning by @teutoburg in #444
- Use new main branch for DevOps workflows by @teutoburg in #448
- Refactor
example_data_utilsby @teutoburg in #447 - Remove unused function
return_latest_github_actions_jobs_status()by @teutoburg in #449 - Remove remaining master references by @teutoburg in #460
- Add units to DataContainer table directly. by @hugobuddel in #461
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.8.3...v0.8.4
2024-06-02
Mostly a small hotfix to allow chaning of exptime in AutoExposure, plus some housekeeping.
- Bump requests from 2.31.0 to 2.32.0 by @dependabot in #417
- Update astropy version by @hugobuddel in #418
- Install ScopeSim_Data in the poetry environment by @hugobuddel in #416
- Do not ignore PytestRemovedIn8Warning. by @hugobuddel in #420
- Fix configure_logging by using function scope. by @hugobuddel in #422
- Fix exptime dit ndit bug by @teutoburg in #424
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.8.2...v0.8.3
2024-05-14
- Cap negative values below 0 before quantifying to an unsigned int. by @hugobuddel in #414
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.8.1...v0.8.2
2024-05-13
Small changes required for the first METIS Simulated data release.
- Do something sensible when a trace falls outside the FoV. by @hugobuddel in #407
- Fix specref not always an integer by @JenniferKarr in #411
- Bump tqdm from 4.66.1 to 4.66.3 by @dependabot in #409
- Bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in #410
- Fix dev_master -> main in readme by @teutoburg in #406
- @JenniferKarr made their first contribution in #411
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.8.0...v0.8.1
2024-04-15
Many small fixes, some new effects, some important fixes related to coordinates, and lots of cleanup.
- Add more useful error message to download functions by @teutoburg in #309
- Migrate from
requests➡️httpxby @teutoburg in #312 - Improve logging by @teutoburg in #339
- Use ChainMap for UserCommands by @teutoburg in #375
- Add Shutter effect by @teutoburg in #304
- Add Quantization effect by @teutoburg in #308
- Implement apply decision for quantization by @teutoburg in #396
- Add basic sky coordinates (WCS) to ScopeSim output by @teutoburg in #307
- Include more progress bars by @teutoburg in #311
- Further improvements to logging by @teutoburg in #349
- Add IFU cube rectification and more by @oczoske in #258
- Resolve recursive bang-strings by @astronomyk in #351
- Also show scopsim version in bug_report by @hugobuddel in #394
- Improve CI run for notebooks by @teutoburg in #300
- Migrate to Poetry by @teutoburg in #314
- Bump nbconvert from 6.4.5 to 6.5.1 by @dependabot in #315
- Bump jupyter-server from 1.13.5 to 2.11.2 by @dependabot in #316
- Bump requests from 2.28.2 to 2.31.0 by @dependabot in #317
- Upgrade numpy to 1.26.3 and some other dependencies by @hugobuddel in #336
- Drop support for Python 3.8 by @teutoburg in #327
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #338
- Bump jupyter-lsp from 2.2.1 to 2.2.2 by @dependabot in #344
- Bump notebook from 7.0.6 to 7.0.7 by @dependabot in #347
- Bump jupyterlab from 4.0.10 to 4.0.11 by @dependabot in #346
- Bump pillow from 10.1.0 to 10.2.0 by @dependabot in #350
- Some small dependency- and version-related changes by @teutoburg in #363
- Bump pillow from 10.2.0 to 10.3.0 by @dependabot in #393
- Bump idna from 3.6 to 3.7 by @dependabot in #398
- Add config file for auto-generated release notes by @teutoburg in #301
- Move changelog to dedicated file, add more readme badges by @teutoburg in #302
- Use PyPI badge for Python versions by @teutoburg in #326
- Replace "Telescopy" with "ScopeSim" in README by @teutoburg in #348
- Also make pdf and epub by @hugobuddel in #370
- Fix RTD Poetry configuration by @teutoburg in #379
- Some refactoring of z_order fuctionality by @teutoburg in #303
- Fix notebook tests by @teutoburg in #320
- Include ScopeSim_Data in notebook tests by @hugobuddel in #324
- Allow runnotebooks.sh to run without arguments by @hugobuddel in #330
- Revert "Also use poetry for calling jupytext" by @hugobuddel in #334
- Use new linkchecker action by @hugobuddel in #335
- Properly stack stars by @hugobuddel in #337
- Remove obsolete files by @teutoburg in #340
- Rearrange CI tests by @teutoburg in #341
- Add test to see whether all Python files can be imported. by @hugobuddel in #343
- Ensure logging messages don't reach the root logger by @hugobuddel in #345
- Sort corner pixels to deal with negative CDELTs by @teutoburg in #321
- Use logger instead of print by @hugobuddel in #353
- Minor logging fixes in download module by @teutoburg in #354
- Add DeprecationWarnings for fov_grid methods by @teutoburg in #313
- Delete redundant vesion.py by @teutoburg in #355
- Minor formatting changes by @teutoburg in #358
- Add more debug logging by @teutoburg in #356
- Further harmonize
filenamekwarg by @teutoburg in #361 - Minor cleanup in
user_commands.pyby @teutoburg in #362 - Replace printing with logging by @teutoburg in #360
- Removing currsys as global parameter by @astronomyk in #364
- Additional hotfix for the removed currsys by @astronomyk in #368
- More cmds and kwargs stuff by @hugobuddel in #369
- Remove unused and broken
make_imagehdu_from_table()by @hugobuddel in #371 - Fixes needed for IFU/LMS mode by @hugobuddel in #376
- Do not set user commands as rc.currsys by @hugobuddel in #377
- Weed out unused utils functions by @teutoburg in #381
- Refactor some rarely-used utils functions by @teutoburg in #382
- Make
required_keysalways asetby @teutoburg in #383 - Some minor improvements and refactoring in the FOVManager by @teutoburg in #384
- Slightly more sophisticated use of numpy by @teutoburg in #385
- Remove unsatisfied assert by @hugobuddel in #386
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.7.1...v0.8.0
2023-11-07
Bug fixes and better error report
- Improve the output of
scopsim.bug_report()and automatically log that report when an unhandled error occurs: #287 - Some bug fixes related to that same bug_report: #290, #291
- Improve ScopeSim's README file: #294
- Deal with warnings from the latest Python version 3.12: #289
- Internally restructure and clean the test suite, make sure individual tests are not influencing each other: #285
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.7.0...v0.7.1
2023-10-18
Off-by-one fix.
- Fix a long-standing bug regarding the internal implementation of WCS coordinates, which had multiple consequences, see #276 for details.
- This fix might break some existing codes using work-arounds for the bug described above.
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.6.2...v0.7.0
2023-09-14
Patch with bugfixes and code improvements
- Fix documentation on readthedocs.io: #269
- Bug fixes related to plotting methods: #270
- Formatting of code and documentation to meet community standards: #271
- General refactoring, some in preparation of more substantial bug fixes: #272
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.6.1...v0.6.2
2023-09-06
Patch with visualisation improvements and general refactoring
- Improvements to console representation and plot methods of various classes: #252 , #260 , #263 , #266
- Refactoring and changes to the inheritance of some classes: #261 , #264 , #265
- Changes to the CI configuration to reduce fails caused by web request timeouts #255 , #262
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.6.0...v0.6.1
2023-07-10
Summer 2023
- Rename MAORY to MORFEO #195
- Fix NCPA and PSF affecting spectroscopy #238
- Fix line widths bug #213
- Add rectification utilities #237
- Include grating efficiencies #215
- Improve downloading of IRDB #234
- Improve Windows support
- @teutoburg made their first contribution in #216
Full Changelog: https://github.com/AstarVienna/ScopeSim/compare/v0.5.6...v0.6.0
2023-03-13
Hotfix to include minimal set of SVO data
- Run notebooks in CI #183
- Add SVO data because SVO is down #185
- Fix OpticalTrain shared cmds attribute and fix docstring #186
2023-03-08
v0.5.5 is the first release by the 2023 A*Vienna team
- Return to § for incremental extension keywords #168
- thin slit confusing dispersion direction #169
- Adds unequal (i.e. 2x1) binning and option to rotate the CCD by integer multiples of 90 degrees #170
- add filters and slits to wheels #176
- psf_utils.rescale_kernel: fix for negative shifts #177
- Fix bug where the ._meta_dicts can become longer than the .fields #178
- Add test that Source() is additive identity #179
- Allow astropy Units to be values in FITS headers. #180
2022-10-06
Hotfix for header keyword generators
- incremental special characters for header keywords changed from
§to++ - source object function calls are now given their own FITS header keyword FNSRCn (function-call source N) due to astropy not liking the combination of HIERARCH and CONTINUE keywords
2022-09-29
Minor upgrade to Spec modes and to FITS keywords
- Effect object ExtraFitsKeywords now has the ability to add keywords with incrementing index numbers based on the extension number
- FOV + FOVManager + FOVVolumes classes now accept aperture_id as an argument
- ApertureList effects object now has an apply_to function which splits the FOVVolumeList accordingly
2022-08-25
Update of DLC server URL to scopesim.univie.ac.at
- Updated MANIFEST.in to include all the files needed by the basic_instrument test optical train
- Small update to allow iterative extension specific FITS header keywords. E.g. EXTNAME = DETn.DATA
2022-07-12
Update of DLC server URL to scopesim.univie.ac.at
- Changed URL in defaults.yaml file
2022-04-22
IFU Spectroscopy mode for METIS
- The IFU effects for the METIS LMS mode
- Effects for including extra FITS keywords for the MICADO-ESO delivery
- Minor change to the OpticalTrain.readout method to allow custom FITS keywords to be added
- #-strings for accessing the .meta dict contents of Effect objects
- added the tests.mocks.basic_instrument package for test purposes
- refactored package downloading functions in server.database
- Packages can now be downloaded directly from a git commit
- new RTDs structure for docs based on ipynb files
- change to SkyCalcTERCurve to use local files to avoid calling the skycalc server
- MetisLMSSpectralTraceList(SpectralTraceList)
- MetisLMSSpectralTrace(SpectralTrace)
- MetisLMSImageSlicer(ApertureMask)
- MetisLMSEfficiency(TERCurve)
- ExtraFitsKeywords(Effect)
- EffectsMetaKeywords(ExtraFitsKeywords)
- SourceDescriptionFitsKeywords(ExtraFitsKeywords)
- SimulationConfigFitsKeywords(ExtraFitsKeywords)
- SpectralTraceListWheel(Effect)
- Bias(Effect)
2022-03-25
Updates since METIS science team release
- DetectorList x(y)_size columns now accept units of pixel and mm
- warnings and errors now handled using python logging package
- minor bug fixes
- TopHatFilterCurve
- TopHatFilterWheel
- SpanishVOFilterWheel
2022-03-03
Version released for the METIS science team
- release of new spectroscopy effect SpectalTraceList
- moved individual spectral trace code to utils file
- rewritten FovManager class
- added make_cube, make_image, make_spectrum to FieldOfView class
- removed fov_grid from Effects
- added new detector array z_order section (900-class effects)
- wavelength-dependent PSF in spectroscopic modes
- proper handling of cube sources
- headers for output files