roman-snpit-snappl 0.14.0__tar.gz → 0.15.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.
Potentially problematic release.
This version of roman-snpit-snappl might be problematic. Click here for more details.
- {roman_snpit_snappl-0.14.0/roman_snpit_snappl.egg-info → roman_snpit_snappl-0.15.0}/PKG-INFO +13 -13
- roman_snpit_snappl-0.15.0/changes/74.bugfix.rst +1 -0
- roman_snpit_snappl-0.15.0/changes/82.snappl.rst +1 -0
- roman_snpit_snappl-0.15.0/experimentation/ap_phot_simulated_images.py +68 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/pyproject.toml +15 -13
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0/roman_snpit_snappl.egg-info}/PKG-INFO +13 -13
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/SOURCES.txt +3 -0
- roman_snpit_snappl-0.15.0/roman_snpit_snappl.egg-info/requires.txt +28 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/_version.py +3 -3
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/diaobject.py +1 -1
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/image.py +5 -5
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/image_simulator.py +51 -47
- roman_snpit_snappl-0.14.0/roman_snpit_snappl.egg-info/requires.txt +0 -28
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.cruft.json +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/CODEOWNERS +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/PR_TEMPLATE.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/dependabot.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/labeler.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/changelog.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/run_labeler.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/run_snappl_tests.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/sphinx-deploy.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/sub_package_update.yml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.gitignore +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.pre-commit-config.yaml +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/CHANGES.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/CITATION.cff +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/CODE_OF_CONDUCT.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/CONTRIBUTING.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/LICENSE +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/MANIFEST.in +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/README.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/.gitkeep +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/10.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/13.bugfix.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/14.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/15.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/16.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/18.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/20.bugfix.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/23.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/26.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/29.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/3.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/31.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/35.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/36.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/37.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/40.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/41.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/43.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/47.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/49.docs.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/5.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/54.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/57.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/58.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/61.bugfix.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/62.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/63.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/65.bugfix.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/68.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/72.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/73.feature.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/79.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/8.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/changes/9.snappl.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/codespell-ignore.txt +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/Makefile +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/_static/logo_black_filled.png +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/api.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/changes.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/conf.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/index.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/installation.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/make.bat +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/docs/usage.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/experimentation/README.md +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/experimentation/play_with_photutils.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/licenses/.DS_Store +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/licenses/LICENSE.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/licenses/README.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/licenses/TEMPLATE_LICENSE.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/dependency_links.txt +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/not-zip-safe +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/top_level.txt +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/setup.cfg +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/setup.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/__init__.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/_dev/__init__.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/_dev/scm_version.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/data/README.rst +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/imagecollection.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/psf.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/sed.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/snappl/wcs.py +0 -0
- {roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/tox.ini +0 -0
{roman_snpit_snappl-0.14.0/roman_snpit_snappl.egg-info → roman_snpit_snappl-0.15.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: roman_snpit_snappl
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Summary: Photometry utilities for the Roman SNPIT
|
|
5
5
|
Author: Roman Supernova Project Infrastructure Team
|
|
6
6
|
Maintainer-email: Roman SN PIT <raknop@lbl.gov>
|
|
@@ -10,18 +10,18 @@ Classifier: Programming Language :: Python
|
|
|
10
10
|
Requires-Python: >=3.11
|
|
11
11
|
Description-Content-Type: text/x-rst
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist:
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist:
|
|
17
|
-
Requires-Dist:
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
Requires-Dist:
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
13
|
+
Requires-Dist: astropy<8.0.0,>=7.1.0
|
|
14
|
+
Requires-Dist: fitsio<2.0.0,>=1.2.5
|
|
15
|
+
Requires-Dist: galsim<3.0.0,>=2.7.2
|
|
16
|
+
Requires-Dist: gwcs<0.27.0,>=0.26.0
|
|
17
|
+
Requires-Dist: h5py<4.0.0,>=3.14.0
|
|
18
|
+
Requires-Dist: numpy<3.0.0,>=2.2.6
|
|
19
|
+
Requires-Dist: pandas<3.0.0,>=2.3.3
|
|
20
|
+
Requires-Dist: photutils<3.0.0,>=2.3.0
|
|
21
|
+
Requires-Dist: pyyaml<7.0.0,>=6.0.3
|
|
22
|
+
Requires-Dist: roman-datamodels<0.28.0,>=0.27.0
|
|
23
|
+
Requires-Dist: scipy<2.0.0,>=1.16.2
|
|
24
|
+
Requires-Dist: snpit_utils<0.1.0,>=0.0.12
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pytest; extra == "test"
|
|
27
27
|
Requires-Dist: pytest-doctestplus; extra == "test"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Fix an issue in ImageSimulator where pointsources were all 2× too bright.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Playing with dependencies
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
from matplotlib import pyplot
|
|
3
|
+
|
|
4
|
+
import numpy as np
|
|
5
|
+
import photutils.aperture
|
|
6
|
+
|
|
7
|
+
from snappl.image import FITSImageStdHeaders
|
|
8
|
+
|
|
9
|
+
parser = argparse.ArgumentParser( 'ap_phot_ismulated_images.py' )
|
|
10
|
+
parser.add_argument( '-i', '--image-basenames', nargs='+', required=True,
|
|
11
|
+
help="Image basenames. Leave off _image.fits" )
|
|
12
|
+
parser.add_argument( '-r', '--ra', type=float, required=True, help="Transient RA" )
|
|
13
|
+
parser.add_argument( '-d', '--dec', type=float, required=True, help="Transient Dec" )
|
|
14
|
+
parser.add_argument( '--rad', type=float, default=5.0, help="Aperture radius in pixels (default 5)" )
|
|
15
|
+
parser.add_argument( '--transient-peak-mag', '--tp', type=float, default=21.,
|
|
16
|
+
help="Peak magnitude of transient (default: 21)" )
|
|
17
|
+
parser.add_argument( '--transient-start-mjd', '--tt0', type=float, default=60010.,
|
|
18
|
+
help="Start MJD of transient linear rise (default: 60010.)" )
|
|
19
|
+
parser.add_argument( '--transient-peak-mjd', '--ttm', type=float, default=60030.,
|
|
20
|
+
help="Peak MJD of transient (default: 60030.)" )
|
|
21
|
+
parser.add_argument( '--transient-end-mjd', '--tt1', type=float, default=60060.,
|
|
22
|
+
help="End MJD of transient linear decay (default: 60060.)" )
|
|
23
|
+
parser.add_argument( '-s', '--save-plot', default=None,
|
|
24
|
+
help="Save plot to this file" )
|
|
25
|
+
args = parser.parse_args()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
images = [ FITSImageStdHeaders(p, std_imagenames=True) for p in args.image_basenames ]
|
|
29
|
+
mjds = np.array( [ i.mjd for i in images ] )
|
|
30
|
+
|
|
31
|
+
fluxen = []
|
|
32
|
+
apflux = []
|
|
33
|
+
apfluxerr = []
|
|
34
|
+
for image in images:
|
|
35
|
+
data = image.get_data( which='data' )[0]
|
|
36
|
+
noise = image.get_data( which='noise' )[0]
|
|
37
|
+
peakflux = 10 ** ( ( args.transient_peak_mag - image.zeropoint ) / -2.5 )
|
|
38
|
+
flux = 0.
|
|
39
|
+
if ( image.mjd >= args.transient_start_mjd ) and ( image.mjd <= args.transient_end_mjd ):
|
|
40
|
+
mjdedge = ( args.transient_start_mjd if image.mjd < args.transient_peak_mjd
|
|
41
|
+
else args.transient_end_mjd )
|
|
42
|
+
flux = peakflux * ( image.mjd - mjdedge ) / ( args.transient_peak_mjd - mjdedge )
|
|
43
|
+
fluxen.append( flux )
|
|
44
|
+
|
|
45
|
+
wcs = image.get_wcs()
|
|
46
|
+
x, y = wcs.world_to_pixel( args.ra, args.dec )
|
|
47
|
+
aperture = photutils.aperture.CircularAperture( (x, y), args.rad )
|
|
48
|
+
res = photutils.aperture.aperture_photometry( data, aperture, error=noise )
|
|
49
|
+
apflux.append( res['aperture_sum'][0] )
|
|
50
|
+
apfluxerr.append( res['aperture_sum_err'][0] )
|
|
51
|
+
|
|
52
|
+
fluxen = np.array( fluxen )
|
|
53
|
+
apflux = np.array( apflux )
|
|
54
|
+
apfluxerr = np.array( apfluxerr )
|
|
55
|
+
|
|
56
|
+
fig, ax = pyplot.subplots()
|
|
57
|
+
fig.set_tight_layout( True )
|
|
58
|
+
ax.errorbar( mjds, apflux - fluxen, apfluxerr, linestyle='none', marker='s', color='red',
|
|
59
|
+
label=f'{args.rad}-pix radius aperture' )
|
|
60
|
+
xmin, xmax = ax.get_xlim()
|
|
61
|
+
ax.hlines( 0, xmin, xmax, linestyle='dotted', color='black' )
|
|
62
|
+
ax.set_label( "MJD" )
|
|
63
|
+
ax.set_ylabel( "Apphot flux - true flux (counts)" )
|
|
64
|
+
ax.legend()
|
|
65
|
+
fig.show()
|
|
66
|
+
if args.save_plot is not None:
|
|
67
|
+
fig.savefig( args.save_plot )
|
|
68
|
+
pyplot.show()
|
|
@@ -17,19 +17,18 @@ classifiers = [
|
|
|
17
17
|
"Programming Language :: Python"
|
|
18
18
|
]
|
|
19
19
|
dependencies = [
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
20
|
+
"astropy>=7.1.0,<8.0.0",
|
|
21
|
+
"fitsio>=1.2.5,<2.0.0",
|
|
22
|
+
"galsim>=2.7.2,<3.0.0",
|
|
23
|
+
"gwcs>=0.26.0,<0.27.0",
|
|
24
|
+
"h5py>=3.14.0,<4.0.0",
|
|
25
|
+
"numpy>=2.2.6,<3.0.0",
|
|
26
|
+
"pandas>=2.3.3,<3.0.0",
|
|
27
|
+
"photutils>=2.3.0,<3.0.0",
|
|
28
|
+
"pyyaml>=6.0.3,<7.0.0",
|
|
29
|
+
"roman-datamodels>=0.27.0,<0.28.0",
|
|
30
|
+
"scipy>=1.16.2,<2.0.0",
|
|
31
|
+
"snpit_utils>=0.0.12,<0.1.0"
|
|
33
32
|
]
|
|
34
33
|
license-files = ["LICENSE"]
|
|
35
34
|
|
|
@@ -69,6 +68,9 @@ repository = "https://github.com/Roman-Supernova-PIT"
|
|
|
69
68
|
|
|
70
69
|
[build-system]
|
|
71
70
|
requires = [
|
|
71
|
+
"towncrier",
|
|
72
|
+
"cruft",
|
|
73
|
+
"coverage",
|
|
72
74
|
"setuptools>=62.1",
|
|
73
75
|
"setuptools_scm[tomli]>=6.2",
|
|
74
76
|
"wheel",
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0/roman_snpit_snappl.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: roman_snpit_snappl
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Summary: Photometry utilities for the Roman SNPIT
|
|
5
5
|
Author: Roman Supernova Project Infrastructure Team
|
|
6
6
|
Maintainer-email: Roman SN PIT <raknop@lbl.gov>
|
|
@@ -10,18 +10,18 @@ Classifier: Programming Language :: Python
|
|
|
10
10
|
Requires-Python: >=3.11
|
|
11
11
|
Description-Content-Type: text/x-rst
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist:
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist:
|
|
16
|
-
Requires-Dist:
|
|
17
|
-
Requires-Dist:
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
Requires-Dist:
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
13
|
+
Requires-Dist: astropy<8.0.0,>=7.1.0
|
|
14
|
+
Requires-Dist: fitsio<2.0.0,>=1.2.5
|
|
15
|
+
Requires-Dist: galsim<3.0.0,>=2.7.2
|
|
16
|
+
Requires-Dist: gwcs<0.27.0,>=0.26.0
|
|
17
|
+
Requires-Dist: h5py<4.0.0,>=3.14.0
|
|
18
|
+
Requires-Dist: numpy<3.0.0,>=2.2.6
|
|
19
|
+
Requires-Dist: pandas<3.0.0,>=2.3.3
|
|
20
|
+
Requires-Dist: photutils<3.0.0,>=2.3.0
|
|
21
|
+
Requires-Dist: pyyaml<7.0.0,>=6.0.3
|
|
22
|
+
Requires-Dist: roman-datamodels<0.28.0,>=0.27.0
|
|
23
|
+
Requires-Dist: scipy<2.0.0,>=1.16.2
|
|
24
|
+
Requires-Dist: snpit_utils<0.1.0,>=0.0.12
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pytest; extra == "test"
|
|
27
27
|
Requires-Dist: pytest-doctestplus; extra == "test"
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/SOURCES.txt
RENAMED
|
@@ -55,8 +55,10 @@ changes/65.bugfix.rst
|
|
|
55
55
|
changes/68.feature.rst
|
|
56
56
|
changes/72.snappl.rst
|
|
57
57
|
changes/73.feature.rst
|
|
58
|
+
changes/74.bugfix.rst
|
|
58
59
|
changes/79.snappl.rst
|
|
59
60
|
changes/8.snappl.rst
|
|
61
|
+
changes/82.snappl.rst
|
|
60
62
|
changes/9.snappl.rst
|
|
61
63
|
docs/Makefile
|
|
62
64
|
docs/api.rst
|
|
@@ -68,6 +70,7 @@ docs/make.bat
|
|
|
68
70
|
docs/usage.rst
|
|
69
71
|
docs/_static/logo_black_filled.png
|
|
70
72
|
experimentation/README.md
|
|
73
|
+
experimentation/ap_phot_simulated_images.py
|
|
71
74
|
experimentation/play_with_photutils.py
|
|
72
75
|
licenses/.DS_Store
|
|
73
76
|
licenses/LICENSE.rst
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
astropy<8.0.0,>=7.1.0
|
|
2
|
+
fitsio<2.0.0,>=1.2.5
|
|
3
|
+
galsim<3.0.0,>=2.7.2
|
|
4
|
+
gwcs<0.27.0,>=0.26.0
|
|
5
|
+
h5py<4.0.0,>=3.14.0
|
|
6
|
+
numpy<3.0.0,>=2.2.6
|
|
7
|
+
pandas<3.0.0,>=2.3.3
|
|
8
|
+
photutils<3.0.0,>=2.3.0
|
|
9
|
+
pyyaml<7.0.0,>=6.0.3
|
|
10
|
+
roman-datamodels<0.28.0,>=0.27.0
|
|
11
|
+
scipy<2.0.0,>=1.16.2
|
|
12
|
+
snpit_utils<0.1.0,>=0.0.12
|
|
13
|
+
|
|
14
|
+
[docs]
|
|
15
|
+
sphinx
|
|
16
|
+
sphinx-automodapi
|
|
17
|
+
matplotlib
|
|
18
|
+
mock
|
|
19
|
+
tomli
|
|
20
|
+
graphviz
|
|
21
|
+
|
|
22
|
+
[test]
|
|
23
|
+
pytest
|
|
24
|
+
pytest-doctestplus
|
|
25
|
+
pytest-cov
|
|
26
|
+
requests
|
|
27
|
+
tox
|
|
28
|
+
devpi_process
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.15.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 15, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g719a5ba90'
|
|
@@ -54,7 +54,7 @@ class DiaObject:
|
|
|
54
54
|
----------
|
|
55
55
|
collection : str
|
|
56
56
|
Which collection of object to search. Currently only
|
|
57
|
-
"ou2024" and "
|
|
57
|
+
"ou2024" and "manual" are implemented, but others will be later.
|
|
58
58
|
|
|
59
59
|
subset : str
|
|
60
60
|
Subset of collection to search. Many collections (including
|
|
@@ -548,7 +548,7 @@ class Numpy2DImage( Image ):
|
|
|
548
548
|
@property
|
|
549
549
|
def data( self ):
|
|
550
550
|
if self._data is None:
|
|
551
|
-
self._load_data()
|
|
551
|
+
self._load_data( which='data' )
|
|
552
552
|
return self._data
|
|
553
553
|
|
|
554
554
|
@data.setter
|
|
@@ -564,7 +564,7 @@ class Numpy2DImage( Image ):
|
|
|
564
564
|
@property
|
|
565
565
|
def noise( self ):
|
|
566
566
|
if self._noise is None:
|
|
567
|
-
self._load_data()
|
|
567
|
+
self._load_data( which='noise' )
|
|
568
568
|
return self._noise
|
|
569
569
|
|
|
570
570
|
@noise.setter
|
|
@@ -580,7 +580,7 @@ class Numpy2DImage( Image ):
|
|
|
580
580
|
@property
|
|
581
581
|
def flags( self ):
|
|
582
582
|
if self._flags is None:
|
|
583
|
-
self._load_data()
|
|
583
|
+
self._load_data( which='flags' )
|
|
584
584
|
return self._flags
|
|
585
585
|
|
|
586
586
|
@flags.setter
|
|
@@ -607,9 +607,9 @@ class Numpy2DImage( Image ):
|
|
|
607
607
|
self._image_shape = self.data.shape
|
|
608
608
|
return self._image_shape
|
|
609
609
|
|
|
610
|
-
def _load_data( self ):
|
|
610
|
+
def _load_data( self, which="all" ):
|
|
611
611
|
"""Loads (or reloads) the data from disk."""
|
|
612
|
-
self.get_data( which=
|
|
612
|
+
self.get_data( which=which, cache=True, always_reload=False )
|
|
613
613
|
|
|
614
614
|
def free( self ):
|
|
615
615
|
self._data = None
|
|
@@ -7,28 +7,12 @@ import numpy as np
|
|
|
7
7
|
import astropy.wcs
|
|
8
8
|
|
|
9
9
|
from snpit_utils.logger import SNLogger
|
|
10
|
+
from snpit_utils.utils import isSequence
|
|
10
11
|
from snappl.psf import PSF
|
|
11
12
|
from snappl.image import FITSImageStdHeaders
|
|
12
13
|
from snappl.wcs import AstropyWCS
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
def _kwargs_list_to_kwargs( kwargs_list ):
|
|
16
|
-
unpack = re.compile( r"^([a-zA-Z0-9_]+)\s*=\s*(.*[^\s])\s*$" )
|
|
17
|
-
kwargs = {}
|
|
18
|
-
for arg in kwargs_list:
|
|
19
|
-
mat = unpack.search( arg )
|
|
20
|
-
if mat is None:
|
|
21
|
-
raise ValueError( f"Failed to parse key=val from '{arg}'" )
|
|
22
|
-
try:
|
|
23
|
-
kwargs[ mat.group(1) ] = int( mat.group(2) )
|
|
24
|
-
except ValueError:
|
|
25
|
-
try:
|
|
26
|
-
kwargs[ mat.group(1) ] = float( mat.group(2) )
|
|
27
|
-
except ValueError:
|
|
28
|
-
kwargs[ mat.group(1) ] = mat.group(2)
|
|
29
|
-
return kwargs
|
|
30
|
-
|
|
31
|
-
|
|
32
16
|
class ImageSimulatorPointSource:
|
|
33
17
|
def __init__( self, ra=None, dec=None, psf=None ):
|
|
34
18
|
if any( i is None for i in [ ra, dec, psf ] ):
|
|
@@ -49,13 +33,13 @@ class ImageSimulatorPointSource:
|
|
|
49
33
|
x0 = int( np.floor( x + 0.5 ) )
|
|
50
34
|
y0 = int( np.floor( y + 0.5 ) )
|
|
51
35
|
stamp = self.psf.get_stamp( x, y, x0=x0, y0=y0, flux=flux )
|
|
36
|
+
var = np.zeros( stamp.shape )
|
|
52
37
|
if noisy:
|
|
53
38
|
if rng is None:
|
|
54
39
|
rng = np.random.default_rng()
|
|
55
40
|
w = stamp > 0
|
|
56
|
-
var = np.zeros( stamp.shape )
|
|
57
41
|
var[ w ] = stamp[ w ] / gain
|
|
58
|
-
stamp[ w ] += rng.normal(
|
|
42
|
+
stamp[ w ] += rng.normal( 0., np.sqrt( var[w] ) )
|
|
59
43
|
|
|
60
44
|
sx0 = 0
|
|
61
45
|
sx1 = stamp.shape[1]
|
|
@@ -113,13 +97,10 @@ class ImageSimulationStar( ImageSimulatorPointSource ):
|
|
|
113
97
|
|
|
114
98
|
|
|
115
99
|
class ImageSimulatorStarCollection:
|
|
116
|
-
def __init__( self, ra=None, dec=None, fieldrad=None, m0=None, m1=None, alpha=None, nstars=None,
|
|
117
|
-
psf_class='gaussian', psf_kwargs=['sigmax=1.', 'sigmay=1.', 'theta=0.'],
|
|
118
|
-
rng=None ):
|
|
100
|
+
def __init__( self, psf, ra=None, dec=None, fieldrad=None, m0=None, m1=None, alpha=None, nstars=None, rng=None ):
|
|
119
101
|
if rng is None:
|
|
120
102
|
self.rng = np.random.default_rng()
|
|
121
|
-
|
|
122
|
-
self.psf = PSF.get_psf_object( psf_class, **kwargs )
|
|
103
|
+
self.psf = psf
|
|
123
104
|
|
|
124
105
|
stars = []
|
|
125
106
|
norm = ( alpha + 1 ) / ( m1 ** (alpha + 1) - m0 ** (alpha + 1) )
|
|
@@ -208,7 +189,7 @@ class ImageSimulatorImage:
|
|
|
208
189
|
self.image.data += rng.normal( skymean, skysigma, size=self.image.data.shape )
|
|
209
190
|
self.image.noise += np.full( self.image.noise.shape, skysigma**2 )
|
|
210
191
|
|
|
211
|
-
def add_stars( self, stars, rng=None, numprocs=12 ):
|
|
192
|
+
def add_stars( self, stars, rng=None, noisy=False, numprocs=12 ):
|
|
212
193
|
if rng is None:
|
|
213
194
|
rng = np.random.default_rng()
|
|
214
195
|
|
|
@@ -233,7 +214,7 @@ class ImageSimulatorImage:
|
|
|
233
214
|
x, y = self.image.get_wcs().world_to_pixel( star.ra, star.dec )
|
|
234
215
|
try:
|
|
235
216
|
data = star.render_star( self.image.data.shape[1], self.image.data.shape[0], x, y,
|
|
236
|
-
zeropoint=self.image.zeropoint, rng=rng )
|
|
217
|
+
zeropoint=self.image.zeropoint, rng=rng, noisy=noisy )
|
|
237
218
|
add_star_to_image( i, data )
|
|
238
219
|
except Exception as ex:
|
|
239
220
|
omg( ex )
|
|
@@ -243,7 +224,7 @@ class ImageSimulatorImage:
|
|
|
243
224
|
x, y = self.image.get_wcs().world_to_pixel( star.ra, star.dec )
|
|
244
225
|
doer = functools.partial( star.render_star,
|
|
245
226
|
self.image.data.shape[1], self.image.data.shape[0], x, y,
|
|
246
|
-
zeropoint=self.image.zeropoint, rng=rng )
|
|
227
|
+
zeropoint=self.image.zeropoint, rng=rng, noisy=noisy )
|
|
247
228
|
callback = functools.partial( add_star_to_image, i )
|
|
248
229
|
pool.apply_async( doer, callback=callback, error_callback=omg )
|
|
249
230
|
pool.close()
|
|
@@ -253,7 +234,7 @@ class ImageSimulatorImage:
|
|
|
253
234
|
raise RuntimeError( "Bad things have happened." )
|
|
254
235
|
|
|
255
236
|
|
|
256
|
-
def add_transient( self, transient, rng=None ):
|
|
237
|
+
def add_transient( self, transient, rng=None, noisy=False ):
|
|
257
238
|
if rng is None:
|
|
258
239
|
rng = np.random.default_rng()
|
|
259
240
|
|
|
@@ -262,7 +243,7 @@ class ImageSimulatorImage:
|
|
|
262
243
|
( stamp, var,
|
|
263
244
|
imcoords, stampcoords ) = transient.render_transient( self.image.data.shape[1], self.image.data.shape[0],
|
|
264
245
|
x, y, self.image.mjd, zeropoint=self.image.zeropoint,
|
|
265
|
-
rng=rng )
|
|
246
|
+
rng=rng, noisy=noisy )
|
|
266
247
|
if stamp is not None:
|
|
267
248
|
ix0, ix1, iy0, iy1 = imcoords
|
|
268
249
|
sx0, sx1, sy0, sy1 = stampcoords
|
|
@@ -273,8 +254,7 @@ class ImageSimulatorImage:
|
|
|
273
254
|
class ImageSimulator:
|
|
274
255
|
def __init__( self,
|
|
275
256
|
seed=None,
|
|
276
|
-
|
|
277
|
-
star_center_dec=None,
|
|
257
|
+
star_center=None,
|
|
278
258
|
star_sky_radius=320.,
|
|
279
259
|
min_star_magnitude=18.,
|
|
280
260
|
max_star_magnitude=28.,
|
|
@@ -282,6 +262,7 @@ class ImageSimulator:
|
|
|
282
262
|
nstars=200,
|
|
283
263
|
psf_class='gaussian',
|
|
284
264
|
psf_kwargs=[],
|
|
265
|
+
no_star_noise=False,
|
|
285
266
|
basename='simimage',
|
|
286
267
|
width=4088,
|
|
287
268
|
height=4088,
|
|
@@ -301,13 +282,17 @@ class ImageSimulator:
|
|
|
301
282
|
transient_peak_mjd=60030.,
|
|
302
283
|
transient_start_mjd=60010.,
|
|
303
284
|
transient_end_mjd=60060.,
|
|
285
|
+
no_transient_noise=False,
|
|
304
286
|
overwrite=False,
|
|
305
287
|
numprocs=12 ):
|
|
306
288
|
|
|
307
289
|
self.mjds = mjds if mjds is not None else np.arange( 60000., 60065., 5. )
|
|
308
290
|
|
|
309
|
-
if
|
|
310
|
-
raise ValueError( "
|
|
291
|
+
if star_center is None:
|
|
292
|
+
raise ValueError( "star_center and star_center is required" )
|
|
293
|
+
if ( not isSequence(star_center) ) or ( len(star_center) != 2 ):
|
|
294
|
+
raise ValueError( "star_center must have 2 values" )
|
|
295
|
+
star_center_ra, star_center_dec = star_center
|
|
311
296
|
|
|
312
297
|
self.imdata = { 'mjds': mjds,
|
|
313
298
|
'ras': [],
|
|
@@ -356,6 +341,7 @@ class ImageSimulator:
|
|
|
356
341
|
self.nstars = nstars
|
|
357
342
|
self.psf_class = psf_class
|
|
358
343
|
self.psf_kwargs = psf_kwargs
|
|
344
|
+
self.no_star_noise = no_star_noise
|
|
359
345
|
self.band = band
|
|
360
346
|
self.sca = sca
|
|
361
347
|
self.exptime = exptime
|
|
@@ -365,6 +351,7 @@ class ImageSimulator:
|
|
|
365
351
|
self.transient_peak_mjd = transient_peak_mjd
|
|
366
352
|
self.transient_start_mjd = transient_start_mjd
|
|
367
353
|
self.transient_end_mjd = transient_end_mjd
|
|
354
|
+
self.no_transient_noise = no_transient_noise
|
|
368
355
|
self.overwrite = overwrite
|
|
369
356
|
self.numprocs = numprocs
|
|
370
357
|
|
|
@@ -374,15 +361,28 @@ class ImageSimulator:
|
|
|
374
361
|
star_rng = np.random.default_rng( base_rng.integers( 1, 2147483648 ) )
|
|
375
362
|
transient_rng = np.random.default_rng( base_rng.integers( 1, 2147483648 ) )
|
|
376
363
|
|
|
377
|
-
|
|
364
|
+
unpack = re.compile( r"^([a-zA-Z0-9_]+)\s*=\s*(.*[^\s])\s*$" )
|
|
365
|
+
kwargs = {}
|
|
366
|
+
for arg in self.psf_kwargs:
|
|
367
|
+
mat = unpack.search( arg )
|
|
368
|
+
if mat is None:
|
|
369
|
+
raise ValueError( f"Failed to parse key=val from '{arg}'" )
|
|
370
|
+
try:
|
|
371
|
+
kwargs[ mat.group(1) ] = int( mat.group(2) )
|
|
372
|
+
except ValueError:
|
|
373
|
+
try:
|
|
374
|
+
kwargs[ mat.group(1) ] = float( mat.group(2) )
|
|
375
|
+
except ValueError:
|
|
376
|
+
kwargs[ mat.group(1) ] = mat.group(2)
|
|
377
|
+
psf = PSF.get_psf_object( self.psf_class, **kwargs )
|
|
378
|
+
|
|
379
|
+
stars = ImageSimulatorStarCollection( psf=psf, ra=self.star_center_ra, dec=self.star_center_dec,
|
|
378
380
|
fieldrad=self.star_sky_radius,
|
|
379
381
|
m0=self.min_star_magnitude, m1=self.max_star_magnitude,
|
|
380
|
-
alpha=self.alpha, nstars=self.nstars,
|
|
381
|
-
psf_class=self.psf_class, psf_kwargs=self.psf_kwargs,
|
|
382
|
-
rng=star_rng )
|
|
382
|
+
alpha=self.alpha, nstars=self.nstars, rng=star_rng )
|
|
383
383
|
|
|
384
384
|
transient = ImageSimulatorTransient( ra=self.transient_ra, dec=self.transient_dec,
|
|
385
|
-
psf=
|
|
385
|
+
psf=psf, peak_mag=self.transient_peak_mag,
|
|
386
386
|
peak_mjd=self.transient_peak_mjd, start_mjd=self.transient_start_mjd,
|
|
387
387
|
end_mjd=self.transient_end_mjd )
|
|
388
388
|
|
|
@@ -394,8 +394,8 @@ class ImageSimulator:
|
|
|
394
394
|
zeropoint=self.imdata['zps'][i], mjd=self.imdata['mjds'][i],
|
|
395
395
|
pixscale=self.pixscale, band=self.band, sca=self.sca, exptime=self.exptime )
|
|
396
396
|
image.render_sky( self.imdata['skys'][i], self.imdata['skyrmses'][i], rng=sky_rng )
|
|
397
|
-
image.add_stars( stars, star_rng, numprocs=self.numprocs )
|
|
398
|
-
image.add_transient( transient, rng=transient_rng )
|
|
397
|
+
image.add_stars( stars, star_rng, numprocs=self.numprocs, noisy=not self.no_star_noise )
|
|
398
|
+
image.add_transient( transient, rng=transient_rng, noisy=not self.no_transient_noise )
|
|
399
399
|
image.image.noise = np.sqrt( image.image.noise )
|
|
400
400
|
SNLogger.info( f"Writing {image.image.path}, {image.image.noisepath}, and {image.image.flagspath}" )
|
|
401
401
|
image.image.save( overwrite=self.overwrite )
|
|
@@ -418,33 +418,35 @@ def main():
|
|
|
418
418
|
help="Maxinum (dimmest) magnitude star created (default 18)" )
|
|
419
419
|
parser.add_argument( '-a', '--alpha', type=float, default=1.,
|
|
420
420
|
help="Power law exponent for star distribution (default: 1)" )
|
|
421
|
-
parser.add_argument( '-n', '--nstars', type=
|
|
421
|
+
parser.add_argument( '-n', '--nstars', type=int, default=200,
|
|
422
422
|
help="Generate this many stars (default 200)" )
|
|
423
423
|
parser.add_argument( '-p', '--psf-class', default='gaussian',
|
|
424
424
|
help="psfclass to use for stars (default 'gaussian')" )
|
|
425
425
|
parser.add_argument( '--psf-kwargs', '--pk', nargs='*', default=[],
|
|
426
426
|
help="Series of key=value PSF kwargs to pass to PSF.get_psf_object" )
|
|
427
|
+
parser.add_argument( '--no-star-noise', action='store_true', default=False,
|
|
428
|
+
help="Set this to not add poisson noise to stars." )
|
|
427
429
|
|
|
428
430
|
parser.add_argument( '-b', '--basename', default='simimage',
|
|
429
431
|
help=( "base for output filename. Written files will be basename_{mjd:7.1f}_image.fits, "
|
|
430
432
|
"..._noise.fits, and ..._flags.fits" ) )
|
|
431
|
-
parser.add_argument( '
|
|
432
|
-
parser.add_argument( '
|
|
433
|
+
parser.add_argument( '--width', type=int, default=4088, help="Image width (default: 4088)" )
|
|
434
|
+
parser.add_argument( '--height', type=int, default=4088, help="Image height (default: 4088)" )
|
|
433
435
|
parser.add_argument( '--pixscale', '--ps', type=float, default=0.11,
|
|
434
436
|
help="Image pixel scale in arcsec/pixel (default 0.11)" )
|
|
435
437
|
parser.add_argument( '-t', '--mjds', type=float, nargs='+', default=None,
|
|
436
438
|
help="MJDs of images (default: start at 60000., space by 5 days for 60 days)" )
|
|
437
439
|
parser.add_argument( '--image-centers', '--ic', type=float, nargs='+', default=None,
|
|
438
440
|
help="ra0 dec0 ra1 dec1 ... ran decn centers of images" )
|
|
439
|
-
parser.add_argument( '
|
|
441
|
+
parser.add_argument( '-θ', '--image-rotations', type=float, nargs='+', default=[0.],
|
|
440
442
|
help="Rotations (degrees) of images about centers" )
|
|
441
|
-
parser.add_argument( '-z', '--
|
|
443
|
+
parser.add_argument( '-z', '--zeropoints', type=float, nargs='+', default=[33.],
|
|
442
444
|
help="Image zeropoints (default: 33. for all)" )
|
|
443
445
|
parser.add_argument( '-r', '--sky-noise-rms', type=float, nargs='+', default=100.,
|
|
444
446
|
help="Image sky RMS noise (default: 100. for all)" )
|
|
445
447
|
parser.add_argument( '-s', '--sky-level', type=float, nargs='+', default=10.,
|
|
446
448
|
help="Image sky level (default: 10. for all)" )
|
|
447
|
-
parser.add_argument( '-
|
|
449
|
+
parser.add_argument( '-f', '--band', '--filter', default="R062",
|
|
448
450
|
help="Stuck in the BAND Header in the images (default R062)." )
|
|
449
451
|
parser.add_argument( '--sca', default=1,
|
|
450
452
|
help="Stuck in the SCA Header in the images (default 1)" )
|
|
@@ -461,8 +463,10 @@ def main():
|
|
|
461
463
|
help="Start MJD of transient linear rise (default: 60010.)" )
|
|
462
464
|
parser.add_argument( '--transient-peak-mjd', '--ttm', type=float, default=60030.,
|
|
463
465
|
help="Peak MJD of transient (default: 60030.)" )
|
|
464
|
-
parser.add_argument( '--transient-end-mjd', '--tt1', type=float, default=
|
|
466
|
+
parser.add_argument( '--transient-end-mjd', '--tt1', type=float, default=60060.,
|
|
465
467
|
help="End MJD of transient linear decay (default: 60060.)" )
|
|
468
|
+
parser.add_argument( '--no-transient-noise', action='store_true', default=False,
|
|
469
|
+
help="Set this to not add poisson noise to transients." )
|
|
466
470
|
|
|
467
471
|
parser.add_argument( '--numprocs', type=int, default=12, help="Number of star rendering processes (default 12)" )
|
|
468
472
|
parser.add_argument( '-o', '--overwrite', action='store_true', default=False,
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
numpy
|
|
2
|
-
scipy
|
|
3
|
-
astropy
|
|
4
|
-
photutils
|
|
5
|
-
pandas
|
|
6
|
-
h5py
|
|
7
|
-
roman-datamodels
|
|
8
|
-
snpit_utils
|
|
9
|
-
towncrier
|
|
10
|
-
setuptools_scm
|
|
11
|
-
cruft
|
|
12
|
-
coverage
|
|
13
|
-
|
|
14
|
-
[docs]
|
|
15
|
-
sphinx
|
|
16
|
-
sphinx-automodapi
|
|
17
|
-
matplotlib
|
|
18
|
-
mock
|
|
19
|
-
tomli
|
|
20
|
-
graphviz
|
|
21
|
-
|
|
22
|
-
[test]
|
|
23
|
-
pytest
|
|
24
|
-
pytest-doctestplus
|
|
25
|
-
pytest-cov
|
|
26
|
-
requests
|
|
27
|
-
tox
|
|
28
|
-
devpi_process
|
|
File without changes
|
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
RENAMED
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md
RENAMED
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/ISSUE_TEMPLATE/PR_TEMPLATE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/run_snappl_tests.yml
RENAMED
|
File without changes
|
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/.github/workflows/sub_package_update.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/experimentation/play_with_photutils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{roman_snpit_snappl-0.14.0 → roman_snpit_snappl-0.15.0}/roman_snpit_snappl.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|