# About
This repository contains the source code, data and figures made available for the article [Blob-B-Gone: a lightweight framework for removing blob artifacts from 2D/3D MINFLUX single-particle tracking data](https://doi.org/10.3389/fbinf.2023.1268899) published in *Frontiers in Bioinformatics*.
# Blob-B-Gone
### Basic Usage
```python
from blobBgone import blobBgone
BBEG = blobBgone.from_npy('path/to/dir/') # <- from files
BBEG = blobBgone.from_pointCloud(Dict[int,np.ndarray]) # <- from point cloud
BBEG.run() # <- run the algorithm
blob_IDs = BBEG.blob_IDs() # <- get the blob IDs
free_IDs = BBEG.free_IDs() # <- get the free IDs
BBEG.plot_PCA() # <- plot the PCA
```
### Advanced Usage
```python
from blobBgone import blobBgone
# create an instance of the blobBgone class #
# create a dictionary with the custom weights
custom_weights_2D = {MAX_DIST: float, CV_AREA:float, SPHE:float, ELLI:float, CV_DENSITY:float}
custom_weights_3D = {MAX_DIST: float, CV_VOL:float, SPHE:float, ELLI:float, CV_DENSITY:float}
# set custom weights depending on the dimensionality of your data
BBEG.custom_weights = custom_weights_2D/custom_weights_3D
```
# Installation
### Via pip
```bash
pip install blobBgone
```
### From source
```bash
git clone
pip install .
```
## Python Environment
To run the notebooks found within this repository, you may need to create a conda environment with the required dependencies. The `dev_env.yml` file contains the necessary dependencies to run the code.
Requirements: [miniconda](https://docs.conda.io/en/latest/miniconda.html) or [anaconda](https://www.anaconda.com/products/distribution) installed.
Dont forget that you can "**skip registration**" even when installing anaconda don't get confused by the [dark pattern](https://en.wikipedia.org/wiki/Dark_pattern) they put up.
### Create the environment
Open a terminal or anaconda prompt and navigate to the root of the repository. Then run the following command:
```bash
conda env create -f dev_env.yml
```
After that you can activate the environment with:
```bash
conda activate BBEG
```
# Examples
The `notebooks` folder contains a series of Jupyter notebooks that demonstrate the use of and explain the logic behind the `blobBgone` package.
# Repository Structure
The code is organized in a Python package called `blobBgone` and the data used in the article is available in the `Example_Data` folder. The figures appearing in the main text are available in the `Figures` folder.
```bash
C:.
├───blobBgone
│ └───__pycache__
├───blobBgone.egg-info
├───build
│ ├───bdist.win-amd64
│ └───lib
│ └───blobBgone
├───dist
├───Example_Data
│ ├───Additional_MFX_Data
│ │ ├───Labelled_Data
│ │ │ ├───blob
│ │ │ └───free
│ │ └───Labelled_Thumbnails
│ │ ├───blob
│ │ └───free
│ ├───MINFLUX Data
│ │ ├───Blob_GQ23nm_2D_Tracks
│ │ ├───Blob_GQ23nm_3D_Tracks
│ │ └───MINFLUX Tracking Sequences
│ └───Simulation
│ ├───2D_Mix_dynamicSTD
│ └───3D_Mix_dynamicSTD
├───Figures
│ ├───In Paper
│ │ ├───Main Text
│ │ └───Supplementary
│ └───Raw
│ ├───Additional
│ └───Initial
├───notebooks
└───__pycache__
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Eggeling-Lab-Microscope-Software/blob-B-gone",
"name": "blobBgone",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "MINFLUX, clustering, Point Clouds, geometry, Artifact Removal (AR), artifact removal (AR), algorithm, Single particle tracking (SPT), Blobs Detection",
"author": "Bela Tristan Leander Vogler",
"author_email": "bela.vogler@uni-jena.de",
"download_url": "https://files.pythonhosted.org/packages/8e/d6/0b5d323d49608cdd8f4b7f6bc4dd7b093e69b72296a4561e023e4a4c3325/blobbgone-0.2.1.tar.gz",
"platform": null,
"description": "# About\nThis repository contains the source code, data and figures made available for the article [Blob-B-Gone: a lightweight framework for removing blob artifacts from 2D/3D MINFLUX single-particle tracking data](https://doi.org/10.3389/fbinf.2023.1268899) published in *Frontiers in Bioinformatics*.\n\n# Blob-B-Gone\n### Basic Usage\n```python\nfrom blobBgone import blobBgone\n\nBBEG = blobBgone.from_npy('path/to/dir/') # <- from files\nBBEG = blobBgone.from_pointCloud(Dict[int,np.ndarray]) # <- from point cloud\n\nBBEG.run() # <- run the algorithm\n\nblob_IDs = BBEG.blob_IDs() # <- get the blob IDs\nfree_IDs = BBEG.free_IDs() # <- get the free IDs\n\nBBEG.plot_PCA() # <- plot the PCA\n```\n\n### Advanced Usage\n```python\nfrom blobBgone import blobBgone\n\n# create an instance of the blobBgone class #\n\n# create a dictionary with the custom weights\ncustom_weights_2D = {MAX_DIST: float, CV_AREA:float, SPHE:float, ELLI:float, CV_DENSITY:float}\ncustom_weights_3D = {MAX_DIST: float, CV_VOL:float, SPHE:float, ELLI:float, CV_DENSITY:float}\n\n# set custom weights depending on the dimensionality of your data\nBBEG.custom_weights = custom_weights_2D/custom_weights_3D \n```\n\n# Installation\n### Via pip\n```bash\npip install blobBgone\n```\n\n### From source\n```bash\ngit clone\npip install .\n```\n\n\n## Python Environment\nTo run the notebooks found within this repository, you may need to create a conda environment with the required dependencies. The `dev_env.yml` file contains the necessary dependencies to run the code.\n\nRequirements: [miniconda](https://docs.conda.io/en/latest/miniconda.html) or [anaconda](https://www.anaconda.com/products/distribution) installed.\nDont forget that you can \"**skip registration**\" even when installing anaconda don't get confused by the [dark pattern](https://en.wikipedia.org/wiki/Dark_pattern) they put up. \n\n### Create the environment\nOpen a terminal or anaconda prompt and navigate to the root of the repository. Then run the following command:\n```bash\nconda env create -f dev_env.yml\n```\nAfter that you can activate the environment with:\n```bash\nconda activate BBEG\n```\n\n# Examples\nThe `notebooks` folder contains a series of Jupyter notebooks that demonstrate the use of and explain the logic behind the `blobBgone` package. \n\n# Repository Structure\nThe code is organized in a Python package called `blobBgone` and the data used in the article is available in the `Example_Data` folder. The figures appearing in the main text are available in the `Figures` folder.\n\n```bash\nC:.\n\u251c\u2500\u2500\u2500blobBgone\n\u2502 \u2514\u2500\u2500\u2500__pycache__\n\u251c\u2500\u2500\u2500blobBgone.egg-info\n\u251c\u2500\u2500\u2500build\n\u2502 \u251c\u2500\u2500\u2500bdist.win-amd64\n\u2502 \u2514\u2500\u2500\u2500lib\n\u2502 \u2514\u2500\u2500\u2500blobBgone\n\u251c\u2500\u2500\u2500dist\n\u251c\u2500\u2500\u2500Example_Data\n\u2502 \u251c\u2500\u2500\u2500Additional_MFX_Data\n\u2502 \u2502 \u251c\u2500\u2500\u2500Labelled_Data\n\u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500blob\n\u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500free\n\u2502 \u2502 \u2514\u2500\u2500\u2500Labelled_Thumbnails\n\u2502 \u2502 \u251c\u2500\u2500\u2500blob\n\u2502 \u2502 \u2514\u2500\u2500\u2500free\n\u2502 \u251c\u2500\u2500\u2500MINFLUX Data\n\u2502 \u2502 \u251c\u2500\u2500\u2500Blob_GQ23nm_2D_Tracks\n\u2502 \u2502 \u251c\u2500\u2500\u2500Blob_GQ23nm_3D_Tracks\n\u2502 \u2502 \u2514\u2500\u2500\u2500MINFLUX Tracking Sequences\n\u2502 \u2514\u2500\u2500\u2500Simulation\n\u2502 \u251c\u2500\u2500\u25002D_Mix_dynamicSTD\n\u2502 \u2514\u2500\u2500\u25003D_Mix_dynamicSTD\n\u251c\u2500\u2500\u2500Figures\n\u2502 \u251c\u2500\u2500\u2500In Paper\n\u2502 \u2502 \u251c\u2500\u2500\u2500Main Text\n\u2502 \u2502 \u2514\u2500\u2500\u2500Supplementary\n\u2502 \u2514\u2500\u2500\u2500Raw\n\u2502 \u251c\u2500\u2500\u2500Additional\n\u2502 \u2514\u2500\u2500\u2500Initial\n\u251c\u2500\u2500\u2500notebooks\n\u2514\u2500\u2500\u2500__pycache__\n```\n",
"bugtrack_url": null,
"license": "BSD License",
"summary": "A lightweight tool to remove blob artifacts from 2D/3D point cloud data as produced by MINFLUX",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/Eggeling-Lab-Microscope-Software/blob-B-gone"
},
"split_keywords": [
"minflux",
" clustering",
" point clouds",
" geometry",
" artifact removal (ar)",
" artifact removal (ar)",
" algorithm",
" single particle tracking (spt)",
" blobs detection"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c5983ce969c1f6204c57a3898a1c8d663412293f4e08da8aa765793a728499bc",
"md5": "9f9ca7c25075712884d09d42fb3d71aa",
"sha256": "90825d88e9bc0abd08b97839bf83fb0c369ca445565e4661c5962554d7544972"
},
"downloads": -1,
"filename": "blobBgone-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9f9ca7c25075712884d09d42fb3d71aa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 16241,
"upload_time": "2024-12-06T19:01:47",
"upload_time_iso_8601": "2024-12-06T19:01:47.583896Z",
"url": "https://files.pythonhosted.org/packages/c5/98/3ce969c1f6204c57a3898a1c8d663412293f4e08da8aa765793a728499bc/blobBgone-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8ed60b5d323d49608cdd8f4b7f6bc4dd7b093e69b72296a4561e023e4a4c3325",
"md5": "80ef1ad2720b965f4a6a5a49d477c10f",
"sha256": "6912baa8c082d1316ded30dda240d7cfb48c96c897c30e6c1757d69621f436b0"
},
"downloads": -1,
"filename": "blobbgone-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "80ef1ad2720b965f4a6a5a49d477c10f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 16068,
"upload_time": "2024-12-06T19:01:48",
"upload_time_iso_8601": "2024-12-06T19:01:48.706305Z",
"url": "https://files.pythonhosted.org/packages/8e/d6/0b5d323d49608cdd8f4b7f6bc4dd7b093e69b72296a4561e023e4a4c3325/blobbgone-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 19:01:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Eggeling-Lab-Microscope-Software",
"github_project": "blob-B-gone",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "blobbgone"
}