fastlbp

Highly parallel LBP implementation

https://github.com/imbg-ua/fastlbp

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
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Highly parallel LBP implementation

Basic Info
  • Host: GitHub
  • Owner: imbg-ua
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 2.21 MB
Statistics
  • Stars: 5
  • Watchers: 4
  • Forks: 1
  • Open Issues: 1
  • Releases: 2
Created over 2 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

fastLBP

Highly parallel LBP implementation

Important pre-release warning: If aborted mid-execution, this software sometimes create a lot of orphan processes that needs to be killed manually. Please, note down the name of your python script, search for Python in your task manager and look for the processes that correspond to your python script.

Requirements

FastLBP is tested with Python 3.11 on Windows 10, Debian 11, and Ubuntu 22.04

Python requirements are: - numpy >= 1.26.0 - Cython (to build the binary modules, will be optional in the future) - scikit-image >= 0.22.0 (mostly for testing, we plan making this requirement optional in the future) - pandas >= 2.1.1 - psutil

Installation

  • Activate or create a Python 3.11 environment (e.g. using conda create -y -n p11 python=3.11 && conda activate p11)
  • Verify you are using the right env
    • python --version and pip --version
  • Install a stable version from PyPI
    pip install fastlbp-imbg
  • Or build the latest version from sources
    git clone git@github.com:imbg-ua/fastLBP.git cd fastLBP # git checkout <branchname> # if you need a specific branch pip install . # this will install the fastlbp_imbg package in the current env
  • You can use import fastlbp_imbg as fastlbp now

Testing

```

in repo root

conda activate fastlbp pip install -e . python -m unittest ```

Bug reporting

You can report a bug or suggest an improvement using our github issues

Implemented modules

run_fastlbp

Computes multiradial LBP of a single multichannel image in a parallel fashion.

Features: - Powered by fastlbp_imbg.lbp, our implementation of skimage.feature.local_binary_pattern - Concurrency is managed by Python's multiprocessing module - Parallel computation via multiprocessing.Pool of size ncpus - Efficient memory usage via multiprocessing.shared_memory to make sure processes do not create redundant copies of data - If save_intermediate_results=False then computes everything in RAM, no filesystem usage

TODO: - Use max_ram parameter to estimate optimal number of sub-processes and collect memory stats. Now max_ram is ignored.

Planned modules

runchunkedskimage

Similar to 1. run_fastlbp, but each subprocess should compute LBP for its image chunk, not the whole image.

rundask and runchunked_dask

Similar to 1. run_fastlbp, but use Dask and dask.array.map_overlap for parallelisation instead of multiprocessing and manual data wrangling

Owner

  • Name: imbg-ua
  • Login: imbg-ua
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: FastLBP
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Mykhailo
    family-names: Koreshkov
    email: m.koreshkov@kau.edu.ua
    affiliation: >-
      SysBio lab, Institute of molecular biology and
      genetics, Kyiv, Ukraine
  - name: >-
      Systems Biology Group of Institute of molecular
      biology and genetics
    address: '150, Zabolotnoho str., Kyiv, Ukraine, 03143'
    city: Kyiv
    country: UA
    post-code: '03143'
repository-code: 'https://github.com/imbg-ua/fastLBP'
abstract: >-
  Parallel and memory-optimised LBP texture features for
  large images
keywords:
  - LBP
  - parallel
  - multiradial
license: GPL-3.0
commit: c4fdfe53d18ff8971a9f5ec8174ac58d89453129
version: 0.2.0
date-released: '2024-09-11'

GitHub Events

Total
  • Release event: 1
  • Watch event: 4
  • Delete event: 5
  • Push event: 22
  • Pull request event: 5
  • Fork event: 1
  • Create event: 12
Last Year
  • Release event: 1
  • Watch event: 4
  • Delete event: 5
  • Push event: 22
  • Pull request event: 5
  • Fork event: 1
  • Create event: 12

Dependencies

pyproject.toml pypi
  • Pillow >=10.0.1
  • numpy >=1.26.0
  • pandas >=2.1.1
  • psutil *
  • scikit-image >=0.22.0
  • wheel *
setup.py pypi