Parallel multiradial LBP features
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.dev15.tar.gz
(19.9 kB
view hashes)
Built Distribution
Close
Hashes for fastlbp_imbg-0.0.dev15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a72db0ae3944e23ec0b8c64aedc65a0e4ee48ad3c6f21052b706cf286ec20d3a |
|
MD5 | 777eed82c998dac92b54d92db2aeb83f |
|
BLAKE2b-256 | 3399e5d72be92b4b692ea1f4c730e90b6568ccd4fce59273a85ed198c8d3819a |