To use this project, you'll need to have the following Python libraries installed:
- Tkinter: Python's standard library for Graphical User Interfaces (GUI).
- Matplotlib: Library for 2D plotting.
- NetworkX: Library for creating, manipulating, and studying complex networks.
- NumPy: Library for numerical computing in Python.
- SciPy: Library for mathematics, science, and engineering.
You can install these libraries using pip with the following commands:
pip install numpy
pip install matplotlib
pip install networkx
pip install scipyFor Tkinter, if you're using Python in a Linux environment, you may need to install it with the following command:
sudo apt-get install python3-tk- Run the main.py file.
- A window will open where you can load the corresponding network file you want to analyze. This network should be in JSON format and represented as an adjacency list. (In the 'data' folder, there are some examples of network topologies that can be explored)
- Adjust the rates as needed.
- In the first tab named Heatmap, execute the 'run' command to see the heatmap corresponding to the evolution of the nodes if each node is the initial one.
- In the second tab named Network, you can see the step-by-step evolution of the infection. Also, the evolution of the network and the determined initial device.
Thank you for considering contributing to this project! If you have suggestions, ideas, or want to report a problem, please open an issue. Also, if you'd like to contribute directly with code, you can do so by opening a pull request. Be sure to follow the contribution guidelines and respect the code of conduct.
This project is licensed under the MIT License - see the LICENSE file for more details.
The MIT License is an open-source license that allows people to use, modify, and distribute your software with some restrictions. If you want to provide more information about the license or include more detailed text, you can do so in the LICENSE file in your repository.