{"id":25963819,"url":"https://github.com/pixano/pixano-app","last_synced_at":"2026-03-14T04:09:40.354Z","repository":{"id":37801005,"uuid":"241933245","full_name":"pixano/pixano-app","owner":"pixano","description":"Pixano App is a web-based smart-annotation tool for computer vision applications.","archived":false,"fork":false,"pushed_at":"2023-04-11T15:45:09.000Z","size":22165,"stargazers_count":39,"open_issues_count":3,"forks_count":22,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-28T05:56:46.391Z","etag":null,"topics":["annotation","annotation-tool","annotations","bounding-box","computer-vision","cuboid","deep-learning","image-annotation","image-labeling","image-labeling-tool","instance-segmentation","keypoints","labeling-tool","panoptic-segmentation","point-cloud","point-cloud-labeling","polygon","semantic-segmentation","video-annotation","video-labeling"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pixano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-20T16:28:14.000Z","updated_at":"2024-03-30T07:06:48.000Z","dependencies_parsed_at":"2023-02-10T14:16:23.006Z","dependency_job_id":null,"html_url":"https://github.com/pixano/pixano-app","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixano%2Fpixano-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixano%2Fpixano-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixano%2Fpixano-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixano%2Fpixano-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pixano","download_url":"https://codeload.github.com/pixano/pixano-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241921821,"owners_count":20042764,"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":["annotation","annotation-tool","annotations","bounding-box","computer-vision","cuboid","deep-learning","image-annotation","image-labeling","image-labeling-tool","instance-segmentation","keypoints","labeling-tool","panoptic-segmentation","point-cloud","point-cloud-labeling","polygon","semantic-segmentation","video-annotation","video-labeling"],"created_at":"2025-03-04T20:47:50.229Z","updated_at":"2026-03-14T04:09:39.829Z","avatar_url":"https://github.com/pixano.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"frontend/images/pixano_logo.png\" alt=\"Pixano\" height=\"100\"/\u003e\n\n[![License](https://img.shields.io/badge/license-CeCILL--C-blue.svg)](LICENSE) [![Live Demo](https://img.shields.io/badge/demo-online-green.svg)](http://pixano.cea.fr/smart-annotation/) [![License](https://img.shields.io/docker/pulls/pixano/pixano-app.svg)](Docker)\n\n## What is PIXANO ?\n[Pixano](https://pixano.cea.fr/) is a web-based smart-annotation tool for computer vision applications. The modules are driven by artificial intelligence, which assists the human user with annotation tasks and accelerate the annotation process. Try some of our features [online](https://pixano.github.io/demo/demo.html)!\n\n[![pixano.gif](documentation/pixano.gif)](https://www.youtube.com/watch?v=z5T2HhnugJo)\n\nPixano App\n===============\n\n## Table of Contents\n* [Installation](#1-installation)\n\t- [Using Docker Image](#using-docker-image)\n\t- [From source (for developers)](#install-from-source-for-developers)\n* [Usage](#2-usage)\n\t- [Configure your first annotation project](#configure-your-first-annotation-project)\n\t- [Start annotating](#start-annotating)\n\t- [Export your annotations](#export-your-annotations)\n\t- [Standalone vs distributed usage](#standalone-vs-distributed-usage)\n* [Advanced usage](#3-advanced-usage)\n\t- [Import predictions](#import-predictions)\n\t- [Import/Export annotation format](#importexport-annotation-format)\n\t- [Build docker from sources](#build-docker-from-sources)\n* [Contributing](#4-contributing)\n\t- [Pixano architecture: Pixano-app and Pixano-elements](#pixano-architecture-pixano-app-and-pixano-elements)\n\t- [Some documentation to get started](#some-documentation-to-get-started)\n\n\n## 1. Installation\n\n### Using Docker Image\n\nThe easiest way to get up-and-running is to install [Docker](https://www.docker.com/). Then, you should be able to download and run the pre-built image using the docker command line tool. Find out more about the `pixano` image on its [Docker Hub](https://hub.docker.com/r/pixano/pixano-app/) page.\n\nHere's the simplest way you can run the Pixano application using docker:\n\n```bash\nsudo docker run -it --rm -v \"$PWD\":/data -p 3000:3000 pixano/pixano-app\n```\n\nThe path where you run this command must contain the data you want to annotate.\n\n*NB: This path is defined as your workspace.*\n\n#### Optional: create an alias\nIn practice, we suggest you setup an alias called `pixano` to automatically expose the folder containing your specified image, so the script can read it and store results where you can access them. This is how you can do it in your terminal console on OSX or Linux:\n\n```bash\n# Setup the alias. Put this in your .bashrc file so it's available at startup.\n# Note that the --network host works only on Linux, use explicit port mapping for Windows and Mac\nalias pixano='function ne() { if [ -d \"$(pwd)/$1\" ]; then DATA=\"$(pwd)/$1\" \u0026\u0026 shift; else DATA=\"$(pwd)\"; fi; sudo docker run --init -it --rm --network host -v \"$DATA\":/data pixano/pixano-app $@; }; ne'\n\n# Now run pixano using alias with workspace as argument\npixano ./data-test --port 3001\n# or omit workspace and use current directory by default\n# pixano\n```\n\n\n### Install from source (for developers)\n\n#### Install global dependencies\n\n- NodeJS (10, 12 or 14)\n\tTo install on ubuntu:\n\n```bash\n# Make sure you have curl installed\nsudo apt install curl\n# Then download and execute the Node.js 10.x installer\ncurl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -\n# Once the installer is done doing its thing, you will need to install (or upgrade) Node.js\nsudo apt install nodejs\n# Make sure the version is now correct\nnodejs --version\nnpm install -g npm@6.10.0\n```\n\tYou can read this nice [introduction](https://codeburst.io/the-only-nodejs-introduction-youll-ever-need-d969a47ef219) to NodeJS in case you're curious on how it works.\n\t\n\u003e ATTENTION: node version 16 is not compatible for now\n\n#### Install application dependencies\n\n```bash\nnpm run deps\n```\n\n##### Using a local pixano-element\nIf you want to use custom `pixano-element` modules from local path instead of the NPM registry, link them as explained below:\n\n```bash\n# Install application dependencies and local pixano-elements\nnpm run installLocalElements --path=$PIXANO_ELEMENTS_PATH\n```\n*NB: Make sure you have the git repository of pixano-elements next to the pixano-app folder and that you have followed the pixano-elements build instructions before running the above commands.*\n\nIf this command breaks your local pixano-elements demo, this command will repear it:\n```bash\ncd $PIXANO_ELEMENTS_PATH\nnpm run bootstrap\n```\n\n#### Build the application\n\n```bash\n# Bundle the application using Webpack\n# This will create a build folder containing all the sources to be served\nnpm run build\n```\n\n#### Run the application\n\nIn the command prompt, type in `pixano /path/to/your/workspace` from the root folder and hit enter. (or alternatively : `node cli/pixano /path/to/your/workspace`)\n\n*NB: Make sure when typing this command that the workspace (`/path/to/your/workspace`) contains all of the data you want to use.*\n\nType in `pixano --help` to get the options available in your current version of Pixano.\n\n\n## 2. Usage\n\nAfter running Pixano-App, you’ll see something similar to this:\n\n```bash\n   ┌────────────────────────────────────────────────────────────────────────┐\n   │                                                                        │\n   │   Serving   /path/to/your/workspace                                    │\n   │                                                                        │\n   │   - Local:            http://localhost:3000                            │\n   │   - On Your Network:  http://xxx.xxx.x.xx:3000                         │\n   │                                                                        │\n   └────────────────────────────────────────────────────────────────────────┘\n```\n\nOpen your browser and hit _http://localhost:3000_. You should see the login page of the application.\n\n![pixano-elements](./documentation/images/page-login.png)\n\nFirst authentication is: `username: admin` `password: admin`.\n\n### Configure your first annotation project\n\nBefore annotating, configure your project by following our [admin's guide](./admin-guide.md). You will be able to:\n\n- define your datasets\n- define your desired annotation tasks\n- define your users and their role (annotators, validators, administrators)\n\n### Start annotating\n\nOnce a task is defined, you (or your annotators) will be able to annotate your dataset. See our [annotator's guide](./annotator-guide.md) for your first steps.  \nOur [plugins' guide](./plugins-guide.md) will help you in the use of your current task's specific plugin.\n\n### Export your annotations\n\nGet your annotations and use them for any external application easily:\n\n- as an admin, go to the tasks tab\n- press the \"EXPORT TO FILES\" button\n- you will find the exported annotations in the root of your workspace (find more information on annotation format [bellow](#importexport-annotation-format))\n\n### Standalone vs distributed usage\n\nPixano-app can be used standalone on a single machine. In this case, the \"admin\" can also directly annotate and validate his datasets. See our [admin's guide](./admin-guide.md) for more details.\n\nPixano-app is also developed to enable a distributed work:\n\n- install Pixano-app on a server and open its ip and port to your annotators inside your network\n- define your datasets, tasks and users (See [admin's guide](./admin-guide.md)). The tasks will be automatically distributed between the annotators.\n- each annotator can start working immediately from his computer without installing anything by connecting to _http://xxx.xxx.x.xx:3000_\n\n\n## 3. Advanced usage\n\n### Import predictions\n\nIf you want to analyze predictions from your last detector or use these predictions as a pre-annotation, you can import these predictions as existing annotations by using our [annotation format](#importexport-annotation-format).\n\n### Import/Export annotation format\n\n```\ndata-test   \n│\n│───images\n│   │    xxx.jpg\n│   └─── yyy.jpg\n│       \n└───annotations\n    │─── task1.json\n    └─── task1\n        │    xxx.json\n        └─── yyy.json\n```\nThe `task1.json` file contains global task settings (task type, task categories, image folder, etc) and its corresponding `task1` folder contains an annotation file for each image. To prepare those files check the [import documentation](documentation/import-annotations.md).\n\n### Build docker from sources\n\nTo create a docker image of the application, you can use the standard docker command:\n```bash\n# You can change `pixano` by your choosen image name\nsudo docker build -t pixano/pixano-app:my-tag .\n```\nIf you used a local pixano-element, build the application (step 1.b) and then run:\n```bash\n# You can use the local Dockerfile if the build folder already exists\nsudo docker build -t pixano/pixano-app:my-tag -f Dockerfile-local .\n```\n\n\n## 4. Contributing\n\nIf you tested Pixano and identified some issues or think some useful features are missing, please open an [issue](https://github.com/pixano/pixano-app/issues).\n\nIf you want to edit the application to your liking, fork this repository!\n\nIf you want to contribute more actively to the project, feel free to write your patches or new features and make a pull request!\n\n### Pixano architecture: Pixano-app and Pixano-elements\n\n![pixano.gif](documentation/Pixano-app_elements_det.png)\n\n**Pixano-app** is a monorepo built on top of web components dedicated to annotation (developed in a separate repo: [pixano-elements](https://github.com/pixano/pixano-elements)):\n\n- the backend manages the data (datasets to be annotated), the tasks (tasks to be performed by annotators) and the users (annotators, validators, admin)\n- the frontend implements the web views and calls the elements through plugins\n- backend and frontend communicate via a REST api\n\n[**Pixano-elements**](https://github.com/pixano/pixano-elements) provides a wide set of smart and re-usable web components to build highly customizable image and video annotation tools: 2D and 3D bounding boxes, polygons, segmentation masks, customizable labels, label temporal propagation, etc. **Pixano-app** relies on these web components.\n\n### Some documentation to get started\n- General documentation:\n\t- To get familiar with how the app is built from Web Components, read the [LitElement](https://lit-element.polymer-project.org/) documentation.\n\t- To get familiar with how the data is managed in the client, read the [redux](https://redux.js.org/introduction/getting-started) documentation.\n- Pixano's developers documentation\n\t- To better understand the Pixano server API, read its [documentation](documentation/rest-api.md)\n\t- To get familiar with Pixano's elements, take a look at its [dedicated repository](https://github.com/pixano/pixano-elements) and [modules documentation](https://pixano.github.io/docs/)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixano%2Fpixano-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixano%2Fpixano-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixano%2Fpixano-app/lists"}