Metadata-Version: 2.1
Name: network-spatial-coherence
Version: 0.1.195
Summary: Network Validation using the Spatial Coherence Framework.
Home-page: https://github.com/DavidFernandezBonet/Spatial Constant Analysis
Author: David Fernandez Bonet
Author-email: dfb@kth.se
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: matplotlib
Requires-Dist: memory-profiler (==0.61.0)
Requires-Dist: networkx
Requires-Dist: nodevectors
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: pecanpy
Requires-Dist: Pillow (==10.2.0)
Requires-Dist: igraph
Requires-Dist: scienceplots (==2.1.1)
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: seaborn
Requires-Dist: umap-learn
Requires-Dist: statsmodels
Provides-Extra: dev
Requires-Dist: pytest (>=3.7) ; extra == 'dev'
Requires-Dist: check-manifest ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'

# Network Spatial Coherence
Python library to validate the spatial coherence of a network. It offers tools to analyze network properties, check how "Euclidean" the network is (spatial coherence), and to reconstruct the network. Networks can be both simulated (e.g. a KNN network) or imported.

## Features
- Analyze the spatial coherence of a network
- Reconstruction images from purely network information
- Efficient graph loading and processing (using sparse matrices or getting a graph sample)


## Install
Python 3.11 is reccomended, although older versions should work.

```bash
pip install git+https://github.com/DavidFernandezBonet/Spatial_Constant_Analysis.git
```
If you require authentication you can use a PAT (a github token) instead. Go to Developer settings > Personal access tokens > Generate new token and then save the token because it will not be displayed again. You should input it in this line of code
```bash
pip install git+https://<token>:x-oauth-basic@github.com/DavidFernandezBonet/Spatial_Constant_Analysis.git
```
## Usage
For a detailed tutorial, see the [Jupyter Notebook Tutorial](./network_spatial_coherence/network_spatial_coherence_tutorial.ipynb) in this repository.

1. Access documentation for detailed API usage:

```python
from network_spatial_coherence.docs_util import access_docs
access_docs()
```

2. Minimum working example

```python
from network_spatial_coherence import nsc_pipeline
from network_spatial_coherence import structure_and_args
structure_and_args.create_project_structure()
graph, args = nsc_pipeline.load_and_initialize_graph()
nsc_pipeline.run_pipeline(graph, args)
```



## Contact
[dfb@kth.se]

