Metadata-Version: 2.1
Name: polylx
Version: 0.5.1
Summary: A Python package to visualize and analyze microstructures.
Home-page: https://github.com/ondrolexa/polylx
Author: Ondrej Lexa
Author-email: lexa.ondrej@gmail.com
License: MIT
Project-URL: Documentation, https://polylx.readthedocs.io/
Project-URL: Source Code, https://github.com/ondrolexa/polylx/
Project-URL: Bug Tracker, https://github.com/ondrolexa/polylx/issues/
Description: # PolyLX - python package to visualize and analyze digitized 2D microstructures
        
        [![PyPI version](https://badge.fury.io/py/polylx.svg)](https://badge.fury.io/py/polylx)
        [![Testing](https://github.com/ondrolexa/polylx/actions/workflows/pythontest.yml/badge.svg?event=push)](https://github.com/ondrolexa/polylx)
        [![Documentation Status](https://readthedocs.org/projects/polylx/badge/?version=stable)](https://polylx.readthedocs.io/en/stable/?badge=stable)
        [![DOI](https://zenodo.org/badge/30773592.svg)](https://zenodo.org/badge/latestdoi/30773592)
        
        ## Installation
        
        ### PyPI
        
        To install PolyLX, just execute
        ```
        pip install polylx
        ```
        Alternatively, you download the package manually from the Python Package Index [https://pypi.org/project/polylx](https://pypi.org/project/polylx), unzip it, navigate into the package, and use the command:
        ```
        python setup.py install
        ```
        #### Upgrading via pip
        
        To upgrade an existing version of PolyLX from PyPI, execute
        ```
        pip install polylx --upgrade --no-deps
        ```
        Please note that the dependencies (Matplotlib, NumPy, Pandas, NetworkX, seaborn, shapely, pyshp and SciPy) will also be upgraded if you omit the `--no-deps` flag; use the `--no-deps` ("no dependencies") flag if you don't want this.
        
        #### Installing PolyLX from the source distribution
        
        In rare cases, users reported problems on certain systems with the default pip installation command, which installs PolyLX from the binary distribution ("wheels") on PyPI. If you should encounter similar problems, you could try to install PolyLX from the source distribution instead via
        ```
        pip install --no-binary :all: polylx
        ```
        Also, I would appreciate it if you could report any issues that occur when using `pip install polylx` in hope that we can fix these in future releases.
        
        ### Master version
        
        The PolyLX version on PyPI may always one step behind; you can install the latest development version from the GitHub repository by executing
        ```
        pip install git+git://github.com/ondrolexa/polylx.git
        ```
        Or, you can fork the GitHub repository from [https://github.com/ondrolexa/polylx](https://github.com/ondrolexa/polylx) and install PolyLX from your local drive via
        ```
        python setup.py install
        ```
        
        ## Getting started
        
        Documentation is in progress, but you can see PolyLX in action in accompanied Jupyter notebook
        [https://nbviewer.ipython.org/github/ondrolexa/polylx/blob/master/polylx_tutorial.ipynb](https://nbviewer.ipython.org/github/ondrolexa/polylx/blob/master/polylx_tutorial.ipynb)
        
        ## Documentation
        
        Explore the full features of PolyLX. You can find detailed documentation [here](https://polylx.readthedocs.org).
        
        ## Contributing
        
        Most discussion happens on [Github](https://github.com/ondrolexa/polylx). Feel free to open [an issue](https://github.com/ondrolexa/polylx/issues/new) or comment on any open issue or pull request. Check ``CONTRIBUTING.md`` for more details.
        
        ## License
        
        PolyLX 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 in ``LICENSE`` file.
        
        
        # Changes
        
        ### 0.5.1 (27 May 2021)
        
         * fourier_ellipse shape method for Grains added
         * eliptic fourier smoothing for Grains added
         * added grainsize plot
         * added accumulate method to Grains and Boundaries
         * simple fiona reader implemented (fiona must be installed)
         * added kde plot
        
        ## 0.5 (29 Jan 2019)
        
         * rose plot groupped according to classification
         * get_class, class_iter methods added to Grains and Boundaries
         * seaborn added to requirements
         * several seaborn categorical plots are added as methods
           (swarmplot, boxplot, barplot, countplot)
        
        ### 0.4.9 (12 Dec 2017)
        
        * getindex method of Grains and Boundaries implemented
        * Grain cdist property return centroid-vertex distance function
        * Grain cdir property return centroid-vertex direction function
        * Grain shape_vector property returns normalized Fourier descriptors
        * Grain regularize method returns Grain with regularly distributed vertices
        * Classification could be based on properties or any other values
        * boundary_segments method added
        * Smoothing, simplification and regularization of boundaries implemented
        * Colortable for legend is persistant trough indexing. Classify method
          could be used to change it
        * Default color table is seaborn muted for unique classification
          and matplotlib viridis for continuous classes
        
        ### 0.4.8 (04 Mar 2017)
        
        * bugfix
        
        ### 0.4.6 (04 Mar 2017)
        
        * added plots module (initial)
        * representative_point for Grains implemented
        * moments calculation including holes
        * surfor and parror functions added
        * orientation of polygons is unified and checked
        * minbox shape method added
        
        ### 0.4.5 (12 Jan 2017)
        
        * shell script ipolylx opens interactive console
        
        ### 0.4.4 (12 Jan 2017)
        
        * Added MAEE (minimum area enclosing ellipse) to grain shape methods
        * Removed embedded IPython and IPython requirements
        
        ### 0.4.3 (02 Sep 2016)
        
        * IPython added to requirements
        
        ### 0.4.2 (02 Sep 2016)
        
        * Sample has pairs property(dictionary) to map boundary id to grains id
        * Sample triplets method returns list of grains id creating triple points
        
        ### 0.4.1 (20 Jun 2016)
        
        * Examples added to distribution
        
        ## 0.4 (20 Jun 2016)
        
        * Sample neighbors_dist method to calculate neighbors distances
        * Grains and Boundaries nndist to calculate nearest neighbors distances
        * Fancy indexing with slices fixed
        * Affine transformations affine_transform, rotate, scale, skew, translate
          methods implemented for Grains and Boundaries
        * Sample name atribute added
        * Sample bids method to get boundary id's related to grain added
        
        ### 0.3.2 (04 Jun 2016)
        
        * PolyShape name forced to be string
        * Creation of boundaries is Grains method
        
        ### 0.3.1 (22 Feb 2016)
        
        * classification is persitant trough fancy indexing
        * empty classes allowed
        * bootstrap method added to PolySet
        
        ## 0.2 (18 Apr 2015)
        
        * Smooth and simplify methods for Grains implemented
        * Initial documentation added
        * `phase` and `type` properties renamed to `name`
        
        ## 0.1 (13 Feb 2015)
        
        * First release
        
        
Keywords: polylx
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: docs
Provides-Extra: test
Provides-Extra: lint
Provides-Extra: jupyter
