panoptic

Explore and analyze large datasets of images

https://github.com/ceres-sorbonne/panoptic

Science Score: 54.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
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.4%) to scientific vocabulary

Keywords

clip image-classification images python research-tool ui

Keywords from Contributors

interactive mesh interpretability profiles sequences generic projection standardization optim embedded
Last synced: 6 months ago · JSON representation ·

Repository

Explore and analyze large datasets of images

Basic Info
Statistics
  • Stars: 21
  • Watchers: 3
  • Forks: 4
  • Open Issues: 3
  • Releases: 54
Topics
clip image-classification images python research-tool ui
Created about 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README-FR.md

Panoptic

PyPI - Version PyPI - Python Version

Aperçu

Table des matières

  1. Description
  2. Installation
    1. Via pip
    2. Scripts d'installation et de lancement automatique (recommandé)
      1. Windows
      2. Linux
      3. MacOS
    3. Installation Docker
    4. Installation (développement)
  3. Utilisation
  4. License

Description

Panoptic est un outil d'exploration et d'annotation de large corpus d'images, utilisant des outils d'analyse d'image et de machine learning pour faciliter ces tâches.

Ayant besoin de librairies de deep learning, il est recommandé de l'utiliser avec un ordinateur ayant des capacités minimales en terme de calcul.

Attention: Panoptic est encore en phase active de développement et n'est pour l'instant qu'un prototype, il est fort probable que vous rencontriez des bugs, aussi nous recommandons de n'utiliser cet outil que pour des tests et ne pas se reposer dessus pour un travail académique conséquent.

Installation

Via pip

Quel que soit votre OS vous aurez besoin de Python 3.10 ou supérieur, nous vous recommandons d'utiliser la version 3.12.

Si vous êtes sous MacOS, il est possible que vous ayez besoin d'installer les outils en ligne de commande x-tools, pour cela ouvrez un terminal et lancez la commande suivante: `xcode-select –-install` Une fois installé vous pourrez continuer l'installation de Panoptic.

Normalement il suffit d'ouvrir un terminal et de lancer les commandes suivantes pour installer, puis lancer panoptic:

  • pip3 install panoptic
  • panoptic

Scripts d'installation automatique et de lancement (recommandé)

Il se peut que le script vous demande votre mot de passe pour installer les dépendances, cela est nécessaire dans le cas où il vous manquerait des dépendances système pour installer Panoptic (python, pip et/ou venv).

Windows

Voici les deux commandes à exécuter pour installer Panoptic sur Windows:

powershell curl -O https://raw.githubusercontent.com/CERES-Sorbonne/Panoptic/refs/heads/main/install/start_panoptic_windows.ps1 powershell -ExecutionPolicy Bypass -File start_panoptic_windows.ps1

Pour détailler un peu plus les étapes:

  1. Téléchargez le script d'installation automatique et de lancement de Panoptic en cliquant sur le lien suivant: startpanopticwindows.ps1 ou directement depuis le terminal avec la commande suivante:

powershell curl -O https://raw.githubusercontent.com/CERES-Sorbonne/Panoptic/refs/heads/main/install/start_panoptic_windows.ps1

  1. Exécutez le script en double-cliquant sur le fichier ou en utilisant la commande suivante:

powershell powershell -ExecutionPolicy Bypass -File start_panoptic_windows.ps1

Post-installation

Après l'installation, vous pouvez lancer Panoptic en vous rendant de nouveau dans le dossier où vous avez exécuté le script d'installation et en exécutant la commande suivante:

powershell powershell -ExecutionPolicy Bypass -File start-panoptic.ps1

Linux

Voici les trois commandes à exécuter pour installer Panoptic sur Linux: bash wget https://raw.githubusercontent.com/CERES-Sorbonne/Panoptic/refs/heads/main/install/start_panoptic_linux.sh -O start_panoptic_linux.sh chmod +x start_panoptic_linux.sh ./start_panoptic_linux.sh

Pour détailler un peu plus les étapes: 1. Téléchargez le script d'installation automatique et de lancement de Panoptic en cliquant sur le lien suivant: startpanopticlinux.sh ou directement depuis le terminal avec la commande suivante: bash wget https://raw.githubusercontent.com/CERES-Sorbonne/Panoptic/refs/heads/main/install/start_panoptic_linux.sh -O start_panoptic_linux.sh 2. Rendez le script exécutable en utilisant les propriétés du fichier ou en utilisant la commande suivante: bash chmod +x start_panoptic_linux.sh 3. Exécutez le script (double-cliquez sur le fichier ou utilisez la commande suivante): bash ./start_panoptic_linux.sh

Vous pouvez également préciser les paramètres de lancement de Panoptic en utilisant la commande suivante: bash ./start_panoptic_linux.sh [-y|--yes|--assume-yes] [-r|--reinstall] [-s|--start-only] [-u|--uninstall] [--no-bin-copy] [--no-update-script] [-h|--help] Les options disponibles sont les suivantes: - -y, --yes ou --assume-yes: Utilisez cette option pour accepter automatiquement toutes les demandes de confirmation. - -r ou --reinstall: Utilisez cette option pour réinstaller Panoptic. - -s ou --start-only: Utilisez cette option pour lancer Panoptic sans réinstaller. - -u ou --uninstall: Utilisez cette option pour désinstaller Panoptic (ne supprime pas les données ni les dépendances système).' - --no-bin-copy: Utilisez cette option pour ne pas copier le script de lancement de Panoptic dans le répertoire /usr/local/bin. - --no-update-script: Utilisez cette option pour ne pas mettre à jour le script de lancement de Panoptic dans le répertoire /usr/local/bin. - -h ou --help: Utilisez cette option pour afficher l'aide.

Post-installation

Après l'installation, vous pouvez lancer Panoptic en utilisant la commande suivante: bash start-panoptic

Vous pouvez également préciser les paramètres de lancement de Panoptic en utilisant la commande suivante: bash start-panoptic [-y|--yes|--assume-yes] [-r|--reinstall] [-s|--start-only] [-u|--uninstall] [--no-bin-copy] [-no-update-script] [-h|--help] Les options disponibles sont les suivantes: - -y, --yes ou --assume-yes: Utilisez cette option pour accepter automatiquement toutes les demandes de confirmation. - -r ou --reinstall: Utilisez cette option pour réinstaller Panoptic. - -s ou --start-only: Utilisez cette option pour lancer Panoptic sans réinstaller. - -u ou --uninstall: Utilisez cette option pour désinstaller Panoptic (ne supprime pas les données ni les dépendances système).' - --no-bin-copy: Utilisez cette option pour ne pas copier le script de lancement de Panoptic dans le répertoire /usr/local/bin. - --no-update-script: Utilisez cette option pour ne pas mettre à jour le script de lancement de Panoptic dans le répertoire /usr/local/bin. - -h ou --help: Utilisez cette option pour afficher l'aide.

MacOS

Voici les trois commandes à exécuter pour installer Panoptic sur MacOS: bash curl -O https://raw.githubusercontent.com/CERES-Sorbonne/Panoptic/refs/heads/main/install/start_panoptic_mac.sh chmod +x start_panoptic_mac.sh ./start_panoptic_mac.sh

Pour détailler un peu plus les étapes: 1. Téléchargez le script d'installation automatique et de lancement de Panoptic en cliquant sur le lien suivant: startpanopticmac.sh 2. Rendez le script exécutable en utilisant les propriétés du fichier ou en utilisant la commande suivante: bash chmod +x start_panoptic_mac.sh 3. Exécutez le script (double-cliquez sur le fichier ou utilisez la commande suivante): bash ./start_panoptic_mac.sh

Lancement

Après l'installation, vous pouvez lancer Panoptic en vous rendant de nouveau dans le dossier où vous avez exécuté le script d'installation et en exécutant la commande suivante: bash ./start_panoptic_mac.sh

Installation Docker

Si vous avez rencontré des problèmes avec l'installation classique, ou que vous préférez utiliser Docker, une image est à disposition. Il faut tout d'abord:

Installer Docker

Différences avec la version python

Sur la version docker, il n'existe pas la petite interface pour ajouter des dossiers ou gérer ses projets, il faut indiquer directement à docker les dossiers avec lesquels on va travailler:

Option 1: Un seul dossier pour les images et pour les données panoptic:

Cela implique d'avoir créé un dossier spécial appelé "images", dans le dossier que vous indiquerez en entrée de panoptic. Dans l'exemple suivant, il faudrait ainsi que dans le dossier: /chemin/vers/le/dossier, il existe un dossier images dont le chemin complet serait par conséquent /chemin/vers/le/dossier/images.

Il faut ensuite lancer la commande suivante (avec Docker de lancé au préalable)

bash docker run -it -p 8000:8000 -v /path/to/your/folder:/data --name panoptic ceressorbonne/panoptic

Option 2: Un dossier pour les images, et un dossier pour les données panoptic:

bash docker run -it -p 8000:8000 \ -v /path/to/your/data:/data \ -v /path/to/your/images:/data/images \ --name panoptic \ ceressorbonne/panoptic

Installation (développement)

Les étapes suivantes impliquent d'avoir cloné le répertoire et sont recommandées pour les utilisateurs souhaitant avoir accès aux versions de développement, ou souhaitant modifier eux même le code afin de contribuer.

Développement back uniquement

Pour tester et modifier le fonctionnement backend, nous fournissons un front-end déjà buildé dans le dossier html du back. * aller dans le dossier panoptic-back * pour installer les dépendances - python3 setup.py install simplement pour utiliser panoptic - pip3 install -e . pour développer - pip3 install -r requirements.txt et il faut ajouter panoptic-back au PYTHON_PATH également pour développer * lancer python panoptic/main.py

Développement front et back

  1. réaliser tout d'abord les étapes d'installation du backend
  2. aller dans le dossier panoptic-front
  3. lancer npm install
  4. lancer npm run dev
  5. avant de lancer le backend la variable d'environnement PANOPTIC_ENV devra être set à DEV afin d'utiliser le frontend de développement.

License

Ce projet est sous licence MPL-2.0 - voir le fichier LICENSE pour plus de détails.

Owner

  • Name: CERES Sorbonne Université
  • Login: CERES-Sorbonne
  • Kind: organization

Centre d'Experimentation de Recherche et d'Etude pour les Sciences-humaines

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Alié"
  given-names: "Félix"
  orcid: "https://orcid.org/0009-0006-8797-5397"
- family-names: "Gödicke"
  given-names: "David"
title: "Panoptic Image Exploration"
version: 0.5.4
doi: 10.5281/zenodo.15039850
date-released: 2025-03-17
url: "https://github.com/CERES-Sorbonne/Panoptic"
preferred-citation:
  type: conference-paper
  title: "PANOPTIC, un outil d'exploration par similarité de vastes corpus d'images"
  authors:
    - family-names: Bouté
      given-names: Édouard
    - family-names: Alié
      given-names: Félix
    - family-names: Gödicke
      given-names: David
    - family-names: Julliard
      given-names: Virginie
    - family-names: Pailler
      given-names: Fred
    - family-names: Ecrement
      given-names: Victor
  year: 2024
  month: 5
  conference: "Humanistica 2024"
  location: "Meknès, Morocco"
  publisher: "Association francophone des humanités numériques"
  keywords:
    - Image Corpus
    - Computer vision
    - Social network Analysis SNA
    - Media history
    - Corpus d'images
    - Vision par ordinateur
    - Analyse des réseaux sociaux
    - Histoire des médias
  url: "https://github.com/CERES-Sorbonne/Panoptic"
  doi: "hal-04687627"
  license: "CC-BY-SA-4.0"
  repository-code: "https://hal.science/hal-04687627v1/file/Humanistica_2024_Boute.pdf"
  journal: "Humanistica"

GitHub Events

Total
  • Create event: 25
  • Issues event: 4
  • Release event: 23
  • Watch event: 28
  • Delete event: 1
  • Issue comment event: 9
  • Push event: 258
  • Pull request event: 1
  • Gollum event: 11
  • Fork event: 3
Last Year
  • Create event: 25
  • Issues event: 4
  • Release event: 23
  • Watch event: 28
  • Delete event: 1
  • Issue comment event: 9
  • Push event: 258
  • Pull request event: 1
  • Gollum event: 11
  • Fork event: 3

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,356
  • Total Committers: 6
  • Avg Commits per committer: 226.0
  • Development Distribution Score (DDS): 0.313
Past Year
  • Commits: 418
  • Committers: 4
  • Avg Commits per committer: 104.5
  • Development Distribution Score (DDS): 0.335
Top Committers
Name Email Commits
david g****d@g****m 931
Félix s****e@g****m 344
Marceau-h g****t@m****r 74
Félix s****e@g****m 5
dependabot[bot] 4****] 1
Olivier Laurent 6****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 8
  • Total pull requests: 20
  • Average time to close issues: 12 days
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 5
  • Total pull request authors: 4
  • Average comments per issue: 2.38
  • Average comments per pull request: 0.05
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 6
  • Pull requests: 1
  • Average time to close issues: 18 days
  • Average time to close pull requests: about 1 hour
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 2.5
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • o-laurent (1)
  • Erriep56 (1)
  • Baghate (1)
  • EdouardBoute (1)
  • bmaz (1)
Pull Request Authors
  • Tyrannas (10)
  • Marceau-h (5)
  • o-laurent (2)
Top Labels
Issue Labels
bug (2) question (1) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 197 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 86
  • Total maintainers: 1
pypi.org: panoptic

Explore and analyze large datasets of images

  • Versions: 86
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 197 Last month
Rankings
Dependent packages count: 7.3%
Average: 24.1%
Dependent repos count: 40.8%
Maintainers (1)
Last synced: 6 months ago