Revision History
Changes from v2.4 to v2.5
This release adds support for Pyton 3.11 and 3.12. We currently support 3.7 through 3.12.
API Changes
Deprecated the use of filter W149 in roman module. New name is W146. (#1017)
Deprecated automatic allocation of
PhotonArray
arrays via “get” access rather than “set” access for the arrays that are not initially allocated. E.g. writingdxdz = photon_array.dxdz
will emit a warning (and eventually this will be an error) if the angle arrays have not been either set or explicitly allocated. One should be sure to either set them (e.g. usingphoton_array.dxdz = [...]
) or explicitly allocate them (usingphoton_array.allocateAngles()
). (#1191)Changed the
.SED
attribute name ofChromaticObject
to lowercase.sed
. (#1245)
Config Updates
Fixed a bug in Scattered type, where it didn’t respect world_pos being specified in the stamp field, as it should. (#1190)
Added a new
initial_image
input type that lets you read in an existing image file and draw onto it. (#1237)Added skip_failures option in stamp fields. (#1238)
Let input items depend on other input items, even if they appear later in the input field. (#1239)
Allow profiling output to reach the logger when running with -v0. (#1245)
Added Eval type for GSObjects. (#1250)
New Features
Updated Roman telescope data to Phase C (aka Cycle 9) specifications (#1017)
Added
ShapeData.applyWCS
method to convert HSM shapes to sky coordinates. Also added the optionuse_sky_coords=True
tohsm.FindAdaptiveMom
to apply this automatically. (#1219)Added
DoubleZernike
class and related functionality. (#1221)Added some utility functions that we have found useful in our test suite, and which other people might want to use to the installed galsim.utilities. (#1240)
Added
utilities.merge_sorted
which merges two or more sorted numpy arrays faster than the available numpy options. (#1243)Added
EmissionLine
class to represent emission line SEDs. (#1247, #1249)Updated data in The Roman Space Telescope Module module to Phase C (Cycle 9) information. (#1017, #1251)
Performance Improvements
Added support for GPU offloading. So far this has only been applied to the Silicon sensor calculations of the brighter-fatter effect. (#1212, #1217, #1218, #1222, #1224, #1230)
Drawing chromatic objects with photon shooting automatically adds a WavelengthSampler photon_op. It used to do this regardless of if one was already in a photon_ops list, which is inefficient. Now it only adds it if there is not already one given by the user. (#1229, #1236)
Work around an OMP bug that disables multiprocessing on some systems when omp_get_max_threads is called. (#1241)
Sped up the
combine_wave_list
function, using the newmerge_sorted
function. (#1243)No longer keep a separate
wave_list
array inChromaticObject
. These are always equal to thewave_list
in thesed
attribute, so there is no need to duplicate the work of computing thewave_list
. (#1245)Delayed the calculation of the
sed
attributes ofChromaticObject
until they are actually needed. Since sometimes they are not needed, this is a performance improvement in those cases. (#1245)Reduce long-term memory usage of Silicon class after drawing onto a very large stamp and then moving on to smaller stamps. (#1246)
Bug Fixes
Fixed a bug that could lead to overflow in extremely large images. (#1017)
Fixed a slight error in the Moffat maxk calculation. (#1208, #1210)
Fixed a bug that prevented Eval types from generating lists in config files in some contexts. (#1220, #1223)
Fixed the absorption depth calculation in the Silicon class to allow wavelengths that are outside the given range of the absorption lookup table. It now just uses the limiting values, rather than raising an exception. (#1227)
Changed the SED class to correctly broadcast over waves when the SED is constant. (#1228, #1235)
Fixed some errors when drawing ChromaticTransformation objects with photon shooting. (#1229)
Fixed the flux drawn by ChromaticConvolution with photon shooting when poisson_flux=True. (#1229)
Fixed a slight inaccuracy in the FFT phase shifts for single-precision images. (#1231, #1234)
Fixed a bug that prevented a convolution of two PhaseScreenPSF objects from being drawn with photon shooting. (#1242)
Changes from v2.5.0 to v2.5.1
Fixed an incompatibility with Python 3.12 that we had missed.
Fixed a bug in the SED class normalization when using astropy.units for flux_type. Thanks to Sid Mau for finding and fixing this bug. (#1254, #1256)
Fixed a bug in the
EmissionLine.atRedshift
method. (#1257)Added interpolant option to
SED
andBandpass
classes to use when reading from a file. (#1257)Improved the behavior of SEDs when using spline interpolant. (#1187, #1257)
No longer pickle the SED of chromatic objects when the SED is a derived value. (#1257)
Added interpolant option to
galsim.trapz
. (#1257)Added clip_neg option to
DistDeviate
class. (#1257)Fixed a bug in
SiliconSensor
if the image is outside the range where tree rings are defined. (#1258)Implemented algorithm for
ChromaticSum
to be used as a photon_op. (#1259)Added
PhotonArray.copyFrom
method. (#1259)Deprecated
PhotonArray.setCorrelated
andPhotonArray.isCorrelated
, since they are not necessary anymore. (#1259)Deprecated
PhotonArray.assignAt
in favor of the more flexiblePhotonArray.copyFrom
method. (#1259)
Changes from v2.5.1 to v2.5.2
Added galsim.roman.max_sun_angle as a module-level named variable. (#1261)
Fixed an error in the CelestialWCS.radecToxy doc string. (#1275)
Fixed a pandas deprecation. (#1278)
Fixed some broken links in the installation docs. (#1279)
Added observed_e1, observed_e2 properties to the hsm.ShapeData structure. (#1279)
Added check=False option to hsm routines FindAdaptiveMom and EstimateShdear. (#1279)
Fixed a bug in the use of evaluated template strings in the config dict. (#1281)
Fixed a bug in CelestialWCS computation of the local jacobian near ra=0. (#1282)
Changes from v2.5.2 to v2.5.3
Fixed several issues with using
save_photons=True
with chromatic objects. (#1271, #1284, #1289)Added missing LoggerWrapper.critical method. (#1287)
Added ScaleFlux and ScaleWavelength photon ops. (#1289)
Deprecated ChromaticObject.atRedshift. (#1291)
Various fixes to work with numpy 2.0. (#1297)