{"id":25856764,"url":"https://github.com/olaszpl/kdtree_quadtree_project","last_synced_at":"2025-03-01T18:28:03.265Z","repository":{"id":270256858,"uuid":"909780754","full_name":"OlaszPL/KDTree_QuadTree_project","owner":"OlaszPL","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-24T15:22:55.000Z","size":27809,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T15:41:51.231Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OlaszPL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-29T18:50:12.000Z","updated_at":"2025-02-24T15:22:58.000Z","dependencies_parsed_at":"2024-12-29T19:29:14.636Z","dependency_job_id":"570696e7-b381-4a1e-9494-53546f654caa","html_url":"https://github.com/OlaszPL/KDTree_QuadTree_project","commit_stats":null,"previous_names":["olaszpl/kdtree_quadtree_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlaszPL%2FKDTree_QuadTree_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlaszPL%2FKDTree_QuadTree_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlaszPL%2FKDTree_QuadTree_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlaszPL%2FKDTree_QuadTree_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OlaszPL","download_url":"https://codeload.github.com/OlaszPL/KDTree_QuadTree_project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241406786,"owners_count":19958041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-01T18:28:00.911Z","updated_at":"2025-03-01T18:28:03.252Z","avatar_url":"https://github.com/OlaszPL.png","language":"Jupyter Notebook","readme":"# KD-Tree \u0026 QuadTree Python library\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Modules](#modules)\n- [Testing](#testing)\n- [Visualization](#visualization)\n- [Documentation](#documentation)\n- [License](#license)\n\n## Introduction\nThis project provides an implementation of KD-tree and QuadTree data structures in Python. It includes tools for building, querying, and visualizing these trees. The project is designed to help understand the functionality and efficiency of KD-tree and QuadTree for various datasets.\n\n![image](https://github.com/user-attachments/assets/3e6c779f-4060-4d99-8f4c-f803cf524277)\n\n## Installation\nTo install the necessary dependencies, run:\n\n```sh\npip install -r requirements.txt\n```\n\n## Usage\nTo use the KD-tree and QuadTree implementations, you can run the Jupyter Notebook `main.ipynb` (in Polish). This notebook provides a comprehensive interface for testing, visualizing, and comparing these two data structures.\n\n### Running the Notebook\n1. Open `main.ipynb` in Jupyter Notebook or JupyterLab (preferred VS Code).\n2. Follow the instructions in the notebook cells to run tests, generate visualizations, and compare the performance of KD-tree and QuadTree.\n\n## Modules\n\n### KDTree\n- `kdtree.py`: Contains the implementation of the KD-tree data structure.\n- `kdtree_test.py`: Contains unit tests for the KD-tree implementation.\n- `kdtree_visualizer.py`: Provides visualization tools for the KD-tree.\n\n### QuadTree\n- `quad.py`: Contains the implementation of the QuadTree data structure.\n\n### Other Modules\n- `automatic_tests.py`: Contains integration tests for both KD-tree and QuadTree.\n- `generators.py`: Provides functions to generate various types of point datasets.\n- `gui_creator.py`: Provides a graphical user interface for creating points and query ranges.\n- `visualizer`: Contains visualization tools written by [_BIT Scientific Group_](https://github.com/aghbit/Algorytmy-Geometryczne) (no additional dependencies than those specified in the [Installation](#installation) are required).\n\n## Testing\nTo run the unit tests for KD-tree, execute the following command:\n\n```sh\npython -m kdtree.kdtree_test\n```\n\nTo run the integration tests, execute the following command:\n\n```sh\npython automatic_tests.py\n```\n\n## Visualization\nThe project includes tools for visualizing the construction and querying of KD-tree and QuadTree. These visualizations can be generated by running the cells in `main.ipynb`.\n\n### KD-tree Visualization\n- **Build Visualization**: Shows the process of building the KD-tree.\n  \n![output](https://github.com/user-attachments/assets/6c60ac6b-f950-44b6-a3e3-045b5e2f7417)\n\n- **Query Visualization**: Shows the process of querying the KD-tree.\n  \n![output](https://github.com/user-attachments/assets/9c5b13bb-63f0-4e48-9ada-f6e0c36f0c8c)\n\n### QuadTree Visualization\n- **Build Visualization**: Shows the process of building the QuadTree.\n  \n![output](https://github.com/user-attachments/assets/3c3418f9-aae8-40e9-a8db-ef51819de88a)\n\n- **Query Visualization**: Shows the process of querying the QuadTree.\n  \n![output](https://github.com/user-attachments/assets/9df73db4-e4fd-403c-978e-1677e322c376)\n\n## Documentation\nThe project includes detailed documentation in the form of PDF files (in Polish). You can find the documentation in the `documentation` folder:\n\n- [presentation](documentation/prezentacja.pdf): A presentation about the project.\n- [documentation](documentation/dokumentacja.pdf): Detailed documentation of the project.\n\n## License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folaszpl%2Fkdtree_quadtree_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folaszpl%2Fkdtree_quadtree_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folaszpl%2Fkdtree_quadtree_project/lists"}