Parallel multiradial LBP features
Reason this release was yanked:
change versioning
Project description
fastLBP
Highly parallel LBP implementation
Implemented modules
run_skimage
Computes multiradial LBP of a single multichannel image in a parallel fashion.
This is a quick sample implementation that could be a baseline for further benchmarking.
Features:
- Powered by
skimage.feature.local_binary_pattern
- Concurrency is managed by Python's
multiprocessing
module - Parallel computation via
multiprocessing.Pool
of sizencpus
- Efficient memory usage via
multiprocessing.shared_memory
to make sure processes do not create redundant copies of data - It computes everything in RAM, no filesystem usage
TODO:
- Use
max_ram
parameter to estimate optimal number of sub-processes and collect memory stats. Nowmax_ram
is ignored.
Planned modules
run_chunked_skimage
Similar to 1. run_skimage, but each subprocess should compute LBP for its image chunk, not the whole image.
run_dask and run_chunked_dask
Similar to 1. run_skimage, but use Dask and dask.array.map_overlap
for parallelisation instead of multiprocessing
and manual data wrangling
Other notable things to try
- Perform benchmarking of an in-house optimised cython version of
skimage.feature.local_binary_pattern
(see skimage_lbp.pyx at imbg-ua/nf-img-benchmarking) - Do some research on Numba - is it applicable here?
- Add annotations to run_skimage results using
anndata
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fastlbp-imbg-0.0.10.tar.gz
(16.6 kB
view hashes)
Built Distribution
Close
Hashes for fastlbp_imbg-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34b904b2dd56cfbec6c4a966e051f30611480ac973a413c43d0c2745aa4ef1dc |
|
MD5 | 3741a2d285defd7234cc150edb891884 |
|
BLAKE2b-256 | d616414276f1d096249cc8f0c68b0a146a5edab091f75b9efe796faedd8eec02 |