Magni

Latest version: v1.7.0

Safety actively analyzes 624963 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.7.0

==================

Version 1.7.0 introduces support for Python 3.6. Major new features are included for the generalised approximate message passing (GAMP) reconstruction algorims and the fast implementations of matrices. Finally, a few improvements and minor bug fixes are part of this release.


Additions
---------

- Added the Generalised Weighted Sparse input channel framework with basic
Gaussian and Laplace channels to magni.cs.reconstruction.gamp.
- Added a fast implementation of Structurally Random Matrices (SRMs) to
magni.utils.matrices.


Improvements
------------

- Magni now supports Python 3.6.
- A normalised mean squared error stop criterion is now also available for the
iterative thresholding algorithms in magni.cs.reconstruction.it.


Bug Fixes
---------

- Fixed a compatibility issue between Magni and Conda >= 4.3.
- Fixed a number of minor bugs.
- Various documentation clean-ups.


Other Changes
-------------

- Support for the optional usage of Bottleneck in Magni has been removed.



==================

1.6.0

passing (AMP) and generalised approximate message passing (GAMP) reconstruction
algorithms. Several smaller additions and improvements in other parts of Magni
are also included.


Additions
---------

- Added approximate message passing (AMP) in magni.cs.reconstruction.amp.
- Added generalised approximate message passing (GAMP) in
magni.cs.reconstruction.gamp, including possibility of two different types of
sum approximation in the algorithm.
- Added support for 2D seperable transforms in magni.utils.matrices.


Improvements
------------

- Several new problem suites have been added to magni.cs.phase_transition.
- An option to use logistic regression solver from scikit-learn has been added
to magni.cs.phase_transition.
- Improved task resource utilisation in magni.utils.multiprocessing.
- Support in magni.utils.validation for validating inputs of functions
only on first call (validate once).
- Allowed ndarrays in a MatrixCollection.
- The stop criteria and history saving options in magni.cs.reconstruction.it
have been updated to reflect the options in the AMP/GAMP algorithms.
- One dimensional DCT/DFT matrices are now also available in
magni.imagining.dictionaries.


Bug Fixes
---------

- Fixed a validation bug in magni.afm.
- Fixed ndarray float indexing problems.
- Fixed Anaconda 4.2 compatibility issues.
- Fixed a number of minor bugs.
- Various documentation clean-ups.



==================

1.5.0

of magni and a redo of magni.utils.multiprocessing.process. Furthermore, this
version includes minor improvements and minor bug fixes.


Additions
---------

- Added extensive unittests of the following modules and subpackages:

* magni.reproducibility
* magni.utils.matrices
* magni.utils.multiprocessing
* magni.utils.validation


Improvements
------------

- Improved magni.reproducibility with the following changes:

* Added env_export to conda_info in get_conda_info to hold information about
the active environment in order to include information about pip packages.
* Added an annotations_sub_group argument to write_custom_annotation to allow
grouping custom annotations in a tree structure.

- Improved magni.utils.validation with the following changes:

* Added a superclass argument to validate_generic to allow validating classes
based on inheritance.
* Added the validate_once function to allow validating the arguments of a
function only the first time the function is called. Furthermore, added the
enable_validate_once function to enable validate_once which is disabled by
default.

- Improved magni.utils.multiprocessing.process by adding the option to use
concurrent.futures instead of multiprocessing each having some advantages
over the other. See the documentation for more information.


Bug Fixes
---------

- Fixed a bug where importing magni raised an exception even when the package
dependencies were met. This was done by making package version checking more
robust.
- Fixed a mathematically incorrect behaviour as, previously, Matrix.T actually
implied Matrix.conj().T, and MatrixCollection.T actually implied
MatrixCollection.conj().T.
- Fixed a few holes in the checks of the validation schemes of the validation
functions to catch invalid validation schemes.
- Made all doctests pass even if the example.mi is not available - this is only
relevant when retrieving magni from secondary sources.
- Fixed a number of minor bugs.
- Various documentation clean-ups.



==================

1.4.0

extension of the imaging.dictionaries package, an extension of the
imaging.measurements package, and an extension of the reproducibility package.
Furthermore, unittests have been added, examples have been updated and added,
and this version includes minor improvements and minor bug fixes.


Additions
---------

- Added the cs.indicators module which currently provides functions to
calculate the values of the performance indicators; coherence, mutual
coherence, and relative energy in relation to measurement matrices and
dictionary matrices.
- Added functionality to the imaging.measurements package.

* imaging.measurements is now a package rather than a module.
* A number of functions have been added: construct_pixel_mask,
lissajous_sample_image, lissajous_sample_surface,
uniform_rotated_line_sample_image, uniform_rotated_line_sample_surface,
zigzag_sample_image, and zigzag_sample_surface.

- Added functionality to the reproducibility package:

* Added the reproducibility.data module which currently provides access to
the following already existing functions: get_conda_info, get_datetime,
get_git_revision, get_magni_config, get_magni_info, get_main_file_name,
get_main_file_source, get_main_source, get_platform_info, get_stack_trace.
* Added a function to reproducibility.data: get_file_hashes.
* Added a function to reproducibility.io: write_custom_annotation.

- Added unittests for the cs.indicators module, the imaging.dictionaries
package, and the utils.plotting module.
- Added an iPython Notebook example of the usage of the reproducibility.data
module.


Improvements
------------

- Improved the dictionary matrix generating functions of the
imaging.dictionaries package to accept overcomplete DCT and DFT matrices.
- Rewritten the following functions of the imaging.measurements package for
readability and reduced computation time: random_line_sample_image,
random_line_sample_surface, uniform_line_sample_image, and
uniform_line_sample_surface.
- Improved the imsubplot function of the imaging.visualisation module to accept
more versatile x_ticklabels and y_ticklabels as well as to accept a
fixed_clim.
- Improved the get_git_revision function of the reproducibility.data module to
allow for other git root directories and to include git remote -v
information.
- Updated tests.ipynb_examples to support Jupyter in addition to iPython 2 and
iPython 3.
- Updated the following examples to reflect the current state of the package:
imaging-dictionaries, imaging-measurements, magni, and reproducibility-io.


Bug Fixes
---------

- Fixed a few bugs in magni.utils.validation.validate_numeric.

* The exception for non-numeric variables is now raised by the module with a
sensical message rather than as a side-effect.
* The function call now accepts precisions which exist only for some of the
specified types.

- Fixed a number of minor bugs.
- Various documentation clean-ups.



==================

1.3.0

and restructuring of the cs.reconstruction package, and an extension of the
imaging package. Furthermore, this version includes minor improvements and
minor bug fixes.


Additions
---------

- Added functionality to the imaging package.

* A number of functions have been added: double_mirror, get_inscribed_masks,
visualisation.imsubplot, and visualisation.mask_img_from_coords.
* imaging.dictionaries is now a package rather than a module. In addition to
the existing functionality, the package has an added analysis module for
analysing dictionaries.

- Added the utils.types module which currently provides the following
general-purpose classes: ClassProperty and ReadOnlyDict.
- Added functionality to chase data for reproducibility purposes. A number of
functions have been added to the reproducibility.io module: chase_database,
create_database, read_chases, and remove_chases.
- Added tests of the cs.phase_transition package and of the cs.reconstruction
package.
- Sphinx >= 1.3 is now required to build the documentation.


Improvements
------------

- Added functionality for reading and representing all known .mi files.

* afm.io and afm.types are now packages rather than modules.
* afm.io.read_mi_file supports all known .mi files.
* afm.types contains the following classes (of which some are rewrites of
previous classes): BaseClass, File, FileCollection, image.Buffer,
image.Image, spectroscopy.Buffer, spectroscopy.Chunk, spectroscopy.Grid,
spectroscopy.Point, and spectroscopy.Spectroscopy.

- Added functionality for customising the compressive sensing reconstruction
algorithms of the cs.reconstruction package.

* cs.reconstruction.it has been added for general iterative thresholding
compressive sensing reconstruction functionality. Besides from being able
to act as standard iterative hard thresholding and iterative soft
thresholding, the threshold operator, the intial point and the step size
can be configured.
* cs.reconstruction.sl0 has been modified for general smoothed l0 compressive
sensing reconstruction functionality. Besides from being able to act as
original smoothed l0 and modified smoothed l0, the sigma, L, and mu
parameters can be configured.


Bug Fixes
---------

- Fixed a number of minor bugs.
- Various documentation clean-ups.



==================

1.2.0

of the package combined with the addition of automated testing capabilities.
Furthermore, this version includes minor improvements and bug fixes.


Additions
---------

- Added automated testing capabilities.

* tests/run_tests.py runs all tests in the directory.
* tests/wrap_doctests.py and tests/ipynb_examples.py check that all doctests
and ipython notebook examples of the package produce the expected results.
* tests/style_checks.py checks the code of the importable package for various
errors using pyflakes, for PEP8 conformance, and for acceptable cyclomatic
complexity using radon.
* tests/build_docs.py checks that the documentation of the package can be
automatically generated using sphinx.
* tests/config.py, tests/imaging_evaluation.py, and tests/reproducibility.py
test specific parts of the package.


Improvements
------------

- Rewritten validation functionality.

* magni.utils.validation.validate_generic has been added for validation of
generic (generally non-numeric) variables through an interface which is
less error-prone and has a higher abstraction level than validate.
* magni.utils.validation.validate_numeric has been added for validation of
numeric variables through an interface which is less error-prone and has a
higher abstraction level than validate and validate_ndarray.
* magni.utils.validation.validate_levels has been added for validation of
"nested" variables (sequences, sets, mappings, etc.) through an interface
which is less error-prone and has a higher abstraction level than validate.

- Updated every validation call in the package to use the new validation
functionality resulting in improved validation.
- Rewritten magni.utils.config.Configger to provide a subset of the interface
of a dict in addition to the get and set methods.
- Updated every config module in the package to use the new Configger
functionality resulting in increased readability.
- Changed some of the configuration parameter names which may cause the new
version of the package to be incompatible with code written for a previous
version (sorry, but this should not happen again).

* In cs.phase_transition.config: renamed 'n' to 'problem_size'.
* In cs.reconstruction.iht.config: renamed 'kappa' to 'kappa_fixed', and
'threshold_rho' to 'threshold_fixed'.
* In cs.reconstruction.sl0.config: replaced 'algorithm' by 'sigma_start',
'L', and 'mu'; replaced 'L' by 'L_geometric_start' and 'L_fixed'; and
renamed 'L_update' to 'L_geometric_ratio', 'mu' to 'mu_fixed', 'mu_end' to
'mu_step_end', 'mu_start' to 'mu_step_start', 'sigma_min' to
'sigma_stop_fixed', and 'sigma_update' to 'sigma_geometric'.

- Changed doctests to import required modules to allow nosetests and similar
software to run the doctests of the package.
- Added a configuration option in magni.utils.multiprocessing.config,
'silence_exceptions', to silence exceptions when using
magni.utils.multiprocessing.process.
- Made minor improvements to selected parts of the package.


Bug Fixes
---------

- Fixed a number of minor bugs.



==================

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.