Skip to content

Commit

Permalink
[paper] Grammar corrections.
Browse files Browse the repository at this point in the history
  • Loading branch information
annoviko committed Jan 22, 2019
1 parent f008c55 commit ed6e3e8
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ As it was mentioned in the introduction, PyClustering library is a Python, C++ d

PyClustering provides a separate highly optimized implementation of clustering algorithms using parallel computing on pure C++ language without any third parties and therefore it can be easily integrated to every C++ project as a library or as some part of it. In other words, PyClustering usage is not restricted by Python language and corresponding dependencies. The C++ implementation of the library is based on C++14 standard and can be built using well-known compilers, like gcc, clang, mingw, VS2015. Such flexibility allows developers or scientists to focus on their own projects and not to think about library integration and implementation details.

The Python implementation uses SciPy [@SciPy], MatPlotLib [@Hunter2007], NumPy and Pillow packages. SciPy and NumPy are mandatory packages that are used for computing purposes. MatPlotLib and Pillow packages are optional and they are used for visualization services if these two packages are not installed then PyClustering visualization tools are not available. PyClustering visualization services display clustering results, for example, data and its clusters in N-dimensional space, image segmentation, histograms, algorithm-specific features, dynamic of oscillatory and neural network outputs, etc. Visualization makes clustering process more comprehensive and useful for research and educational purposes especially in case of complex clustering algorithms, for example, in case of algorithms that are based on oscillatory networks where synchronization processes should be visualized to explain clustering results.
The Python implementation uses SciPy [@SciPy], MatPlotLib [@Hunter2007], NumPy and Pillow packages. SciPy and NumPy are mandatory packages that are used for computing purposes. MatPlotLib and Pillow packages are optional and they are used for visualization services. If these two packages are not installed then PyClustering visualization tools are not available. PyClustering visualization services display clustering results, for example, data and its clusters in N-dimensional space, image segments, histograms, algorithm-specific features, dynamic of oscillatory and neural network outputs, etc. Visualization makes clustering process more comprehensive and useful for research and educational purposes especially in case of complex clustering algorithms, for example, in case of algorithms that are based on oscillatory networks where synchronization processes should be visualized to explain clustering results.

One of the unique features of the library is a collection of oscillatory networks for cluster analysis, graph coloring, and image segmentation. Oscillatory networks are biologically plausible neural networks that use synchronization processes for solving practical problems. Formally, oscillatory neural networks are nonlinear dynamic systems in which neuron is an oscillating element called an oscillator. There is an assumption that the synchronization processes between neurons in the brain are used to implement cognitive functions [@Novikov2014][@Cumin2007]. Thus, oscillatory networks are of great interest because they allow to research mechanisms that synchronize the neuronal activity at the model level.

Expand All @@ -41,6 +41,6 @@ Following oscillatory and neural networks are implemented in PyClustering: CNN (

Additionally, the library contains several graph coloring algorithms such as DSatur, Hysteresis, GColorSync.

PyClustering library is available on PyPi and github repository. Since the first release on PyPi in 2014, it has been downloaded more than 141.000 times. Quality of the library is supported by static and dynamic analyzers such as cppcheck, scan-build, valgrid [@Nethercote2007], including compilers gcc, clang, VS2015. Code coverage is more than 93% that is ensured by unit and integration tests (total amount of tests is than 2.200). Each commit to repository triggers building, analysis, and testing on CI services such as travis-ci, appveyor. PyClustering provides fully documented code for each library’s version including examples, math and algorithms description, installation instructions. The API documentation is generated by doxygen without any warnings and notes to ensure completeness.
PyClustering library is available on PyPi and github repository. Since the first release on PyPi in 2014, it has been downloaded more than 141.000 times. Quality of the library is supported by static and dynamic analyzers such as cppcheck, scan-build, valgrid [@Nethercote2007], including compilers gcc, clang, VS2015. Code coverage is more than 93% that is ensured by unit and integration tests (total amount of tests is more than 2.200). Each commit to repository triggers building, analysis, and testing on CI services such as travis-ci, appveyor. PyClustering provides fully documented code for each library’s version including examples, math and algorithms description, installation instructions. The API documentation is generated by doxygen without any warnings and notes to ensure completeness.

# References

0 comments on commit ed6e3e8

Please sign in to comment.