Skip to content

Latest commit

 

History

History
787 lines (598 loc) · 19 KB

CHANGES.rst

File metadata and controls

787 lines (598 loc) · 19 KB

Changelog

0.20 - dev

New Features

  • ...

API Changes

  • change color of contours to gray in LocalizationProperty2d
  • sort show_versions output
  • add register method based on skimage and refactor register_cc

Bug Fixes

  • ...

Other Changes and Additions

  • various changes to documentation
  • lint for numpy=2.0 and fix new ruff issues
  • refactor: gitignore
  • refactor dockerfiles
  • add tool show_test_data to show test data
  • remove requirements.txt and requirements_dev.txt
  • fix tests to be compatible with pandas 2.2.0
  • speed up tests for localization_precision
  • optimize test data
  • fix errors and deprecation warnings for pandas 2.0
  • switch to black ~24.0 format
  • add more benchmarks
  • add dockerfile to deploy locan with jupyter lab

0.19 - 2023-12-12

Other Changes and Additions

  • add lazy_imports of API
  • introduce src-layout in code base

0.18 - 2023-12-06

API Changes

  • add colormaps module and change management of colormaps
  • remove outdated module with analysis example

Bug Fixes

  • fix version readout with readthedocs

Other Changes and Additions

  • add GitHub action for deploying to PyPI and TestPyPI
  • configure setuptools_scm for branching model

0.17 - 2023-10-26

New Features

  • feat: adapt LocData.from_dataframe to take any dataframe that supports the dataframe interchange protocol.
  • feat: add gui dialog to set file path

API Changes

  • remove deprecated LocalizationUncertaintyFromIntensity

Bug Fixes

  • fix: tests for shapely 2.0.2 with geos 3.12.0 in conda environment
  • fix: bin-to-pixel relation in render in napari
  • fix: readthedocs version readout

Other Changes and Additions

  • refactor: update to python 3.12

0.16 - 2023-10-05

API Changes

  • refactor: delete qt and needs_datasets marker for pytest

Bug Fixes

  • fix: import of pytest for type checking

Other Changes and Additions

  • refactor: reduce load in GitHub actions
  • add locan to conda-forge

0.15 - 2023-09-28

New Features

  • feat: Selector class to specify loc_property selections

API Changes

  • refactor: change return type of clustering algorithms for noise from None to LocData()

Bug Fixes

  • fix: convert_property_types and add documentation.

Other Changes and Additions

  • Add type hints
  • Add type checking with mypy in pre-commit and GitHub actions CI workflow
  • Extend ruff linting
  • refactor(test): include pytest-qt in standard tests.
  • drop support for python 3.8

0.14 - 2023-06-30

New Features

  • Add analysis routine for SubpixelBias
  • Add function merge_metadata to merge metadata from class instance or file
  • Add class Files for managing file selections to be used in batch processing
  • Add utilities/statistics module with helper function to compute WeightedMeanVariance
  • Add locdata.utilities.statistics.ratio_fwhm_to_sigma function
  • Add locdata.utilities.statistics.biased_variance function
  • Add analysis routine for ConvexHullExpectation, GroupedPropertyExpectation and PositionVarianceExpectation.
  • Add function to standardize locdata.
  • add Locdata.update_properties_in_references method
  • add analysis class locdata.analysis.ConvexHullExpectationBatch.

API Changes

  • Change find_pattern_upstream into find_file_upstream
  • Add analysis class LocalizationUncertainty and deprecate LocalizationUncertaintyFromIntensity
  • Refactor LocData.properties to include weighted coordinate averages and properties for frame and intensity
  • Refactor locan.simulation.simulate_locdata.resample
  • Change LoData.coordinate_properties to LocData.coordinate_keys and add LocData.uncertainty_keys and corresponding functions in locan.constants.PropertyKeys

Bug Fixes

  • Fix use of callables in LocalizationUncertainty
  • Adapt to to bug fixes in lmfit 1.2.0

Other Changes and Additions

  • Use ruff for linting
  • Use pyproject.toml for all specifications and deprecate use of setup.cfg
  • Use import open3d-cpu instead of open3d
  • docs: add tutorial for analysis of grouped cluster properties

0.13 - 2023-02-15

New Features

  • Add CLI for --info and --version
  • Add overlay function to transform locdatas
  • Add function to standardize locdata.
  • Add function load_metadata_from_toml to read metadata from toml file
  • Add function find_pattern_upstream.
  • Add function transform_counts_to_photons.

API Changes

  • Add boost_histogram_axes property to Bins

Bug Fixes

  • Fix intensity transform with nan
  • Fix simulation on region being a rotated rectangle
  • Fix Roi.from_yaml for rotated rectangular rois
  • Fix Roi.from_yaml to work with Polygon regions
  • Fix bug in localization_property_2d.
  • Fix bug in localizations_per_frame concerning the time units
  • Fix histogram with bins=Bins_instance as input
  • Fix conversion of bin_edges to bin_size for float numbers
  • Fix tests by excluding shapely 2.0.0 and 2.0.1
  • Use np.random.default_rng for random number generation in simulate_drift.py

Other Changes and Additions

  • Use of pre-commit
  • Adapt to isort, black, flake8, bandit
  • Integrate qtpy
  • Add benchmark setup for Airspeed Velocity
  • Modify dockerfiles to run with slim-bullseye
  • Add conditional import of tomllib to replace tomli for python>=3.11
  • Add CITATION.cff file
  • Add some type hints

0.12 - 2022-06-02

API Changes

locan.configuration

  • Introduced module locan.configuration to hold user-specific configuration values

locan.constants

  • Introduced enum PropertyKey that holds PropertyDescription dataclasses with information on name, type, units and description

locan.data

  • Provided new scheme for metadata
  • Added tutorial about metadata for LocData
  • Introduced use of protobuf Timestamp and Duration types in metadata messages
  • Added function in locan.data.metadata_utils to provide scheme of default metadata
  • Added function in locan.data.metadata_utils to read metadata from toml file

locan.io

  • Refactored locan_io.locdata module structure

locan.render

  • Changed default value for n_bins in HistogramEqualization to increase intensity resolution. Note: This modification changes the visual presentation of localization data with a large dynamic range.

Bug Fixes

locan.utils.system_information

  • Fixed show_version to read out all dependency versions

locan.data

  • Fixed bug in cluster functions such that setting the region of empty collections does not raise a TypeError anymore
  • Fixed protobuf issues related to protobuf 4.21

Other Changes and Additions

  • Dropped support for python 3.7
  • Various minor changes of documentation and code
  • Removed numba as dependency
  • Based conda-related dockerfiles on mambaforge
  • Introduced use of fixture from pytest-qt for testing QT interfaces

0.11.1 - 2022-04-08

Bug Fixes

locan.scripts

  • Fix a bug introduced in 0.11 in napari and rois script.

0.11 - 2022-03-22

New Features

locan.data

  • Modified Polygon.contains function to increase performance.
  • Implemented randomize function for all hull types.

locan.io

  • Added methods to load DECODE and SMAP files.

locan.render

  • Added rendering functions for 3D
  • Added rendering functions for RGB image (multi-color overlay)

API Changes

locan.io

  • Extended load_txt_files to convert property names to locan standard property names.

locan.render

  • Refactored intensity rescaling by introducing standard normalization procedures.

Bug Fixes

locan.data

  • Fixed bunwarp transformation

locan.io

  • Fixed lineterminator in load_rapidstorm_track_file

Other Changes and Additions

  • Ensured support of locan and all optional dependencies for Python 3.9
  • Ensured support of locan (without optional dependencies) for Python 3.10
  • Turned hdbscan into optional dependency

0.10 - 2021-11-23

New Features

locan.io

  • Add function to load rapidSTORM file with tracked data.
  • Add function to load and save SMLM file.

Other Changes and Additions

  • Locan went public.
  • Readthedocs was set up.
  • Zenodo DOI was generated.

0.9 - 2021-11-11

API Changes

locan.analysis

  • Refactor computation of blinking_statistics

locan.data

  • Restructured Region management introducing new classes in locan.data.region
  • Rename function to computer inertia moments

locan.render

  • Change image orientation in render_2d_napari to be consistent with points coordinates.

locan.simulation

  • Refactored simulation functions to make use of numpy random number generator.
  • Refactored simulation functions to generate Neyman-Scott point processes in expanded regions.
  • Add function to simulate dSTORM data as localization clusters with normal-distributed coordinates and geometric-distributed number of localizations.

Other Changes and Additions

  • Added or modified tutorials on mutiprocessing, regions and simulation.
  • Introduce pytest markers for test functions that are excluded from test run per default.

0.8 - 2021-05-06

API Changes

locan.scripts

  • Default values for verbose and extra flags in script show_versions were changed.

Bug Fixes

locan.analysis

  • Fit procedure was fixed for NearestNeighborDistances.

Other Changes and Additions

  • Library was renamed to LOCAN
  • Documentation and tutorials were modified accordingly
  • Test coverage was improved and use of coverage.py introduced
  • _future module was deprecated

0.7 - 2021-03-26

API Changes

locan.analysis

  • Added new keyword parameters in LocData.from_chunks and Drift.
  • Extended class for blinking analysis.

Other Changes and Additions

  • Turn warning into log for file io.
  • Restructured documentation, added tutorials, and changed html-scheme to furo.

0.6 - 2021-03-04

New Features

  • Introduced logging capability.
  • Added script for running tests from command line interface.

locan.analysis

  • Make all analysis classes pickleable.
  • Refactored Pipeline class
  • Enabled and tested multiprocessing based on multiprocessing or ray.
  • Added more processing bars.
  • Added drift analysis and correction based on imagecorrelation and iterative closest point registration.

locan.data

  • Made LocData class pickleable.
  • Added computation of inertia moments.
  • Added orientation property based on oriented bounding box and inertia moments.
  • Added elongation property based on oriented bounding box.
  • Add transformation method to overlay LocData objects.

locan.io

  • Added loading function for Nanoimager data.

locan.render

  • Added windowing function for image data.

API Changes

locan.analysis

  • Fixed and extended methods for Drift analysis and correction.

locan.data

  • Implemented copy and deepcopy for LocData.
  • Changed noise output in clustering methods. Removed noise parameter.

locan.datasets

  • Added dataset for microtubules

locan.io

  • Added option for file-like objects in io_locdata functions.
  • Added Bins class, introduced use of boost-histogram package, and restructured binning.
  • Introduced use of napari.run.
  • Changed default value in render_2d_mpl to interpolation='nearest'.

locan.scripts

  • Added arguments for locan napari and locan rois.

locan.simulation

  • Added simulation of frame values.

Bug Fixes

locan.data

  • Fixed treatment of empty LocData in clustering and hull functions.

locan.gui

  • Use PySide2 as default QT backend depending on QT_API setting.

locan.io

  • Fixed enconding issues for loading Elyra data.

Other Changes and Additions

  • Test data is included in distribution.
  • New dockerfiles for test and deployment.
  • Included pyproject.toml file

0.5.1 - 2020-03-25

  • Update environment and requirement files

0.5 - 2020-03-22

New Features

locan.utils

  • Module locan.utils.system_information with methods to get debugging information is added.

locan.analysis

  • LocalizationPropertyCorrelation analysis class is added.

locan.data

  • LocData.from_coordinates() is added.
  • LocData.update() method is added to change dataframe with correspodning updates of hull, properties and metadata.
  • Methods to compute alpha shape hulls are added.
  • Pickling capability for LocData is added.

locan.render

  • scatter_2d_mpl() is added. to show locdata as scatter plot

locan.scripts

  • show_versions()

API Changes

locan.analysis

  • LocalizationProperty2D was modified and fixed.

locan.data

  • locan.data.region_utils module is added with utility functions to analyze locdata regions.
  • RoiRegions are added that support shapely Polygon and MultiPolygon objects.

Bug Fixes

locan.analysis

  • Adapt colormap and rescaling in LocalizationProperty2D plot functions.

0.4.1 - 2020-02-16

Bug Fixes

locan.analysis

  • Fix LocalizationProperty2d fit procedure

Other Changes and Additions

  • Increase import performance

0.4 - 2020-02-13

New Features

  • New function test() to run pytest on whole test suite.

locan.data

  • New rasterize function to divide localization support into rectangular rois.
  • New functions to perform affine transformation using open3d.
  • New functions to perform registration using open3d.
  • New function for drift correction using icp (from open3d).
  • Increase performance of maximum distance computation of localization data.

locan.datasets

  • Added functions to load example datasets. The datasets will be provided in a separate directory (repository).

locan.scripts

  • Introduced command-line interface with compound commands.
  • New script to render localization data in napari
  • New script to define and save rois using napari
  • New script to render localizations onto raw data images

API Changes

locan.analysis

  • New analysis class for drift estimation.
  • New analysis class for analysing 2d distribution of localization property.

locan.data

  • Deprecate update_convex_hull_in_collection(). Use LocData.update_convex_hulls_in_references().
  • Metadata on time is changed from timestamp to formatted time expression.

locan.render

  • Default colormaps are set to selected ones from colorcet or matplotlib.
  • Add histogram function for rendering localization data.
  • Add render functions to work with mpl, mpl-scatter-density, napari

locan.scripts

  • Add selection option for ellipse roi.

locan.simulation

  • Add functions for drift simulation.

Bug Fixes

locan.data

  • Fixed update of bounding_box, convex_hull and oriented bounding box.

Other Changes and Additions

  • Added centroid and dimension property to LocData.
  • Implemented use of QT_API to set the QT bindings and work in combination with napari.
  • Make shapely a required dependency.

0.3 - 2019-07-09

New Features

locan.analysis

  • Added analysis class BlinkStatistics to compute on/off times in localization cluster.

locan.data

  • Introduced global variable locdata_id that serves as standard running ID for LocData objects.
  • Added function update_convex_hulls_in_collection

API Changes

locan.analysis

  • Refactored all analysis class names to CamelCode.
  • Refactored handling of LocData input in analysis classes to better resemble the scikit-learn API.

locan.simulation

  • Deleted deprecated simulation functions.

Other Changes and Additions

  • Refactored all localization property names to follow the convention to start with small letters.
  • Changed import organization by adding __add__ to enable import locan as sp.
  • Added dockerfiles for using and testing locan.
  • various other small changes and fixes as documented in the version control log.

0.2 - 2019-03-22

New Features

locan.analysis

  • implemented an analysis class CoordinateBasedColocalization.
  • implemented an analysis class AccumulationClusterCheck.

locan.data

  • implemented a function exclude_sparse_points to eliminate localizations in low local density regions.
  • implemented a function to apply affine coordinate transformations.
  • implemented a function to to apply a Bunwarp-transformation based on the raw transformation matrix from the ImageJ plugin BUnwarpJ

locan.simulation

  • implemented functions to simulate localization data based on complete spatial randomness, Thomas, or Matern processes.
  • implemented functions simulate_xxx to provided LocData objects.
  • implemented functions make_xxx to provide point coordinates.

API Changes

locan.data

  • implemented a new region of interest management. A RoiRegion class was defined as region object in Roi objects.

Bug Fixes

locan.data

  • corrected index handling in track.track(), LocData.data and LocData.reduce().

locan.io

  • changed types for column values returned from load_thunderstorm_file.

0.1 - 2018-12-09

New Features

locan.analysis

  • localization_precision
  • localization_property
  • localizations_per_frame
  • nearest_neighbor
  • pipeline
  • ripley
  • uncertainty

locan.data

  • cluster
  • properties
  • filter
  • hulls
  • locdata
  • rois
  • track
  • transformation

locan.gui

  • io

locan.io

  • io_locdata

locan.render

  • render2d

locan.scripts

  • sc_draw_roi_mpl

locan.simulation

  • simulate_locdata

Other Changes and Additions

locan.tests

  • corresponding unit tests

docs

  • rst files for sphinx documentation.

locan

  • CHANGES.rst
  • LICENSE.md
  • README.md
  • environment.yml
  • environment_dev.yml