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 = rhs
is 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=True
to SiliconSensor.accumulate. In conjunction withnrecalc=0
andresume=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=True
option 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)