BioPII (Biology Parallel Integral Image) is a Python package for performing sliding window analysis (SWA) on biological images.
Project description
BioPII
BioPII (Biology Parallel Integral Image) is a Python package for performing sliding window analysis (SWA) on biological images. This package makes use of the integral image technique to drastically speedup SWA, enabling SWA analysis of images that would have been too large for previous SWA implementations.
To use the package include the following statement at the top of your file: from BioPII import PII
To cite this package, cite our IEEE CIBCB 2023 short paper.
This code and package is under the MIT License - copyright (c) Seth Ockerman
The package name is prounounced bio-pie :)
Performance Numbers
We tested our summing SWA to determine its performance relative to past methods. We created a C++ SWA (referred to as DP-Naive) script which used dynamic programming to reduce the number of additions needed to be performed. DP-Naive SWA was already 400x faster than a naive approach (a simple four for loop approach) on small images and is used as the baseline for comparison to our integral-image-based methods.
30k by 30k | 30k by 30k Speedup | 40k by 50k | 40k by 50k Speedup | 60k by 60k | 60k by 60k Speedup | |
---|---|---|---|---|---|---|
DP-Naive | 211,381,433 | N/A | 491,374,150 | N/A | 943,858,845 | N/A |
Integral Image | 56,693 | 3728x | 253,082 | 1942x | 319,666 | 2953x |
Parallel Integral Image | 20,137 | 10,497x | 46,532 | 10,559x | 86,583 | 10,901x |
Note: SWA runtime in milliseconds on different image sizes; speedups relative to DP-Naive Solution
Features
- Efficient computation for various biological image analysis tasks.
- Supports different types of SWA (Sliding Window Analysis) algorithms.
- Flexible window size selection for analyzing different cellular features.
- GPU acceleration option for faster computations.
- Works with numpy arrays for easy integration into existing workflows.
Installation
You can install BioPII using pip:
pip3 install BioPII
Documentation
Documentation can be found internally within our code and in the documentation file.
Note
The average-SWA-algorithm and std-deviation-SWA algorithm have not been as tested as extensively as the sum-SWA-algorithm. If you discover a bug, please reach out to sockerman@cs.wisc.edu.
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
Built Distribution
File details
Details for the file biopii-0.2.4.tar.gz
.
File metadata
- Download URL: biopii-0.2.4.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ba04e724969dc90600e79ba6b61fdea630bbe6725f6f2b6681632ba1178cdfb |
|
MD5 | 85749d21a86f56fa20a0f8d56cab2f80 |
|
BLAKE2b-256 | 121236c6b153e0b8535bbf84506d81e43c627072cad117a97e8990772455187a |
File details
Details for the file BioPII-0.2.4-py3-none-any.whl
.
File metadata
- Download URL: BioPII-0.2.4-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b881d537886023bc8592fccd7d201993a62dbfd137c36aa5e7062d47b575b29a |
|
MD5 | 36ff08200831844938f2d82317e438e5 |
|
BLAKE2b-256 | a13e2f4df41730a1c0db32d912414128e151ea84df595d0d74ce63a620a9dbfe |