Package: polylx
PolyLX - python package to visualize and analyze digitized 2D microstructuresInstallationPyPITo install PolyLX, just executepip install polylxUpgrading via pipTo upgrade an existing version of PolyLX from PyPI, executepip install polylx --upgrade --no-depsPlease note that the dependencies (Matplotlib, NumPy, Pandas, NetworkX, seaborn, shapely, pyshp and SciPy) will also be upgraded if you omit the--no-depsflag; use the--no-deps("no dependencies") flag if you don't want this.Installing PolyLX with conda or mambaAnother common way to install is create environment using conda or mamba. Download latest version ofpolylxand unzip to folder of your choice. Use conda or mamba to create an environment from anenvironment.ymlfile. Open the terminal, change directory where you unzip the source and execute following command:conda env create -f environment.ymlActivate the new environment and install from current directory::conda activate polylx
pip install polylxGetting startedDocumentation is in progress, but you can see PolyLX in action in accompanied Jupyter notebookhttps://nbviewer.ipython.org/github/ondrolexa/polylx/blob/master/polylx_tutorial.ipynbDocumentationExplore the full features of PolyLX. You can find detailed documentationhere.ContributingMost discussion happens onGithub. Feel free to openan issueor comment on any open issue or pull request. CheckCONTRIBUTING.mdfor more details.LicensePolyLX is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided inLICENSEfile.Changes0.5.2 (06 Mar 2023)upstream fix for networkX 3Fracnet.from_boundaries bug fixed0.5.2 (06 Mar 2023)upstream fix for shapely 3topological analyses added to Fracnet0.5.1 (27 May 2021)fourier_ellipse shape method for Grains addedeliptic fourier smoothing for Grains addedadded grainsize plotadded accumulate method to Grains and Boundariessimple fiona reader implemented (fiona must be installed)added kde plot0.5 (29 Jan 2019)rose plot groupped according to classificationget_class, class_iter methods added to Grains and Boundariesseaborn added to requirementsseveral seaborn categorical plots are added as methods
(swarmplot, boxplot, barplot, countplot)0.4.9 (12 Dec 2017)getindex method of Grains and Boundaries implementedGrain cdist property return centroid-vertex distance functionGrain cdir property return centroid-vertex direction functionGrain shape_vector property returns normalized Fourier descriptorsGrain regularize method returns Grain with regularly distributed verticesClassification could be based on properties or any other valuesboundary_segments method addedSmoothing, simplification and regularization of boundaries implementedColortable for legend is persistant trough indexing. Classify method
could be used to change itDefault color table is seaborn muted for unique classification
and matplotlib viridis for continuous classes0.4.8 (04 Mar 2017)bugfix0.4.6 (04 Mar 2017)added plots module (initial)representative_point for Grains implementedmoments calculation including holessurfor and parror functions addedorientation of polygons is unified and checkedminbox shape method added0.4.5 (12 Jan 2017)shell script ipolylx opens interactive console0.4.4 (12 Jan 2017)Added MAEE (minimum area enclosing ellipse) to grain shape methodsRemoved embedded IPython and IPython requirements0.4.3 (02 Sep 2016)IPython added to requirements0.4.2 (02 Sep 2016)Sample has pairs property(dictionary) to map boundary id to grains idSample triplets method returns list of grains id creating triple points0.4.1 (20 Jun 2016)Examples added to distribution0.4 (20 Jun 2016)Sample neighbors_dist method to calculate neighbors distancesGrains and Boundaries nndist to calculate nearest neighbors distancesFancy indexing with slices fixedAffine transformations affine_transform, rotate, scale, skew, translate
methods implemented for Grains and BoundariesSample name atribute addedSample bids method to get boundary id's related to grain added0.3.2 (04 Jun 2016)PolyShape name forced to be stringCreation of boundaries is Grains method0.3.1 (22 Feb 2016)classification is persitant trough fancy indexingempty classes allowedbootstrap method added to PolySet0.2 (18 Apr 2015)Smooth and simplify methods for Grains implementedInitial documentation addedphaseandtypeproperties renamed toname0.1 (13 Feb 2015)First release