Added
Two new processors, CalibrateAstigmatism and DefaultAstigmatismComputer were created for computing astigmatism-based 3D calibration curves to localize molecules in three dimensions.
There is a new processor called ComputeZPosition that takes the calibration curve from CalibrateAstigmatism and computes the z-positions of localizations with x and y PSF widths.
A 3D astigmatic imaging example notebook was added to the examples folder to explain how to use the new functionality.
Wobble curves in 3D astigmatic imaging are also taken accounted for using the CalibrateAstigmatism and ComputeZPosition processors.
Changed
The version number contained in the bstore.__version__ string is now formatted to contain only the major/minor/patch numbers: for example, 1.1.1 instead of v1.1.1-f7129fe.
The code for visualing local densities of localizations and selecting regions of interest has been separated from FiducialDriftCorrect and moved into a new processor class called SelectLocalizations. FiducialDriftCorrect inherits from this new class and will work exactly as before. This change will allow other processors to reuse the visualization code.
The code for visualizing the fiducial trajectories in time and bead trajectories in z was consolidated into the ComputeTrajectories metaclass. This makes the drift correction and astigmatism calibration more in line with the DRY principle (Don't Repeat Yourself).
The visualizations in the OverlayClusters multiprocessor are now improved to better facilitate the visual comparison between the localizations and widefield images. A showAll property was also added for making a scatter plot of all the localizations in the display, rather than just the current cluster.
Fixed
The FiducialDriftCorrect processor no longer raises an error when the removeFiducials parameter is set to False.
Clusters with too few data points were causing computation of some cluster statistics with the ComputeClusterStats processor to fail. In particular, the convex hull and eccentricity were susceptible to these errors. NaN's are now returned instead when the computation for a cluster fails