What’s new in PyCPL 0.9¶
PyCPL 0.9 is an early release, which is made available to the public in order to obtain feedback from a wider audience.
Added¶
Docstrings and comments added to ‘cpl.core.table_bindings’ and ‘cpl.core.matrix_bindings’ (!156)
Module level docstrings were added to the submodules cpl.core, cpl.dfs, cpl.drs, and cpl.ui, summarizing the provided functionality. (!139)
equals function to cpl.core.Image, used to compare equivalence of the image to another image.
cpl.drs.geometric_transforms pydocs and unit tests (!111)
cpl.drs.detector pydocs and unit tests (!109)
DESCRIPTION constant accessible via cpl.DESCRIPTION. This is a string detailing the libraries linked to CPL (including CPL itself) and their version numbers. (!131)
large number of cpl.core.Table method pydocs added (!137)
large number of cpl.core.Matrix method pydocs added (!137)
cpl.core.Image.labelise_create added (!108)
cpl.core.Image can now be deep copied (!108)
cpl.drs.Apertures is now fully documented with unit tests. (!108)
cpl.drs.wlcalib documented with some unit tests (!107)
cpl.core.Image.fft now bound (!140)
Changed¶
parameter zone_def for all cpl.drs.detector functions is now a tuple of 4 values (data types dependent on function). The parameter is also now made optional. (!109)
cpl.core.ImageList.load now loads data as CPL_TYPE_DOUBLE by default while Image.load() loads data as it is in the file. (!127)
cpl.core.Image constructor simplified and better documented. Zero initialised images now constructed with cpl.core.Image.zeros (!134)
cpl.core.Image.fill_abs_arg has been renamed to cpl.core.Image.split_abs_arg and cpl.core.Image.fill_abs_arg has been renamed to cpl.core.Image.fill_real_imag to be more indicative of the function’s purpse. (!134)
cpl.core.Image.as_type added as an alternative interface to cpl.core.Image.cast. (!134)
cpl.core.Image.fill_gaussian now uses 0 indexed values for xcen and ycen to be more consistent with the rest of the methods (!134)
cpl.core.dump_window removed, now cpl.core.dump supports optional window arg to provide the same functionality. (!134)
cpl.core.get_median_dev now returns a tuple of two values instead of just one, as it also returns the mean absolution median devation (!134)
FITS keyword names are now rendered as code in the documentation of cpl.dfs. (!139)
cpl.core.Matrix.solve_lu returns a new matrix based on the solution applied to rhs instead of modifying rhs (!136)
cpl.core.Matrix.sort_rows and cpl.core.Matrix.sort_columns now take a boolean arg instead of an integer mode to decide to sort by absolute or value (!136)
cpl.core.Matrix has new init structure using optional arguments. Initialising an empty matrix now done via cpl.core.Matrix.zeros (!136)
cpl.core.Matrix.threshold_small, cpl.core.Matrix.is_zero, cpl.core.Matrix.is_diagonal and cpl.core.Matrix.is_identity now have None as the default value for threshold instead of -1.0, but has the same effect. (!136)
cpl.core.Matrix.copy renamed to cpl.core.Matrix.copy_values_from (!136)
Fixed¶
Critical warnings from Sphinx about unexpected section titles in the documentation of overloaded functions were fixed by manually formatting these sections. (!139)
clang compiler warnings should no longer be present, making clang fully supported
Symbols and constants from the CPL C API appearing in the documentation of cpl.dfs were replaced by their PyCPL counterparts. (!139)
C++ types in the docs have been corrected to their corresponding python types
CPL path set by environment variables CPL_ROOT now takes priority over system directories to be linked during installation
Unit test for eval test adjusted for m1 macs due to reduced double precision
cpl.core.Image equality works for images of all data types now
cpl.core.Matrix.is_zero, cpl.core.Matrix.is_diagonal and cpl.core.Matrix.is_identity now return booleans (!136)
cpl.core.Matrix.is_diagonal and cpl.core.Matrix.is_identity throws cpl.core.IllegalInputError rather than simply returning False when called on a square matrix (!136)
cpl.core.Table.is_selected returns bool as intentded (!137)
cpl.core.Image equality works for images of all data types now (!127)
cpl.core.Image.load now allows specifying the image target and target window type when loading a file as it should have. (!127)
cpl.drs.wlcalib.SlitModel could not previously be initialised. This has now been fixed. (!142)
cpl.drs.wlcalib.SlitModel.fit_best_1d was a typo. Corrected to cpl.drs.wlcalib.SlitModel.find_best_1d (!142)
cpl.drs.wlcalib.SlitModel.find_best_1d returned NamedTuple previously used the wrong field names. This has now been corrected. (!142)
cpl.drs.fit.lvmq no longer throws bad_function_call when PyCPL is compiled with >=gcc11 on MacOS (!141)
cpl.drs.geometric_transforms.img_offset_combine warning when compiling with clang now fixed. (!145)
cpl.core.Table.load_window’s ordering of arguments was previously incorrect. Now fixed. (!145)
cpl.drs.detector.get_noise_ring now returns correct values on gcc (!145)
cpl.drs.geometric_transforms.img_offset_combine warning when compiling with clang now fixed.
cpl.core.Matrix.solve_lu copies rhs and returns the modification rather than modifies rhs inplace (!136)