
dimmer
Tools for dimension estimation of pointclouds. Docs available at https://marcelintel.gitlab.io/dimmer/
Dimmer provides three methods for determining stratifications of point clouds:
GADis a particular implementation of the Geometric Anomaly Detection algorithm of Stolz, Tanner, Harrington, and Nanda with modifications for performance.Intersecterlooks for points in the data whose local neighborhoods look like the intersection of planes.Stratifierattempts to stratify points into local charts on the space.
These can be used together or separately, and all are written in the style of scikit-learn transformers.
Installation
dimmer is pip-installable. From your command line:
$ pip install dimmerdimmer can also be installed from a local copy of the source code. After pulling the code:
$ source activate .venv/bin/activate # activate your virtual environment, however that may be
$ pip install -e .More local development installs are detailed in CONTRIBUTING.md.
Basic Usage
The GAD, Intersecter, and Stratifier classes are written in the style of scikit-learn transformers. All should be initialized, fit, and then transformed on the data set in question, as in:
from dimmer import GAD, Intersecter
gad = GAD(radii=(0.2, 0.5), max_dim = 3, n_jobs = 4)
gad_labels = gad.fit_transform(X=data)
intersect = Intersecter(neighbors=(50,120), threshold=0.2/4, n_jobs = 5)
intersecter_labels = intersect.fit_transform(X=data)For more in-depth usage, see the following example notebooks:
- Gad usage shows the basic functionality of the
GADclass. - Comparative pipeline shows how
GADcan be used in conjunction with and in comparison to other dimension estimation algorithms ofscikit-dimension. - Intersecter usage shows the functionality of the
Intersecterclass. - Stratifier usage shows the functionality of the
Stratifierclass.
Features
- pip installable
- testing suite with pytest
- documentation with quartodoc
- tests and deployment integrated with gitlab CI/CD
Credits/History
- See
MIGRATION.md.
