3d-content-retrieval

A 3D content retrieval system using Fourier and Zernike descriptors.

https://github.com/samashi47/3d-content-retrieval

Science Score: 44.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
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary

Keywords

3d-models content-retrieval obj-loader opengl python3
Last synced: 6 months ago · JSON representation ·

Repository

A 3D content retrieval system using Fourier and Zernike descriptors.

Basic Info
  • Host: GitHub
  • Owner: Samashi47
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.97 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
3d-models content-retrieval obj-loader opengl python3
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

3D-content-retrieval

Welcome to our web application designed to implement a robust Content-Based 3D Models Retrieval system that enables efficient image search and management through visual features. Users can upload, download, delete, and categorize models into predefined classes. The system computes and displays shape descriptors for models, including Zernike moments, and Fourier descriptors, in addition to viewing the model in 3D. It supports a simple search to retrieve visually similar models, providing an intuitive and dynamic way to explore the Pottery dataset.

Installation

To start off, clone this branch of the repo into your local:

shell git clone https://github.com/Samashi47/3D-content-retrieval.git

shell cd 3D-content-retrieval

Backend

After cloning the project, create a virtual environment:

shell cd apps/api

Windows

shell py -3 -m venv .venv

MacOS/Linus

shell python3 -m venv .venv

Then, activate the env:

Windows

shell .venv\Scripts\activate

MacOS/Linus

shell . .venv/bin/activate

You can run the following command to install the dependencies:

shell pip3 install -r requirements.txt

After installing the dependencies, you should specify the mongodb connection string in the .env file:

shell touch .env

or:

shell cp .env.example .env

Then, open the .env file and add the following line:

env MONGO_URL=<url>

To be able to use the register and login functionalities, you need to generate jwt key and place it in a .ssh folder in the api directory:

shell openssl genrsa -out jwt-key 4096

to extract the corresponding public key:

shell openssl rsa -in jwt-key -pubout -out jwt-key.pub

then, move the keys to the .ssh folder:

shell mkdir .ssh mv jwt-key .ssh mv jwt-key.pub .ssh

also, you need to download the 3DPottery dataset from the following link:

shell http://www.ipet.gr/~akoutsou/benchmark/ And place the 3D Models and Thmbnail folders in the api\assets directory. The assets directory should look like this:

shell ├───assets │ ├───3D Models │ │ ├───Abstract │ │ ├───Alabastron │ │ ├───Amphora │ │ ├───... │ └───Thumbnails │ ├───Abstract │ ├───Alabastron │ ├───Amphora │ ├───... Then, you can run the following command to start the backend:

shell python server.py

Frontend

Open another terminal:

shell cd 3D-content-retrieval

shell cd apps/app

Then, run the following command to install the dependencies:

shell pnpm install

then, run the following command to start the frontend, if you have angular cli installed globally:

shell ng serve

if not, you can run the following command:

shell pnpm run ng serve

Then, open your browser and navigate to http://localhost:4200/ to see the app running.

Owner

  • Name: Ahmed Samady
  • Login: Samashi47
  • Kind: user

Citation (CITATION.bib)

@misc{SCFCB3MR2025,
author = {Samady, Ahmed and Chibani, Fahd and Fakhre-Eddine, Mohamed Amine},
month = {01},
title = {Content-Based Image 3D Models Retrieval system},
url = {https://github.com/Samashi47/3D-content-retrieval},
year = {2025}
}

GitHub Events

Total
  • Push event: 1
  • Public event: 1
  • Fork event: 1
Last Year
  • Push event: 1
  • Public event: 1
  • Fork event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 43
  • Total Committers: 2
  • Avg Commits per committer: 21.5
  • Development Distribution Score (DDS): 0.442
Past Year
  • Commits: 43
  • Committers: 2
  • Avg Commits per committer: 21.5
  • Development Distribution Score (DDS): 0.442
Top Committers
Name Email Commits
Ahmed Samady s****m@g****m 24
aL0NEW0LF m****9@g****m 19

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • Samashi47 (3)
Top Labels
Issue Labels
Pull Request Labels