stips 2.2.2__tar.gz → 2.3.1__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.
Files changed (88) hide show
  1. {stips-2.2.2 → stips-2.3.1}/.github/workflows/ci_workflows.yml +8 -8
  2. {stips-2.2.2 → stips-2.3.1}/.rtd-environment.yml +1 -4
  3. {stips-2.2.2 → stips-2.3.1}/CHANGES.rst +34 -9
  4. stips-2.3.1/CITATION.cff +41 -0
  5. {stips-2.2.2 → stips-2.3.1}/Dockerfile +0 -1
  6. {stips-2.2.2/stips.egg-info → stips-2.3.1}/PKG-INFO +5 -4
  7. {stips-2.2.2 → stips-2.3.1}/README.md +29 -2
  8. {stips-2.2.2 → stips-2.3.1}/docs/basic_tutorial.rst +1 -1
  9. {stips-2.2.2 → stips-2.3.1}/docs/bugs.rst +4 -2
  10. {stips-2.2.2 → stips-2.3.1}/docs/conf.py +2 -1
  11. {stips-2.2.2 → stips-2.3.1}/docs/examples.rst +0 -1
  12. stips-2.3.1/docs/help.rst +9 -0
  13. {stips-2.2.2 → stips-2.3.1}/docs/index.rst +7 -5
  14. {stips-2.2.2 → stips-2.3.1}/docs/installation.rst +51 -31
  15. {stips-2.2.2 → stips-2.3.1}/docs/release.rst +68 -11
  16. stips-2.3.1/docs/requirements.txt +8 -0
  17. {stips-2.2.2 → stips-2.3.1}/docs/using_stips/catalogue_formats.rst +4 -3
  18. {stips-2.2.2 → stips-2.3.1}/docs/using_stips/config_file.rst +13 -19
  19. stips-2.3.1/docs/using_stips/phoenix_grid.rst +76 -0
  20. {stips-2.2.2 → stips-2.3.1}/docs/using_stips/psf_grid.rst +1 -1
  21. {stips-2.2.2 → stips-2.3.1}/docs/using_stips.rst +1 -0
  22. {stips-2.2.2 → stips-2.3.1}/environment.yml +9 -9
  23. {stips-2.2.2 → stips-2.3.1}/environment_dev.yml +9 -15
  24. {stips-2.2.2 → stips-2.3.1}/notebooks/STIPS Advanced I /342/200/223 Further Observations, Noise and Distortion.ipynb" +1 -1
  25. {stips-2.2.2 → stips-2.3.1}/notebooks/STIPS Advanced II - PSFs.ipynb +3 -3
  26. {stips-2.2.2 → stips-2.3.1}/ref_data/retrieve_stips_data.py +6 -5
  27. {stips-2.2.2 → stips-2.3.1}/setup.cfg +5 -4
  28. {stips-2.2.2 → stips-2.3.1}/stips/__init__.py +1 -1
  29. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/astro_image.py +59 -33
  30. {stips-2.2.2 → stips-2.3.1}/stips/data/CreatePhoenixGrid.py +20 -12
  31. {stips-2.2.2 → stips-2.3.1}/stips/data/stips_config.yaml +10 -8
  32. {stips-2.2.2 → stips-2.3.1}/stips/instruments/instrument.py +21 -8
  33. {stips-2.2.2 → stips-2.3.1}/stips/instruments/roman_instrument.py +2 -5
  34. {stips-2.2.2 → stips-2.3.1}/stips/instruments/wfi.py +96 -32
  35. {stips-2.2.2 → stips-2.3.1}/stips/stellar_module/star_generator.py +2 -2
  36. {stips-2.2.2 → stips-2.3.1}/stips/utilities/tests/test_makePSF.py +1 -1
  37. {stips-2.2.2 → stips-2.3.1}/stips/utilities/utilities.py +122 -55
  38. {stips-2.2.2 → stips-2.3.1/stips.egg-info}/PKG-INFO +5 -4
  39. {stips-2.2.2 → stips-2.3.1}/stips.egg-info/SOURCES.txt +4 -3
  40. {stips-2.2.2 → stips-2.3.1}/stips.egg-info/requires.txt +3 -2
  41. stips-2.2.2/CITATION +0 -8
  42. stips-2.2.2/docs/help.rst +0 -6
  43. stips-2.2.2/docs/requirements.txt +0 -9
  44. {stips-2.2.2 → stips-2.3.1}/.gitignore +0 -0
  45. {stips-2.2.2 → stips-2.3.1}/.readthedocs.yaml +0 -0
  46. {stips-2.2.2 → stips-2.3.1}/CODE_OF_CONDUCT.md +0 -0
  47. {stips-2.2.2 → stips-2.3.1}/CONTRIBUTING.md +0 -0
  48. {stips-2.2.2 → stips-2.3.1}/MANIFEST.in +0 -0
  49. {stips-2.2.2 → stips-2.3.1}/docs/Makefile +0 -0
  50. {stips-2.2.2 → stips-2.3.1}/docs/exts/numfig.py +0 -0
  51. {stips-2.2.2 → stips-2.3.1}/docs/make.bat +0 -0
  52. {stips-2.2.2 → stips-2.3.1}/docs/roman_figures/stips_basic_tutorial.png +0 -0
  53. {stips-2.2.2 → stips-2.3.1}/docs/roman_figures/stips_demo.png +0 -0
  54. {stips-2.2.2 → stips-2.3.1}/docs/rtd-pip-requirements +0 -0
  55. {stips-2.2.2 → stips-2.3.1}/licenses/LICENSE.rst +0 -0
  56. {stips-2.2.2 → stips-2.3.1}/licenses/README.rst +0 -0
  57. {stips-2.2.2 → stips-2.3.1}/licenses/TEMPLATE_LICENCE.rst +0 -0
  58. {stips-2.2.2 → stips-2.3.1}/notebooks/STIPS Basic Tutorial.ipynb +0 -0
  59. /stips-2.2.2/notebooks/notebooks_data/psf_WFI_2.0.0_F129_sca01.fits → /stips-2.3.1/notebooks/notebooks_data/psf_WFI_2.0.0_F129_wfi01.fits +0 -0
  60. {stips-2.2.2 → stips-2.3.1}/setup.py +0 -0
  61. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/__init__.py +0 -0
  62. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/tests/__init__.py +0 -0
  63. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/tests/test_AstroImage.py +0 -0
  64. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/tests/test_header.py +0 -0
  65. {stips-2.2.2 → stips-2.3.1}/stips/astro_image/tests/test_wcs.py +0 -0
  66. {stips-2.2.2 → stips-2.3.1}/stips/conftest.py +0 -0
  67. {stips-2.2.2 → stips-2.3.1}/stips/data/CreateIsochroneGrid.py +0 -0
  68. {stips-2.2.2 → stips-2.3.1}/stips/data/__init__.py +0 -0
  69. /stips-2.2.2/stips/data/psf_WFI_2.0.0_F129_sca01.fits → /stips-2.3.1/stips/data/psf_WFI_2.0.0_F129_wfi01.fits +0 -0
  70. {stips-2.2.2 → stips-2.3.1}/stips/errors/__init__.py +0 -0
  71. {stips-2.2.2 → stips-2.3.1}/stips/errors/make_cosmic_ray.py +0 -0
  72. {stips-2.2.2 → stips-2.3.1}/stips/instruments/__init__.py +0 -0
  73. {stips-2.2.2 → stips-2.3.1}/stips/observation_module/__init__.py +0 -0
  74. {stips-2.2.2 → stips-2.3.1}/stips/observation_module/observation_module.py +0 -0
  75. {stips-2.2.2 → stips-2.3.1}/stips/scene_module/__init__.py +0 -0
  76. {stips-2.2.2 → stips-2.3.1}/stips/scene_module/convert_units.py +0 -0
  77. {stips-2.2.2 → stips-2.3.1}/stips/scene_module/scene_module.py +0 -0
  78. {stips-2.2.2 → stips-2.3.1}/stips/stellar_module/__init__.py +0 -0
  79. {stips-2.2.2 → stips-2.3.1}/stips/tests/__init__.py +0 -0
  80. {stips-2.2.2 → stips-2.3.1}/stips/utilities/DataTable.py +0 -0
  81. {stips-2.2.2 → stips-2.3.1}/stips/utilities/__init__.py +0 -0
  82. {stips-2.2.2 → stips-2.3.1}/stips/utilities/makePSF.py +0 -0
  83. {stips-2.2.2 → stips-2.3.1}/stips/utilities/testing.py +0 -0
  84. {stips-2.2.2 → stips-2.3.1}/stips/utilities/tests/test_config.py +0 -0
  85. {stips-2.2.2 → stips-2.3.1}/stips.egg-info/dependency_links.txt +0 -0
  86. {stips-2.2.2 → stips-2.3.1}/stips.egg-info/not-zip-safe +0 -0
  87. {stips-2.2.2 → stips-2.3.1}/stips.egg-info/top_level.txt +0 -0
  88. {stips-2.2.2 → stips-2.3.1}/tox.ini +0 -0
@@ -14,21 +14,21 @@ jobs:
14
14
  matrix:
15
15
  include:
16
16
 
17
- - name: Python 3.10
17
+ - name: Python 3.11
18
18
  os: ubuntu-latest
19
- python: "3.10"
19
+ python: "3.11"
20
20
 
21
- - name: Python 3.11
21
+ - name: Python 3.13
22
22
  os: ubuntu-latest
23
- python: 3.11
23
+ python: 3.13
24
24
 
25
- - name: Python 3.11 Mac
25
+ - name: Python 3.13 Mac
26
26
  os: macos-latest
27
- python: 3.11
27
+ python: 3.13
28
28
 
29
29
  - name: Python Long
30
30
  os: ubuntu-latest
31
- python: 3.11
31
+ python: 3.13
32
32
 
33
33
  steps:
34
34
  - name: Checkout code
@@ -72,7 +72,7 @@ jobs:
72
72
  with:
73
73
  activate-environment: stips
74
74
  environment-file: environment.yml
75
- python-version: 3.11
75
+ python-version: 3.13
76
76
  auto-activate-base: false
77
77
 
78
78
  - name: Build Docs
@@ -2,12 +2,9 @@ name: stips
2
2
 
3
3
  channels:
4
4
  - conda-forge
5
- - astropy
6
- - http://ssb.stsci.edu/astroconda
7
- - defaults
8
5
 
9
6
  dependencies:
10
- - python>=3.7
7
+ - python>=3.10
11
8
  - astropy
12
9
 
13
10
  # Docs
@@ -5,13 +5,39 @@ Release Notes
5
5
  Version History and Change Log
6
6
  ------------------------------
7
7
 
8
+ Version 2.3.1
9
+ =============
10
+ - Fixed a bug with unit conversion for Pandeia backgrounds
11
+ - Fixed a bug that prevented use of cached PSFs with STPSF v2.0.0, slowing ``fast_galaxy`` simulations
12
+ - Added FITS header outputs for original input X and Y positions alongside those for the PSF interpolation
13
+ - Implemented dynamic calculation of zeropoints based on WFI throughput files from the user's local Pandeia reference data
14
+ - Imposed and documented photon and electron unit equivalence since STIPS assumes a quantum efficiency of 1
15
+ - Added documentation about the now uneditable 3x3 ``psf_grid_size``
16
+ - Added documentation about installing STIPS with alternate package managers
17
+ - Updated pandeia version to be >= 2025.9 and utilities infrastructure to handle new reference data in 2026.1
18
+ - Allowed newer versions of poppy >= 1.0.3
19
+ - Updated contact information for Roman Help Desk
20
+
21
+ Version 2.3.0
22
+ =============
23
+ - Added support for F213 filter.
24
+ - Updated constants for PHOTPLAM (pivot wavelength) and mirror area.
25
+ - Allowed users to specify ``psf_cache_location`` in ``addCatalogue`` function.
26
+ - Transitioned detector naming convention from 'SCANN' to 'WFINN' to match other Roman SOC simulation tools.
27
+ - Fixed bug with reading Internal tables.
28
+ - Updated pandeia version to be >= 2024.12
29
+ - Updated WebbPSF to STPSF and constrained version to be >= 2.0.0
30
+ - Updated documentation to reflect that STIPS creates an intermediate product between L2 and L3 images.
31
+ - Added documentation on (non-physical) gaps in the Phoenix grid.
32
+ - Added citation to STIPS paper.
33
+
8
34
  Version 2.2.2
9
35
  =============
10
36
  - Updated pandeia.engine version to be >= 3.1 instead of == 3.1
11
37
 
12
38
  Version 2.2.1
13
39
  =============
14
- - Fixed a bug on the version of STIPS in __init__.py
40
+ - Fixed a bug on the version of STIPS in ``__init__.py``
15
41
  - Updated WebbPSF version to be >= 1.1.1 instead of == 1.1.1
16
42
  - Updated synphot>=1.1.1 and stsynphot>=1.1.0 from forced to specific version.
17
43
 
@@ -32,7 +58,6 @@ Version 2.1.0
32
58
 
33
59
  Version 2.0.0
34
60
  =============
35
-
36
61
  - STIPS now uses an ePSF, and calculates source appearance on a per-source basis
37
62
  - Dropped support for python 2, and python <= 3.7
38
63
  - Dropped support for HST and JWST instruments
@@ -48,13 +73,13 @@ Version 1.0.8
48
73
 
49
74
  **STIPS Improvements**
50
75
 
51
- - PSFs generated with `webbpsf` are now PSF grids. [:pr:``, :user:`york-stsci`]
52
- - STIPS has the option to keep all data in memory. [:pr:``, :user:`york-stsci`]
76
+ - PSFs generated with ``webbpsf`` are now PSF grids. [:pr:`77`, :user:`york-stsci`]
77
+ - STIPS has the option to keep all data in memory. [:pr:`77`, :user:`york-stsci`]
53
78
  - Data files have been removed from the repo to allow STIPS to be uploaded to PyPi (pip). The data has been migrated to a STScI box folder. Users can now download the data and set their `stips_data` to allow access to the data that once lived in the repository. [:pr:`59`, :user:`york-stsci`]
54
79
  - Travis was setup to run and pass tests. Outdated tests have been removed to allow Travis to pass. [:pr:`65`, :user:`robelgeda`]
55
80
  - Test data has been moved to a STScI box folder. [:pr:`64`, :user:`robelgeda`]
56
- - `dev` folder added for any developer related tools. [:pr:`69`, :user:`robelgeda`]
57
- - Frozen environments saved at `dev/conda_envs`. [:pr:`69`, :user:`robelgeda`]
81
+ - ``dev`` folder added for any developer related tools. [:pr:`69`, :user:`robelgeda`]
82
+ - Frozen environments saved at ``dev/conda_envs``. [:pr:`69`, :user:`robelgeda`]
58
83
 
59
84
  Version 1.0.7
60
85
  =============
@@ -67,7 +92,7 @@ Version 1.0.7
67
92
  - environment.yml added for easy conda env build. [:pr:`42`, :user:`robelgeda`]
68
93
  - Read the Docs documentation established. [:pr:`55`, :user:`robelgeda`]
69
94
  - F062 filter added to Roman WFI. [:pr:`51`, :user:`york-stsci`]
70
- - Update STIPS to use WbbPSF 0.9.0. [:pr:`51`, :user:`york-stsci`]
95
+ - Update STIPS to use WebbPSF 0.9.0. [:pr:`51`, :user:`york-stsci`]
71
96
  - Travis CI initiated for unit and regression testing. [:pr:`40`, :user:`robelgeda`]
72
97
  - Python version set to 3.7 [:pr:`40`, :user:`robelgeda`]
73
98
  - Licenses updated [:pr:`40`, :user:`robelgeda`]
@@ -76,8 +101,8 @@ Version 1.0.7
76
101
 
77
102
  - Updated astro_image.py to use a PC matrix rather than a CD matrix for the image WCS, which hopefully will result in astropy actually giving you a correctly formatted FITS WCS. [:pr:`46`, :user:`york-stsci`]
78
103
  - Adding WCS information to PSF files. PSF files will now have the following:
104
+
79
105
  - RA equal to the observation RA at which they were produced
80
106
  - DEC equal to the observation DEC at which they were produced
81
107
  - PA equal to the observation PA at which they were produced
82
- - CDELT keywords equal to the PIXELSCL keyword, but adjusted to degrees rather than arcsec.
83
- - [:pr:`47`, :user:`york-stsci`]
108
+ - CDELT keywords equal to the PIXELSCL keyword, but adjusted to degrees rather than arcsec. [:pr:`47`, :user:`york-stsci`]
@@ -0,0 +1,41 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - name: "STIPS Development Team"
5
+ - family-names: "Gomez"
6
+ given-names: "Sebastian"
7
+ orcid: "https://orcid.org/0000-0001-6395-6702"
8
+ - family-names: "Bellini"
9
+ given-names: "Andrea"
10
+ orcid: "https://orcid.org/0000-0003-3858-637X"
11
+ - family-names: "Al-Kowsi"
12
+ given-names: "Hanna"
13
+ - family-names: "Desjardins"
14
+ given-names: "Tyler"
15
+ orcid: "https://orcid.org/0000-0001-6905-1859"
16
+ - family-names: "Geda"
17
+ given-names: "Robel"
18
+ orcid: "https://orcid.org/0000-0003-1509-9966"
19
+ - family-names: "Han"
20
+ given-names: "Eunkyu"
21
+ orcid: "https://orcid.org/0000-0001-9797-0019"
22
+ - family-names: "Otor"
23
+ given-names: "O. Justin"
24
+ orcid: "https://orcid.org/0000-0002-4679-5692"
25
+ - family-names: "Riedel"
26
+ given-names: "Adric"
27
+ orcid: "https://orcid.org/0000-0003-1645-8596"
28
+ - family-names: "Ryan"
29
+ given-names: "Russell"
30
+ orcid: "https://orcid.org/0000-0003-0894-1588"
31
+ - family-names: "Spitzer"
32
+ given-names: "Isaac"
33
+ - family-names: "York"
34
+ given-names: "Brian"
35
+ title: "STIPS"
36
+ version: 2.3.1
37
+ doi: https://doi.org/10.5281/zenodo.15232587
38
+ date-released: 2026-05-08
39
+ url: "https://github.com/spacetelescope/STScI-STIPS"
40
+
41
+ # see a full list of contributors here: https://github.com/spacetelescope/STScI-STIPS/graphs/contributors
@@ -1,5 +1,4 @@
1
1
  FROM continuumio/miniconda3
2
- MAINTAINER Space Telescope Science Institute <help@stsci.edu>
3
2
 
4
3
  #########
5
4
  # Setup #
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: stips
3
- Version: 2.2.2
3
+ Version: 2.3.1
4
4
  Summary: STIPS is the Space Telescope Imaging Product Simulator.
5
5
  Home-page: https://github.com/spacetelescope/STScI-STIPS
6
6
  Author: Space Telescope Science Institute
@@ -12,8 +12,9 @@ Requires-Dist: scipy
12
12
  Requires-Dist: photutils
13
13
  Requires-Dist: synphot>=1.1.1
14
14
  Requires-Dist: stsynphot>=1.1.0
15
- Requires-Dist: webbpsf>=1.1.1
16
- Requires-Dist: pandeia.engine>=3.1
15
+ Requires-Dist: stpsf>=2.0.0
16
+ Requires-Dist: poppy>=1.0.3
17
+ Requires-Dist: pandeia.engine>=2025.9
17
18
  Requires-Dist: montage-wrapper
18
19
  Requires-Dist: pyyaml
19
20
  Requires-Dist: soc_roman_tools
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Build Status](https://github.com/spacetelescope/STScI-STIPS/actions/workflows/ci_workflows.yml/badge.svg?branch=main)](https://github.com/spacetelescope/STScI-STIPS/actions/workflows/ci_workflows.yml?query=branch:main)
4
4
  [![STScI](https://img.shields.io/badge/powered%20by-STScI-blue.svg?colorA=707170&colorB=3e8ddd&style=flat)](http://www.stsci.edu)
5
+ [![DOI](https://zenodo.org/badge/94350619.svg)](https://zenodo.org/badge/latestdoi/94350619)
5
6
 
6
7
  For documentation and installation instructions please visit https://stips.readthedocs.io
7
8
 
@@ -21,8 +22,10 @@ It does not include instrument saturation effects.
21
22
 
22
23
  ## Why use STIPS?
23
24
 
24
- STIPS is intended to produce quick simulations of Level 2 (L2) images, and is provided for
25
- cases where [Pandeia](https://pypi.org/project/pandeia.engine) does not
25
+ STIPS is intended to produce quick simulations that are corrected for distortion, but not mosaicked.
26
+ We note there is no equivalent flight product, since Roman Level 3 (L3) files are both distortion
27
+ corrected and mosaicked, while Level 2 (L2) files are neither. STIPS is ideal for
28
+ cases where `Pandeia <https://pypi.org/project/pandeia.engine/>`_ does not
26
29
  provide a large enough simulation area (e.g., full-detector or multiple-detector
27
30
  observations). STIPS obtains its Roman instrument and filter values from
28
31
  Pandeia, so it should produce output within 10% of output produced by Pandeia.
@@ -43,3 +46,27 @@ developed by Andrea Bellini ([@AndreaBellini](https://github.com/AndreaBellini))
43
46
 
44
47
  ![Alt text](docs/roman_figures/stips_demo.png?raw=true "Roman WFI Image of a Star Cluster and Background Galaxies")
45
48
 
49
+ ## Citation
50
+
51
+ If you use STIPS, please cite the [STIPS PASP Paper](https://ui.adsabs.harvard.edu/abs/2024PASP..136l4502S/abstract) that describes the code.
52
+
53
+ ```
54
+ @ARTICLE{2024PASP..136l4502S,
55
+ author = {{Stips Development Team} and {Gomez}, Sebastian and {Bellini}, Andrea and {Al-Kowsi}, Hanna and {Desjardins}, Tyler and {Geda}, Robel and {Han}, Eunkyu and {Otor}, O. Justin and {Riedel}, Adric and {Ryan}, Russell and {Spitzer}, Isaac and {York}, Brian},
56
+ title = "{STIPS: The Nancy Grace Roman Space Telescope Imaging Product Simulator}",
57
+ journal = {\pasp},
58
+ keywords = {Astronomical techniques, Telescopes, Astronomical methods, 1684, 1689, 1043, Astrophysics - Instrumentation and Methods for Astrophysics},
59
+ year = 2024,
60
+ month = dec,
61
+ volume = {136},
62
+ number = {12},
63
+ eid = {124502},
64
+ pages = {124502},
65
+ doi = {10.1088/1538-3873/ad9524},
66
+ archivePrefix = {arXiv},
67
+ eprint = {2411.11978},
68
+ primaryClass = {astro-ph.IM},
69
+ adsurl = {https://ui.adsabs.harvard.edu/abs/2024PASP..136l4502S},
70
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
71
+ }
72
+ ```
@@ -29,7 +29,7 @@ an output set of the following form:
29
29
 
30
30
  Pandeia version a.b.c with Data Version a.b.c. at /Some/Path/To/pandeia_refdata
31
31
 
32
- Webbpsf Version d.e.f with Data Version d.e.f at /Some/Path/To/webbpsf_data_path
32
+ STPSF Version d.e.f with Data Version d.e.f at /Some/Path/To/stpsf_data_path
33
33
 
34
34
 
35
35
  Setting Up Some Basics
@@ -14,9 +14,11 @@ removed from this list as they are addressed in future STIPS updates.
14
14
  * The flux measurements of sources are only validated in the absence of noise/background.
15
15
  As such, the net flux of the image may be inaccurate.
16
16
 
17
- * STIPS interpolates nine PSFs generated by WebbPSF across the detector to the location of the
17
+ * STIPS interpolates nine PSFs generated by STPSF across the detector to the location of the
18
18
  source being placed. However, there is currently a known offset of 20 pixels (in both the
19
19
  X and Y directions) between the location at which the PSF is interpolated, and the
20
+ location at which the target is displayed. The header of the output image lists both of these locations:
21
+ 'x' and 'y' for the location at which the PSF is interpolated and 'x_input' and 'y_input' for the
20
22
  location at which the target is displayed.
21
23
 
22
24
  .. note::
@@ -26,7 +28,7 @@ removed from this list as they are addressed in future STIPS updates.
26
28
  (x, y) but the interpolated PSF shape will be the shape of the PSF at location (x+20, y+20).
27
29
  Because the WFI PSF shape does not vary strongly over this distance, the effect is
28
30
  minimal and should not be a concern for most science cases. If ultra-precise PSF models
29
- are required, the user should generate them directly with WebbPSF at the desired pixel
31
+ are required, the user should generate them directly with STPSF at the desired pixel
30
32
  location.
31
33
 
32
34
  * Bright sources will have large diffraction spikes that are visible beyond 22 pixels away
@@ -67,6 +67,7 @@ extensions = [
67
67
  'sphinx.ext.mathjax',
68
68
  'sphinx.ext.viewcode',
69
69
  'sphinx_rtd_theme',
70
+ 'sphinx_issues'
70
71
  ]
71
72
 
72
73
  numpydoc_show_class_members = False
@@ -186,4 +187,4 @@ if eval(setup_cfg.get('edit_on_github')):
186
187
  edit_on_github_doc_root = "docs"
187
188
 
188
189
  # -- Resolving issue number to links in changelog -----------------------------
189
- github_issues_url = 'https://github.com/{0}/issues/'.format(setup_cfg['github_project'])
190
+ issues_default_group_project = setup_cfg['github_project'] # for sphinx_issues
@@ -47,7 +47,6 @@ scene with the Roman WFI F129 filter offset by 0.5 degrees in RA and rotated by
47
47
  'filters': ['F129'],
48
48
  'detectors': 1,
49
49
  'distortion': False,
50
- 'oversample': 5,
51
50
  'pupil_mask': '',
52
51
  'background': 'avg',
53
52
  'observations_id': 1,
@@ -0,0 +1,9 @@
1
+ ****
2
+ Help
3
+ ****
4
+
5
+ For assistance with STIPS, please visit the
6
+ `Roman Help Desk <https://stsci.service-now.com/roman>`_. After logging in to
7
+ your account, select "Get Help" and then the "Simulators and Tools" category.
8
+ Mention STIPS in the subject line and include relevant details in the
9
+ description of the resulting form.
@@ -1,10 +1,6 @@
1
1
  Documentation
2
2
  =============
3
3
 
4
- .. note::
5
-
6
- As of version 2.0, STIPS no longer offers support for HST or JWST.
7
-
8
4
  Overview
9
5
  --------
10
6
  STIPS is the Space Telescope Imaging Product Simulator. It is designed to create
@@ -14,9 +10,15 @@ instrumental distortion (if available) as well as calibration residuals from fla
14
10
  dark currents, and cosmic rays. It automatically includes Poisson noise and readout noise.
15
11
  It does not include instrument saturation effects.
16
12
 
13
+ .. note::
14
+
15
+ As of version 2.0, STIPS no longer offers support for HST or JWST.
16
+
17
17
  Why use STIPS?
18
18
  --------------
19
- STIPS is intended to produce quick simulations of Level 2 (L2) images, and is provided for
19
+ STIPS is intended to produce quick simulations that are corrected for distortion, but not mosaicked.
20
+ We note there is no equivalent flight product, since Roman Level 3 (L3) files are both distortion
21
+ corrected and mosaicked, while Level 2 (L2) files are neither. STIPS is ideal for
20
22
  cases where `Pandeia <https://pypi.org/project/pandeia.engine/>`_ does not
21
23
  provide a large enough simulation area (e.g., full-detector or multiple-detector
22
24
  observations). STIPS obtains its Roman instrument and filter values from
@@ -9,18 +9,14 @@ in this section along with instructions.
9
9
  STIPS Requirements
10
10
  ##################
11
11
 
12
- * ``pandeia>=3.1``: Exposure time calculator.
12
+ * ``pandeia>=2025.9``: Exposure time calculator.
13
13
 
14
- * ``webbpsf>=1.1.1``: Nancy Grace Roman PSF calculator. STIPS also requires that ``poppy``, a
15
- support package used by WebbPSF, have version ``>=1.0.3``.
14
+ * ``stpsf>=2.0.0``: Nancy Grace Roman PSF calculator. STIPS also requires that ``poppy``, a
15
+ support package used by STPSF (Formerly WebbPSF), have version ``>=1.0.3``.
16
16
 
17
- * ``astropy``: STIPS uses Astropy in order to:
18
-
19
- * Read and write FITS files.
20
-
21
- * Read and write ASCII tables (specifically in the IPAC format).
22
-
23
- * Generate Sersic profile models (if any are in the generated scene).
17
+ * ``astropy``: STIPS uses Astropy in order to read and write ASCII tables
18
+ (specifically in the IPAC format) and FITS files, as well as to generate
19
+ Sersic profile models (if any are in the generated scene).
24
20
 
25
21
  * ``montage_wrapper``: STIPS uses ``montage`` to generate mosaics. It is
26
22
  only imported if STIPS is asked to generate a multi-detector image.
@@ -49,14 +45,18 @@ STIPS Requirements
49
45
  Finally, STIPS requires a set of data files whose location is marked by setting the
50
46
  environment variable ``stips_data``, which will be installed as part of these instructions.
51
47
 
52
- Installing Using Conda and Source Code
53
- ######################################
48
+ Installing Using a Package Manager and Source Code
49
+ ##################################################
54
50
 
55
- STIPS can be installed using the source code and a Conda environment file.
56
- If you do not have Anaconda or Miniconda installed, please visit the
57
- `Anaconda docs <https://docs.anaconda.com/anaconda/install/>`_ for installation instructions.
58
- We have included a Conda environment file for easily installing or updating Conda packages
59
- to meet STIPS requirements. Please follow the steps below to install STIPS:
51
+ STIPS can be installed using one of the YAML files provided in its source code.
52
+ These YAML files define an environment that a package manager like
53
+ `Micromamba <https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html>`_,
54
+ `Mamba <https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html>`_,
55
+ `Conda <https://docs.anaconda.com/anaconda/install/>`_, or another can read and
56
+ install on your machine.
57
+ (If you don't have a package manager, follow any of the preceding links for
58
+ installation instructions.) The YAML files include all packages required by
59
+ STIPS. Please follow the steps below to install STIPS.
60
60
 
61
61
  .. _installing-as-a-user:
62
62
 
@@ -74,15 +74,19 @@ Installing as a User
74
74
 
75
75
  #. The environment file can be used in two ways:
76
76
 
77
- * To create a new Conda environment named ``stips``::
77
+ * To create a new environment named ``stips``::
78
78
 
79
79
  conda env create -f environment.yml
80
80
  conda activate stips
81
81
 
82
82
 
83
- * Or, to install to or update an existing Conda environment::
83
+ * Or, to install to or update an existing environment::
84
+
85
+ conda env update --name <EXISTING-ENV> --file environment.yml
84
86
 
85
- conda env update --name EXISTING-ENV --file environment.yml
87
+ (If you are using mamba, substitute it for ``conda`` in the commands above.
88
+ If you are using micromamba, substitute it for ``conda`` and also remove
89
+ ``env`` in the commands above.)
86
90
 
87
91
  Installing as a Developer
88
92
  *************************
@@ -94,10 +98,17 @@ Installing as a Developer
94
98
 
95
99
  .. _downloading-required-ref-data:
96
100
 
101
+ Installing with pip
102
+ *******************
103
+
104
+ While it is possible to install STIPS with ``pip`` instead of a package manager,
105
+ we recommend the latter due to the aforementioned warning about using ``pip``
106
+ with the ``esutil`` package.
107
+
97
108
  Downloading Required Reference Data
98
109
  ************************************
99
110
 
100
- STIPS, Pandeia, and WebbPSF need the reference datasets.
111
+ STIPS, Pandeia, and STPSF require additional reference datasets.
101
112
  You will need to download the data and add them to your environmental path.
102
113
 
103
114
  1. Add the following paths to your bash environmental path. It is recommended that you add the path to your ``.bash_profile`` file:
@@ -105,9 +116,12 @@ You will need to download the data and add them to your environmental path.
105
116
  .. code-block:: text
106
117
 
107
118
  export stips_data="<absolute_path_to_this_folder>/ref_data/stips_data"
108
- export WEBBPSF_PATH="<absolute_path_to_this_folder>/ref_data/webbpsf-data"
119
+ export STPSF_PATH="<absolute_path_to_this_folder>/ref_data/stpsf-data"
109
120
  export PYSYN_CDBS="<absolute_path_to_this_folder>/ref_data/grp/redcat/trds"
110
- export pandeia_refdata="<absolute_path_to_this_folder>/ref_data/pandeia_data-x.x.x_roman"
121
+ export pandeia_refdata="<absolute_path_to_this_folder>/ref_data/pandeia_data-xxxx.x_roman"
122
+
123
+ # if your Pandeia installation is 2026.1 or higher, add the following:
124
+ export PSF_DIR="<absolute_path_to_this_folder>/ref_data/pandeia_psfs-xxxx.x_roman"
111
125
 
112
126
  .. note::
113
127
 
@@ -115,19 +129,25 @@ You will need to download the data and add them to your environmental path.
115
129
 
116
130
  2. ``cd`` into the ``ref_data`` directory in your ``STScI-STIPS`` clone.
117
131
 
118
- 3. Run the following code (after ensuring your ``stips`` Conda environment is active)::
132
+ 3. Run the following code (after ensuring your package manager's ``stips`` environment is active)::
119
133
 
120
134
  python retrieve_stips_data.py
121
135
 
136
+ .. caution::
137
+
138
+ Running ``retrieve_stips_data.py`` will fetch the latest versions of each
139
+ package's reference data. If you have manually configured your software
140
+ environment to use other versions of any of these packages, download their
141
+ reference data separately and configure your environment variables
142
+ appropriately to avoid confusion.
122
143
 
123
144
  Testing Installation
124
145
  *********************
125
146
 
126
147
  To test if all the required files have been installed, please import STIPS in Python::
127
148
 
128
- bash-3.2$ python
129
- Python 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:45:13)
130
- [Clang 16.0.6 ] on darwin
149
+ bash-3.2$ python3
150
+ Python 3.11.15 | packaged by conda-forge | (main, Mar 5 2026, 16:58:53) [Clang 19.1.7 ] on darwin
131
151
  Type "help", "copyright", "credits" or "license" for more information.
132
152
 
133
153
  >>> import stips
@@ -138,13 +158,13 @@ You should receive an output of the following form:
138
158
 
139
159
  .. code-block:: text
140
160
 
141
- STIPS Version x.y.z with Data Version x.y.z at /Some/Path/To/stips_data
161
+ STIPS Version x.y.z with Data Version a.b.c at /Some/Path/To/stips_data.
142
162
 
143
- STIPS Grid Generated with x.y.z
163
+ STIPS Grid Generated with STIPS Version x.y.z.
144
164
 
145
- Pandeia version a.b.c with Data Version a.b.c. at /Some/Path/To/pandeia_refdata
165
+ Pandeia Version YYYY.n with Data Version YYYY.n at /Some/Path/To/pandeia_refdata.
146
166
 
147
- Webbpsf Version d.e.f with Data Version d.e.f at /Some/Path/To/webbpsf_data_path
167
+ STPSF Version d.e.f with Data Version d.e.f at /Some/Path/To/stpsf_data_path.
148
168
 
149
169
 
150
170
  Ignore the following warning message if it appears:
@@ -2,9 +2,41 @@
2
2
  Developer Release Instructions
3
3
  ******************************
4
4
 
5
- This page offers a complete walkthrough on how to prepare and release a new
6
- version of STIPS on GitHub and PyPI, as well as how to sync the ReadTheDocs
7
- documentation with the new release.
5
+ This page offers a complete walkthrough on how to update the STIPS reference
6
+ data, prepare and release a new version of STIPS on GitHub and PyPI, and sync
7
+ the ReadTheDocs documentation with the new release.
8
+
9
+ Reference data
10
+ ==============
11
+
12
+ **Not every release will require an update to the reference data.** If one is
13
+ necessary, begin by incrementing the version number in ``VERSION.txt`` at the
14
+ base of the reference data directory.
15
+
16
+ Next, regenerate the Phoenix grid by running ``stips/data/CreatePhoenixGrid.py``
17
+ from the STIPS GitHub repository. (The file may run for an extended period.)
18
+ Save the results to the reference data directory's ``grid/`` folder. There
19
+ should be a ``.npy`` file for each WFI imaging filter, a coordinates file
20
+ (``input.pkl``), and a grid-specific version file.
21
+
22
+ Copy existing files from the ``test/`` folder and, if necessary, add any that
23
+ are needed to run new tests added to the GitHub codebase during the development
24
+ cycle. The ``.db`` files and ``residual_files`` folder at the base of the
25
+ reference data directory can be copied as they are.
26
+
27
+ Add notes on any oddities or adjustments to the reference data in ``NOTES.txt``
28
+ at the base of the reference data directory. Finally, use the following command
29
+ to compress the files while making sure that they will have the name STIPS
30
+ expects (``stips_data``) when they are unzipped. Don't accidentally delete the carat (^):
31
+
32
+ .. code-block:: text
33
+
34
+ tar -czvf stips_data-X.Y.Z.tgz -s /^YOUR-DIR-NAME/stips_data/ YOUR-DIR-NAME
35
+
36
+ Upload the zipped reference data file to Box with the name
37
+ ``stips_data-X.Y.Z.tgz``, substituting in the version numbers selected in the
38
+ first paragraph. **Wait to update** ``stips_data_current.tgz`` until you've
39
+ completed the software release on GitHub.
8
40
 
9
41
  Pre-merge instructions
10
42
  ======================
@@ -24,7 +56,9 @@ intended for a release:
24
56
  * ``environment.yml``
25
57
  * ``environment_dev.yml``
26
58
  * ``docs/installation.rst``
27
- * ``ret_data/retrieve_stips_data.py``
59
+ * ``docs/requirements.txt``
60
+ * ``ref_data/retrieve_stips_data.py``
61
+ * ``utilities/utilities.py`` (if any reference data links have changed)
28
62
 
29
63
  * Are you able to install the new version of STIPS locally with ``pip`` and ``conda``?
30
64
 
@@ -32,6 +66,8 @@ intended for a release:
32
66
 
33
67
  * Has ``CHANGES.rst`` been updated to include the current release and its associated updates at the top?
34
68
 
69
+ * Has ``CITATION.cff`` been updated with the relevant values in its ``version`` and ``date-released`` fields?
70
+
35
71
  * Are all CI tests in the release's pull request passing?
36
72
 
37
73
  * Has at least one developer given the pull request an official approval on GitHub?
@@ -45,6 +81,17 @@ Post-merge instructions
45
81
  Tagging the merge commit
46
82
  ------------------------
47
83
 
84
+ On your machine, check out the branch that tracks the official ``main`` branch
85
+ on the ``spacetelescope`` remote. Rebase it so it includes the newly merged pull
86
+ request. (If your local names for that branch or the ``spacetelescope`` remote
87
+ are different than the defaults – ``main`` and ``origin``, respectively – be
88
+ sure to substitute them in below.)
89
+
90
+ .. code-block:: text
91
+
92
+ git checkout origin main
93
+ git rebase origin/main
94
+
48
95
  Apply a tag to the merge commit, substituting in the proper version number.
49
96
 
50
97
  .. code-block:: text
@@ -58,9 +105,7 @@ Apply a tag to the merge commit, substituting in the proper version number.
58
105
  and `adding it to your account <https://docs.github.com/en/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account>`_
59
106
  if you don't have one.
60
107
 
61
- Next, push the tag online. (If your remote that points to ``spacetelescope``'s
62
- online version of the repository is not named ``origin``, be sure to substitute
63
- its name in below.)
108
+ Push the tag online.
64
109
 
65
110
  .. code-block:: text
66
111
 
@@ -76,7 +121,7 @@ manually create a new release in the ``spacetelescope/STScI-STIPS`` GitHub repos
76
121
  #. Press the "Draft a new release" button above the list of releases.
77
122
  #. Press "Choose a tag" and select the one you just pushed online. The target branch should already be selected as ``main``.
78
123
  #. Press "Generate release notes" to list the commits included in this release.
79
- #. In the "Release title" textbox, type ``Release X.Y.Z``, substituting in the proper version number.
124
+ #. In the "Release title" textbox, type ``STIPS Version X.Y.Z``, substituting in the proper version number.
80
125
  #. Above the list of commits in the larger textbox for comments, write a single-sentence summary of the release's major updates.
81
126
  #. Press "Publish" to complete this section.
82
127
 
@@ -131,12 +176,18 @@ Finally, upload them to PyPI:
131
176
 
132
177
  .. code-block:: text
133
178
 
134
- python setup.py sdist bdist_wheel
179
+ python -m twine upload dist/*
135
180
 
136
181
  Note that PyPI uploads now require an API token.
137
182
  `Refer to their instructions <https://pypi.org/help/#apitoken>`_ if you haven't
138
183
  yet set one up.
139
184
 
185
+
186
+ .. note::
187
+
188
+ If you updated the reference data, now is the proper time to update
189
+ ``stips_data_current.tgz`` on Box.
190
+
140
191
  While the official release is now complete, keep reading for instructions on
141
192
  updating the documentation on ReadTheDocs.
142
193
 
@@ -152,8 +203,14 @@ commit will be the repository's current latest commit, so both versions should
152
203
  be identical for the moment.
153
204
 
154
205
  The versions of the documentation that should be visible to the public and
155
- marked as "Active" on their "Edit" pages are ``latest`` and the new release,
156
- ``vX.Y.Z``. In the future, we may make past versions visible, too.
206
+ marked as "Active" on their "Edit" pages are ``main``, ``latest``, and the new
207
+ release, ``vX.Y.Z``. On `the "Versions" page <https://readthedocs.org/projects/stips/versions/>`_,
208
+ press "Edit" beside any other publicly visible versions and select the "Hidden"
209
+ checkbox for them. In the future, we may make past versions visible, too.
210
+
211
+ Finally, go to the "Admin" tab, make sure you're in the "Settings" section, and
212
+ change the "Default branch" to the new ``vX.Y.Z``. (Note that this is different
213
+ from the "Default version" setting further down the page, which should be ``latest``.)
157
214
 
158
215
  Troubleshooting: webhooks
159
216
  -------------------------
@@ -0,0 +1,8 @@
1
+ stsci_rtd_theme
2
+ numpy >= 1.13
3
+ matplotlib
4
+ Cython
5
+ astropy
6
+ sphinx-astropy
7
+ sphinx_issues
8
+ poppy >= 1.0.3