SAMBA
SAMBA: A Trainable Segmentation Web-App with Smart Labelling - Published in JOSS (2024)
Science Score: 98.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 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
Local version of samba-web, a trainable segmentation web app with deep learning powered labelling
Basic Info
- Host: GitHub
- Owner: tldr-group
- License: mit
- Language: TypeScript
- Default Branch: main
- Homepage: https://www.sambasegment.com/
- Size: 95.6 MB
Statistics
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 16
- Releases: 1
Topics
Metadata Files
README.md
SAMBA (Segment Anything Model Based App) is a trainable segmentation tool for materials science that uses deep learning for fast, high-quality labels and random forests for robust, generalizable segmentations. It is accessible in the browser (https://www.sambasegment.com), without the need to download any external dependencies. This repo is a local version of the website which contains the frontend for the website (React + TSX) and the backend (Python + Flask). The frontend handles labelling and the backend sends back SAM embeddings (if requested) and segmentations.
Check out the tutorial/user manual if help is needed!
Local Installation Instructions
These instructions are for installing and running the model locally. They assume a UNIX enviroment (mac or linux), but adapting for Windows is straightforward. Note you will need 2 terminals, one for the frontend local server and one for the backend local server.
Preliminaries
Download one of the ViT checkpoints for the SAM model - I chose the smallest, vit_b: ViT-B SAM model. Copy this into the backend/ directory.
Install & run the backend
- Setup a virtual environment in Python and activate it (not necessary but recommended)
- Install libraries from
backend/requirements.txt:
pip install -r backend/requirements.txt
- With your virtual environment activated and inside the
backend/directory, run
python -m flask --app server run
The server is now setup and listening for requests from our frontend!
Install & run the frontend
- Install the JS libraries needed to build and run the frontend. Install Yarn (and npm first if needed)
npm install --g yarn
- Build and run:
yarn && yarn start
- Navigate to
http://localhost:8081/orhttp://localhost:8080/depending on the port (it should do this automatically).
Testing Instructions
- Run (with your virtual enviroment activated!)
python backend/tests.py $FIJI_PATH
where $FIJI_PATH is the absolute path to your FIJI installation.
Citing
If you use SAMBA in one your works, please cite its JOSS publication via CITATION.cff or clicking the 'cite this repository' button at the top of the page:
Docherty et al., (2024). SAMBA: A Trainable Segmentation Web-App with Smart Labelling. Journal of Open Source Software, 9(98), 6159, https://doi.org/10.21105/joss.06159
Owner
- Name: tldr group
- Login: tldr-group
- Kind: organization
- Location: United Kingdom
- Website: https://tldr-group.github.io/#/
- Repositories: 3
- Profile: https://github.com/tldr-group
The Tools for Learning, Design and Research (tldr) group is a multidisciplinary team based in the Dyson school of Design engineering at Imperial College London.
JOSS Publication
SAMBA: A Trainable Segmentation Web-App with Smart Labelling
Authors
Department of Materials, Imperial College London, London SW7 2AZ, United Kingdom, Dyson School of Design Engineering, Imperial College London, London SW7 2DB, United Kingdom
Dyson School of Design Engineering, Imperial College London, London SW7 2DB, United Kingdom
Tags
Javascript materials segmentation machine learningCitation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- name: Ronan Docherty
orcid: 0000-0002-7332-0924
- name: Isaac Squires
orcid: 0000-0003-1919-061X
- name: Antonis Vamvakeros
orcid: 0000-0002-4745-0602
- name: Samuel J. Cooper
orcid: 0000-0003-4055-6903
title: "SAMBA: A Trainable Segmentation Web-App with Smart Labelling"
doi: 10.21105/joss.06159
url: "https://github.com/tldr-group/samba-web"
preferred-citation:
type: article
authors:
- name: Ronan Docherty
orcid: 0000-0002-7332-0924
- name: Isaac Squires
orcid: 0000-0003-1919-061X
- name: Antonis Vamvakeros
orcid: 0000-0002-4745-0602
- name: Samuel J. Cooper
orcid: 0000-0003-4055-6903
doi: "10.21105/joss.06159"
journal: "Journal of Open Source Software"
month: 6
title: "SAMBA: A Trainable Segmentation Web-App with Smart Labelling"
issue: 98
volume: 9
year: 2024
GitHub Events
Total
- Issues event: 2
- Watch event: 2
- Push event: 4
- Pull request event: 6
- Create event: 1
Last Year
- Issues event: 2
- Watch event: 2
- Push event: 4
- Pull request event: 6
- Create event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| rmdocherty | r****2@g****m | 212 |
| isaacsquires | i****s@m****m | 15 |
| rmdocherty | r****y | 8 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 86
- Total pull requests: 30
- Average time to close issues: 23 days
- Average time to close pull requests: 26 minutes
- Total issue authors: 4
- Total pull request authors: 2
- Average comments per issue: 0.5
- Average comments per pull request: 0.03
- Merged pull requests: 30
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- rmdocherty (71)
- amirDahari1 (7)
- camsooper (3)
- isaacsquires (1)
Pull Request Authors
- rmdocherty (30)
- isaacsquires (2)