We currently support Python 3.8 through 3.13.
A complete list of all new features and changes is given below. Relevant PRs and Issues, whose issue numbers are listed below for the relevant items.
- Added DoubleZernike.xycoef to directly access the pupil coefficient array rather than going through Zernike. (#1327)
- Added a setter for the Image.array property, so
im.array = rhsis equivelent toim.array[:] = rhs. This cannot be used to replace the underlying object, only its contents. But it avoids some confusing behavior that can happen when doing this operation in an interactive session (such as Jupyter). (#1272, #1329) - Added an option
recalc=Trueto SiliconSensor.accumulate. In conjunction withnrecalc=0andresume=True, this allows the user more precise control as to when the pixel boundaries are recalculated during the accumulation. (#1328)
- Switched to inbuilt operators on lists rather than numpy operators in a few places where they are faster. (#1316)
- Added
robust=Trueoption to Zernike.__call__, which is both more accurate and faster for large Noll indices, but is usually slower for small indices. (#1326, #1327)
- Fixed an error in the Spergel stepk calculation. (#1324, #1325)
- Fixed an error in PhotonDCR use of zenith_angle if sky_pos is also given. (#1330)
- Reduced memory use in the Silicon class. (#1331)