exosim 2.2.2__tar.gz → 2.2.4__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.
- {exosim-2.2.2 → exosim-2.2.4}/CHANGELOG.rst +36 -0
- {exosim-2.2.2 → exosim-2.2.4}/CITATION.cff +2 -2
- {exosim-2.2.2 → exosim-2.2.4}/PKG-INFO +1 -1
- {exosim-2.2.2 → exosim-2.2.4}/codemeta.json +2 -2
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/models/channel.py +34 -20
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/estimate_apertures.py +2 -1
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/aperture.py +4 -3
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/PKG-INFO +1 -1
- exosim-2.2.4/src/exosim.egg-info/scm_version.json +8 -0
- exosim-2.2.2/src/exosim.egg-info/scm_version.json +0 -8
- {exosim-2.2.2 → exosim-2.2.4}/.gitignore +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/CODE_OF_CONDUCT.md +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/LICENSE +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/MANIFEST.in +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/README.md +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/RELEASING.md +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/pyproject.toml +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/scripts/changelog_extract.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/scripts/release.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/setup.cfg +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/__about__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/data/Zodi_map.hdf5 +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/exosim.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/log/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/log/logger.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/log/structlog_config.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/models/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/models/signal.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/models/utils/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/models/utils/cached_data.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/hdf5/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/hdf5/hdf5.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/hdf5/utils.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/output.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/set_output.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/output/utils.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/focal_plane_plotter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/ndrs_plotter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/plotter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/radiometric_plotter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/sub_exposures_plotter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/plots/utils.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/py.typed +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/create_focal_plane.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/create_ndrs.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/create_sub_exposures.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/radiometric_model.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/recipes/simulate_observation.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/astrosignal/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/astrosignal/apply_astronomical_signal.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/astrosignal/estimate_astronomical_signal.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/astrosignal/estimate_planetary_signal.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/astrosignal/find_astronomical_signals.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/chain_task.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/accumulate_sub_exposures.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_constant_dark_current.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_cosmic_rays.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_dark_current_map_numpy.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_gain_drift.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_ktc.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_read_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_read_noise_map_numpy.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/add_shot_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/analog_to_digital.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/apply_dead_pixel_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/apply_dead_pixel_map_numpy.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/apply_pixels_non_linearity.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/apply_simple_saturation.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/load_pixels_non_linearity_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/load_pixels_non_linearity_map_numpy.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/merge_groups.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/foregrounds/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/foregrounds/estimate_zodi.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/apply_intra_pixel_response_function.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/compute_saturation.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/compute_solid_angle.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/compute_sources_pointing_offset.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/create_focal_plane.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/create_focal_plane_array.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/create_intrapixel_response_function.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/create_oversampled_intrapixel_response_function.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/foregrounds_to_focal_plane.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/load_psf.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/load_psf_paos.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/load_psf_paos_time_interp.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/load_responsivity.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/load_wavelength_solution.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/populate_focal_plane.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/propagate_foregrounds.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/propagate_sources.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/load/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/load/load_optical_element.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/load/load_optical_element_hdf5.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/load/load_options.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/load/load_source_list.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/parse/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/parse/parse_optical_element.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/parse/parse_path.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/parse/parse_source.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/parse/parse_zodi.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/aperture_photometry.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_constant_dark_current_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_constant_read_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_custom_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_integration_time.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_observation_efficiency.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_observation_efficiency_from_dead_time.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_photon_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_signals_channel.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_sub_frg_signals_channel.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_total_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/estimate_spectral_binning.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/load_apertures.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/multiaccum.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/saturation_channel.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/compute_multiaccum.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/compute_noise_column.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/compute_photon_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/compute_saturation.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/create_table.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/utils/update_total_noise.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/create_custom_source.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/create_planck_star.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/download_sed.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/load_custom.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/load_phoenix.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/sed/prepare_sed.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/add_foregrounds.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/apply_qe_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/compute_reading_scheme.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/estimate_ch_jitter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/estimate_pointing_jitter.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/instantaneous_read_out.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/load_ils.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/load_qe_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/load_qe_map_numpy.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/prepare_instantaneous_read_out.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/task.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/adc_gain_estimator.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/dark_current_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/dead_pixels_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/exosim_tool.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/pixels_non_linearity.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/pixels_non_linearity_from_correction.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/quantum_efficiency_map.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/tools/readout_scheme_calculator.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/__init__.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/ascii_arts.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/binning.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/checks.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/convolution.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/focal_plane_locations.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/grids.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/iterators.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/klass_factory.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/operations.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/output_cleaners.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/prepare_recipes.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/psf.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/run_config.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/timed_class.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim/utils/types.py +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/SOURCES.txt +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/dependency_links.txt +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/entry_points.txt +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/requires.txt +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/scm_file_list.json +0 -0
- {exosim-2.2.2 → exosim-2.2.4}/src/exosim.egg-info/top_level.txt +0 -0
|
@@ -12,6 +12,38 @@ Unreleased changes live as fragments in ``changelog.d/`` and are merged here by
|
|
|
12
12
|
|
|
13
13
|
.. scriv-insert-here
|
|
14
14
|
|
|
15
|
+
.. _changelog-2.2.4:
|
|
16
|
+
|
|
17
|
+
[2.2.4_] - Rescale sources API
|
|
18
|
+
==============================
|
|
19
|
+
|
|
20
|
+
Added
|
|
21
|
+
-----
|
|
22
|
+
|
|
23
|
+
- ``Channel.rescale_sources()`` and ``Channel.rescale_radiances()``: the two
|
|
24
|
+
halves of ``Channel.rescale_contributions()``, which now calls both and
|
|
25
|
+
behaves as before. A pipeline that propagates the sources a second time
|
|
26
|
+
(for example after ``define_sources``) can rescale only the sources, without
|
|
27
|
+
multiplying the path radiances by the wavelength step again.
|
|
28
|
+
|
|
29
|
+
.. _changelog-2.2.3:
|
|
30
|
+
|
|
31
|
+
[2.2.3_] - Elliptical aperture area
|
|
32
|
+
===================================
|
|
33
|
+
|
|
34
|
+
Fixed
|
|
35
|
+
-----
|
|
36
|
+
|
|
37
|
+
- elliptical apertures: ``aperture_size`` (the pixel count used by
|
|
38
|
+
``ComputeConstantDarkCurrentNoise`` and ``ComputeConstantReadNoise``) was
|
|
39
|
+
computed as :math:`\pi (a/2)(b/2)`, four times smaller than the area
|
|
40
|
+
integrated by the photometry, which uses ``a`` and ``b`` as the semi-axes of
|
|
41
|
+
the ``photutils`` ``EllipticalAperture``. It is now :math:`\pi a b`.
|
|
42
|
+
``find_elliptical_aperture`` likewise returns :math:`\pi a b` as its area
|
|
43
|
+
(it returned ``a * b``) and its docstring now states that the sizes are
|
|
44
|
+
semi-axes. Aperture tables generated with earlier versions have a wrong
|
|
45
|
+
``aperture_size`` for elliptical rows and should be regenerated
|
|
46
|
+
|
|
15
47
|
.. _changelog-2.2.2:
|
|
16
48
|
|
|
17
49
|
[2.2.2_] - Fix ACES solar-metallicity SED download
|
|
@@ -284,5 +316,9 @@ Cleaned repository
|
|
|
284
316
|
|
|
285
317
|
.. _2.2.2: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.2
|
|
286
318
|
|
|
319
|
+
.. _2.2.3: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.3
|
|
320
|
+
|
|
321
|
+
.. _2.2.4: https://github.com/arielmission-space/ExoSim2.0/releases/tag/v2.2.4
|
|
322
|
+
|
|
287
323
|
.. _keepachangelog: https://keepachangelog.com/en/1.0.0/
|
|
288
324
|
.. _semver: https://semver.org/spec/v2.0.0.html
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: exosim
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.4
|
|
4
4
|
Summary: ExoSim 2 is the next generation of the Exoplanet Observation Simulator (ExoSim) tailored for spectro-photometric observations of transiting exoplanets from space, ground, and sub-orbital platforms. This software is a complete rewrite implemented in Python 3, embracing object-oriented design principles.
|
|
5
5
|
Author: E. Pascale, A. Bocchieri, A. Lorenzani, A. Papageorgiou
|
|
6
6
|
Author-email: "L. V. Mugnai" <mugnail@cardiff.ac.uk>
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"license": "https://spdx.org/licenses/BSD-3-Clause",
|
|
41
41
|
"name": "ExoSim2",
|
|
42
42
|
"programmingLanguage": "Python 3",
|
|
43
|
-
"version": "2.2.
|
|
43
|
+
"version": "2.2.4",
|
|
44
44
|
"codemeta:contIntegration": {
|
|
45
45
|
"id": "https://app.codecov.io/gh/arielmission-space/ExoSim2-public"
|
|
46
46
|
},
|
|
47
47
|
"continuousIntegration": "https://app.codecov.io/gh/arielmission-space/ExoSim2-public",
|
|
48
48
|
"issueTracker": "https://github.com/arielmission-space/ExoSim2-public/issues",
|
|
49
49
|
"referencePublication": "https://link.springer.com/article/10.1007/s10686-024-09976-2",
|
|
50
|
-
"dateModified": "2026-11-
|
|
50
|
+
"dateModified": "2026-11-13"
|
|
51
51
|
}
|
|
@@ -252,38 +252,52 @@ class Channel(log.Logger):
|
|
|
252
252
|
self.bkg_focal_plane = focal_plane.copy(dataset_name="bkg_focal_plane")
|
|
253
253
|
return focal_plane
|
|
254
254
|
|
|
255
|
-
|
|
256
|
-
|
|
255
|
+
def _focal_plane_wavelength_step(self) -> u.Quantity:
|
|
256
|
+
"""Wavelength width of each focal-plane spectral column."""
|
|
257
|
+
x_wav_osr = self.focal_plane.spectral
|
|
258
|
+
d_x_wav_osr = np.zeros_like(x_wav_osr)
|
|
259
|
+
idx = np.where(x_wav_osr > 0.0)
|
|
260
|
+
d_x_wav_osr[idx] = np.gradient(x_wav_osr[idx])
|
|
261
|
+
if np.any(d_x_wav_osr < 0):
|
|
262
|
+
d_x_wav_osr *= -1.0
|
|
263
|
+
return d_x_wav_osr * self.focal_plane.spectral_units
|
|
264
|
+
|
|
265
|
+
def rescale_sources(self) -> None:
|
|
257
266
|
"""
|
|
258
|
-
It
|
|
259
|
-
|
|
260
|
-
|
|
267
|
+
It rebins the sources onto the focal-plane wavelength grid and
|
|
268
|
+
multiplies them by the wavelength width of each column, turning
|
|
269
|
+
spectral densities into signals per column. Each source must be
|
|
270
|
+
rescaled once, after it has been propagated.
|
|
261
271
|
"""
|
|
262
|
-
|
|
263
|
-
def wl_gradient(x_wav_osr):
|
|
264
|
-
d_x_wav_osr = np.zeros_like(x_wav_osr)
|
|
265
|
-
idx = np.where(x_wav_osr > 0.0)
|
|
266
|
-
d_x_wav_osr[idx] = np.gradient(x_wav_osr[idx])
|
|
267
|
-
if np.any(d_x_wav_osr < 0):
|
|
268
|
-
d_x_wav_osr *= -1.0
|
|
269
|
-
return d_x_wav_osr
|
|
270
|
-
|
|
271
|
-
d_spectral_wl = (
|
|
272
|
-
wl_gradient(self.focal_plane.spectral) * self.focal_plane.spectral_units
|
|
273
|
-
)
|
|
274
|
-
|
|
275
|
-
# multiply sources by gradient
|
|
276
272
|
if self.sources:
|
|
273
|
+
d_spectral_wl = self._focal_plane_wavelength_step()
|
|
277
274
|
for source in self.sources:
|
|
278
275
|
self.sources[source].spectral_rebin(self.focal_plane.spectral)
|
|
279
276
|
self.sources[source] *= d_spectral_wl
|
|
280
277
|
|
|
281
|
-
|
|
278
|
+
def rescale_radiances(self) -> None:
|
|
279
|
+
"""
|
|
280
|
+
It rebins the path radiances (foregrounds and optical-element
|
|
281
|
+
emission) onto the focal-plane wavelength grid and multiplies them
|
|
282
|
+
by the wavelength width of each column. The radiances must be
|
|
283
|
+
rescaled once: when the sources are propagated again (for example
|
|
284
|
+
after :meth:`define_sources`), use :meth:`rescale_sources` only.
|
|
285
|
+
"""
|
|
282
286
|
if self.path:
|
|
287
|
+
d_spectral_wl = self._focal_plane_wavelength_step()
|
|
283
288
|
for rad in [k for k in self.path if "radiance" in k]:
|
|
284
289
|
self.path[rad].spectral_rebin(self.focal_plane.spectral)
|
|
285
290
|
self.path[rad] *= d_spectral_wl
|
|
286
291
|
|
|
292
|
+
def rescale_contributions(self) -> None:
|
|
293
|
+
"""
|
|
294
|
+
It rescales the sources and the path radiances onto the focal-plane
|
|
295
|
+
wavelength grid: :meth:`rescale_sources` followed by
|
|
296
|
+
:meth:`rescale_radiances`.
|
|
297
|
+
"""
|
|
298
|
+
self.rescale_sources()
|
|
299
|
+
self.rescale_radiances()
|
|
300
|
+
|
|
287
301
|
@property
|
|
288
302
|
def target_source(self):
|
|
289
303
|
# TODO test this
|
|
@@ -223,7 +223,8 @@ class EstimateApertures(Task):
|
|
|
223
223
|
if shape == "rectangular":
|
|
224
224
|
aperture_size = np.array(dwl) * np.array(dsp)
|
|
225
225
|
elif shape == "elliptical":
|
|
226
|
-
|
|
226
|
+
# dwl and dsp are the semi-axes (a, b) of the photutils EllipticalAperture
|
|
227
|
+
aperture_size = np.pi * np.array(dwl) * np.array(dsp)
|
|
227
228
|
else:
|
|
228
229
|
aperture_size = np.array(dsp) # fallback generico
|
|
229
230
|
|
|
@@ -115,9 +115,10 @@ def find_elliptical_aperture(ima, desired_ene, center=None):
|
|
|
115
115
|
Returns
|
|
116
116
|
-------
|
|
117
117
|
(float, float)
|
|
118
|
-
|
|
118
|
+
semi-axes (a, b) of the elliptical aperture, in pixels, as used by
|
|
119
|
+
:class:`photutils.aperture.EllipticalAperture`
|
|
119
120
|
float
|
|
120
|
-
|
|
121
|
+
area of the aperture in pixels, :math:`\\pi a b`
|
|
121
122
|
float
|
|
122
123
|
encircled energy collected by the aperture
|
|
123
124
|
|
|
@@ -172,7 +173,7 @@ def find_elliptical_aperture(ima, desired_ene, center=None):
|
|
|
172
173
|
|
|
173
174
|
a = res.x[0]
|
|
174
175
|
b = res.x[1]
|
|
175
|
-
return (a, b), a * b, ene_func(center, a, b, ima)
|
|
176
|
+
return (a, b), np.pi * a * b, ene_func(center, a, b, ima)
|
|
176
177
|
|
|
177
178
|
|
|
178
179
|
def find_bin_aperture(ima, desired_ene, spatial_with, center=None):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: exosim
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.4
|
|
4
4
|
Summary: ExoSim 2 is the next generation of the Exoplanet Observation Simulator (ExoSim) tailored for spectro-photometric observations of transiting exoplanets from space, ground, and sub-orbital platforms. This software is a complete rewrite implemented in Python 3, embracing object-oriented design principles.
|
|
5
5
|
Author: E. Pascale, A. Bocchieri, A. Lorenzani, A. Papageorgiou
|
|
6
6
|
Author-email: "L. V. Mugnai" <mugnail@cardiff.ac.uk>
|
|
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
|
|
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
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/detector/load_pixels_non_linearity_map_numpy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/apply_intra_pixel_response_function.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/compute_sources_pointing_offset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/instrument/create_intrapixel_response_function.py
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
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_constant_dark_current_noise.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_observation_efficiency.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/radiometric/compute_sub_frg_signals_channel.py
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
|
{exosim-2.2.2 → exosim-2.2.4}/src/exosim/tasks/subexposures/prepare_instantaneous_read_out.py
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
|