Skip to content

Major speed and memory improvements

Compare
Choose a tag to compare
@agiovann agiovann released this 08 Feb 04:52

This release improves the speed performance of the code and introduces tools for interactive visualization. Major changes include:

  • Use of the CVXPY library together with the ECOS and SCS solvers for fast updating of the temporal components. To use this solver set options['temporal_params']['method'] = 'cvxpy'. Installation of the CVXPY library is required.
  • Manual component refinement through utilities.manually_refine_components. Allows the user to select additional components by clicking on a summary statistic image. A new component is then fit around that neighborhood.
  • Setting the AR order p=0 through options['temporal_params']['p'] = 0 turns off deconvolution. Use this for fast updating of temporal components during first iteration and merging for speed improvements.
  • Memory mapping for large data handling using little RAM. In the demo data is reshaped into a 2d array, then saved as numpy array that is used in a memory mapped form.
  • Fixed a bug in utilities.order_components
  • update_temporal_components also outputs the component-filtered noise statistic YrA. This can be used as an input to utilities.view_patches and utilities.view_patches_bar for faster visualization.
  • General cleanup and code optimization.