tirtha-public

Project Tirtha

https://github.com/smlab-niser/tirtha-public

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, acm.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.8%) to scientific vocabulary

Keywords

hacktoberfest
Last synced: 6 months ago · JSON representation ·

Repository

Project Tirtha

Basic Info
  • Host: GitHub
  • Owner: smlab-niser
  • License: agpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 48.8 MB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 9
  • Open Issues: 25
  • Releases: 2
Topics
hacktoberfest
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

$\color{#ff4c40}{\textrm{Project Tirtha [Beta]}}$


Signal Group Element Chat Room GitHub Discussions


[!note] Please go here for the Tirtha website: https://smlab.niser.ac.in/project/tirtha/.


[!important] Google Summer of Code aspirants, please go here for the project topics: https://docs.google.com/document/d/1p5UxgoKBhy5pQh3fXX00BftcmJxzxdFLOkrB3Hibfm4.


Project Tirtha is an academic initiative to create 3D models of heritage sites using crowdsourced images. The word Tirtha is Sanskrit for "a place of pilgrimage", and is commonly used to refer to the sacred sites of Hinduism, Jainism and Buddhism. Our goal is to preserve and showcase the beauty and cultural significance of heritage sites. We believe that by allowing the general public to contribute to the creation of these models, and by providing open access to these models, we can increase awareness and appreciation of these important cultural landmarks and inspire future generations to maintain them for years to come.

This project is now open-source under the GNU Affero General Public License v3.0 and is under active development. All contributions are welcome. Please read CONTRIBUTING.md for more details.

See Citation for information on how to cite this project. A CITATION.cff file is also available in the repository.

System Architecture

Tirtha Broad Architecture

See the paper for more details.

Requirements

Hardware

  • OS: Ubuntu 24.04 LTS (Other Linux distros may work, but are not tested)
  • RAM: 16+ GB for moderately-sized image sets (< 500 images)
  • VRAM: 24+ GB; NVIDIA GPU required for CUDA support & Gaussian Splatting
  • CPU: 16+ cores recommended
  • Storage: 100+ GB free space recommended

Software

  • Primary: Python 3.11 (Developed using Python 3.11.13) & Node.js >= 24.0.0 & npm >= 11.0.0.
  • The build process (manual or docker) automatically installs these and other dependencies. Check Deployment / Development Setup below for more details.

Deployment / Development Setup

[!tip] Please go here to set up Tirtha using Docker. We strongly recommend using Docker for deployment as well as for testing or development. It is currently the most straightforward way to set up Tirtha, although it may not be the most up-to-date. We are working on keeping it updated with the main repository.

Manual Setup

  • Clone the repository and cd to the tirtha-public directory: sh git clone https://github.com/smlab-niser/tirtha-public.git cd tirtha-public
  • Edit tirtha-public/build/tirtha.env to set the environment variables.
  • Carefully go through build.sh and edit to ensure that the paths and settings are correct for your system. For instance, you can choose to not install some of the dependencies for the backend, which saves a considerable amount of time.
  • The default build uses ports 8000 (for gunicorn), 8001 (for Postgres), and 15672 (for RabbitMQ) on the host system. Ensure these ports are free. If you want to use different ports, you will have to edit tirtha.env, gunicorn.conf.manual.py, and tirtha.docker.nginx before running build.sh.
  • cd to tirtha-public/build and run the following command to set up Tirtha. This will install the required packages and set up Postgres, RabbitMQ, Nginx, Gunicorn and Tirtha: bash cd tirtha-public/build sudo bash build.sh
  • To run Tirtha, use the following command: bash bash start.sh
  • The Tirtha web interface can be accessed at http://localhost:8000 or http://<HOST_IP>:8000 if you are setting up Tirtha on a remote server. To access the Django admin interface, use http://localhost:8000/admin or http://<HOST_IP>:8000/admin. The default username and password can be found in the tirtha.env file.
  • To access Tirtha-related logs, check the /var/www/tirtha/logs/ directory. Logs for system packages, like RabbitMQ or Postgres, can be accessed using journalctl.
  • If you want to set up SSL for your Tirtha instance, check the tirtha.ssl.nginx configuration file.
  • To set up system service and socket for Tirtha, you can refer to the tirthad.docker.service and tirthad.docker.socket files.

[!important]

  1. Currently, the production directory is hard-coded to /var/www/tirtha. Changing this will require changes to the nginx configuration and the gunicorn.conf.manual.py file, along with build.sh.
  2. You may also have to configure your firewall to allow traffic on the ports used by Tirtha. Check the tirtha.env file and the nginx configuration for the ports used.

Citation

Please cite the following paper if you use this software in your work (arXiv | ACM Digital Library):

bibtex @inproceedings{10.1145/3611314.3615904, author = {Shivottam, Jyotirmaya and Mishra, Subhankar}, title = {Tirtha - An Automated Platform to Crowdsource Images and Create 3D Models of Heritage Sites}, year = {2023}, isbn = {9798400703249}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3611314.3615904}, doi = {10.1145/3611314.3615904}, abstract = {Digital preservation of Cultural Heritage (CH) sites is crucial to protect them against damage from natural disasters or human activities. Creating 3D models of CH sites has become a popular method of digital preservation thanks to advancements in computer vision and photogrammetry. However, the process is time-consuming, expensive, and typically requires specialized equipment and expertise, posing challenges in resource-limited developing countries. Additionally, the lack of an open repository for 3D models hinders research and public engagement with their heritage. To address these issues, we propose Tirtha, a web platform for crowdsourcing images of CH sites and creating their 3D models. Tirtha utilizes state-of-the-art Structure from Motion (SfM) and Multi-View Stereo (MVS) techniques. It is modular, extensible and cost-effective, allowing for the incorporation of new techniques as photogrammetry advances. Tirtha is accessible through a web interface at https://smlab.niser.ac.in/project/tirtha/ and can be deployed on-premise or in a cloud environment. In our case studies, we demonstrate the pipeline’s effectiveness by creating 3D models of temples in Odisha, India, using crowdsourced images. These models are available for viewing, interaction, and download on the Tirtha website. Our work aims to provide a dataset of crowdsourced images and 3D reconstructions for research in computer vision, heritage conservation, and related domains. Overall, Tirtha is a step towards democratizing digital preservation, primarily in resource-limited developing countries.}, booktitle = {Proceedings of the 28th International ACM Conference on 3D Web Technology}, articleno = {11}, numpages = {15}, keywords = {photogrammetry, open source, digital heritage, crowdsourcing, 3D dataset}, location = {San Sebastian, Spain}, series = {Web3D '23} }

You can also use GitHub's citation feature to generate a citation for this repository. See here for more details.

Funding & Acknowledgment

This project is funded by La Fondation Dassault Systèmes. We also thank the following individuals for their contributions to the project's development:

We are grateful to the developers of the following open-source libraries, which help make this project a reality:

We also thank Odisha State Archaeology for their support.


© 2023-25 Project Tirtha, Subhankar Mishra's Lab, School of Computer Sciences, NISER. All rights reserved.

Owner

  • Name: Subhankar Mishra LAB
  • Login: smlab-niser
  • Kind: user
  • Location: Bhubaneswar, Odisha
  • Company: National Institute of Science Education and Research

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  Tirtha - An Automated Platform to Crowdsource Images and
  Create 3D Models of Heritage Sites
message: 'If you use this software, please cite it as below.'
type: software
authors:
  - family-names: Shivottam
    given-names: Jyotirmaya
    orcid: 'https://orcid.org/0000-0002-2688-9421'
  - family-names: Mishra
    given-names: Subhankar
    orcid: 'https://orcid.org/0000-0002-9910-7291'
identifiers:
  - type: doi
    value: 10.1145/3611314.3615904
    description: Conference Paper
repository-code: 'https://github.com/smlab-niser/tirtha-public'
url: 'https://smlab.niser.ac.in/project/tirtha/'
keywords:
  - open source
  - digital heritage
  - crowdsourcing
  - 3D dataset
  - photogrammetry
license: AGPL-3.0
version: 0.0.1

GitHub Events

Total
  • Issues event: 4
  • Watch event: 2
  • Issue comment event: 6
  • Push event: 4
  • Fork event: 1
Last Year
  • Issues event: 4
  • Watch event: 2
  • Issue comment event: 6
  • Push event: 4
  • Fork event: 1