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