Argolid
Argolid is a Python package for working with volumetric data and generating multi-resolution pyramids. It provides classes for reading and writing pixel data, generating Zarr arrays, and creating multi-resolution pyramids.
Installation
You can install Argolid using pip (pip install argolid) or using conda (conda install -c conda-forge argolid).
Building from Source
Argolid uses Tensorstore for reading and writing pixel data. So Tensorstore build requirements are needed to be satisfied.
For Linux, these are the requirements:
GCC10 or laterClang8 or laterPython3.8 or laterCMake3.24 or laterPerl, for building libaom from source (default). Must be inPATH. Not required if-DTENSORSTORE_USE_SYSTEM_LIBAOM=ONis specified.NASM, for building libjpeg-turbo, libaom, and dav1d from source (default). Must be inPATH.Not required if-DTENSORSTORE_USE_SYSTEM_{JPEG,LIBAOM,DAV1D}=ONis specified.GNU Patchor equivalent. Must be inPATH.
Here is an example of building and installing Argolid in a Python virtual environment.
python -m virtualenv venv
source venv/bin/activate
pip install cmake
git clone https://github.com/sameeul/argolid.git
cd argolid
mkdir build_deps
cd build_deps
sh ../ci_utils/install_prereq_linux.sh
cd ../
export ARGOLID_DER_DIR=./build_deps/local_install
python setup.py install
Usage
PyramidGenerator
Argolid can generate 2D Pyramids from a single image or an image collection with a stitching vector provided. It can generate three different kind of pyramids:
- Neuroglancer compatible Zarr (NG_Zarr)
- Precomputed Neuroglancer (PCNG)
- Viv compatible Zarr (Viv)
Currently, three downsampling methods (mean, mode_max and mode_min) are supported. A dictionary with channel id (integer) as key and downsampling method as value can be passed to specify downsampling method for specific channel. If a channel does not exist as a key in the
dictionary, mean will be used as the default downsampling method
Here is an example of generating a pyramid from a single image.
from argolid import PyramidGenerartor
input_file = "/home/samee/axle/data/test_image.ome.tif"
output_dir = "/home/samee/axle/data/test_image_ome_zarr"
min_dim = 1024
pyr_gen = PyramidGenerartor()
pyr_gen.generate_from_single_image(input_file, output_dir, min_dim, "NG_Zarr", {0:"mode_max"})
Here is an example of generating a pyramid from a collection of images and a stitching vector.
from argolid import PyramidGenerartor
input_dir = "/home/samee/axle/data/intensity1"
file_pattern = "x{x:d}_y{y:d}_c{c:d}.ome.tiff"
output_dir = "/home/samee/axle/data/test_assembly_out"
image_name = "test_image"
min_dim = 1024
pyr_gen = PyramidGenerartor()
pyr_gen.generate_from_image_collection(input_dir, file_pattern, image_name,
output_dir, min_dim, "Viv", {1:"mean"})
Argolid provides two main classes for working with volumetric data and generating multi-resolution pyramids:
VolumeGenerator
The VolumeGenerator class is used to create Zarr arrays from image stacks. It handles reading image files, grouping them based on specified criteria, and writing the data into a Zarr array.
Here's an example of how to use VolumeGenerator:
from argolid import VolumeGenerator
source_dir = "/path/to/image/files"
group_by = "z" # Group images by z-axis
file_pattern = "image_{z:d}.tif"
out_dir = "/path/to/output"
image_name = "my_volume"
volume_gen = VolumeGenerator(source_dir, group_by, file_pattern, out_dir, image_name)
volume_gen.generate_volume()
PyramidGenerator3D
Here is an example of generating a 3D pyramid from a Zarr array:
from argolid import PyramidGenerator3D
zarr_loc_dir = "/path/to/zarr/array"
base_scale_key = 0
num_levels = 5
pyramid_gen = PyramidGenerator3D(zarr_loc_dir, base_scale_key)
pyramid_gen.generate_pyramid(num_levels)
Metadata
Release files for argolid 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 233.8 MB
Release files / argolid-0.0.7-cp313-cp313-win_amd64.whl
| Download URL | argolid-0.0.7-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4f8402e715d781fe79dde758098cb059eaea3c2c410077e758d5f8355e468cfe
|
|
BLAKE2b-256 checksum How to use checksums |
fe52b5b8f14a3075f50b342b7666a01a94f9fb60cacfcf1d61dde68be6151909
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / argolid-0.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | argolid-0.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7bc38814dee773631e04675017ce98b59a8a5b3622a075d9e9d5366fc02b34e
|
|
BLAKE2b-256 checksum How to use checksums |
15ff16b3dcc73dab859a8c01deb1f9b77e1709e5648006288f22432019b100d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | argolid-0.0.7-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b68ebc34aeccd02f4cf724ce6955e255815b037932535cf7d9b618bef4f9786a
|
|
BLAKE2b-256 checksum How to use checksums |
8d14c5c438a46c3eff108bf1029ad0233bcd6b10638a54fdfc75ec94eeacef09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / argolid-0.0.7-cp313-cp313-macosx_10_15_x86_64.whl
| Download URL | argolid-0.0.7-cp313-cp313-macosx_10_15_x86_64.whl |
|---|---|
| Size | 11.3 MB |
| Tags | CPython 3.13 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
c57b97c70c0c19f3bcf12a2a435bd41e5a43ea4eea58d2745d36f17aaf69c8c8
|
|
BLAKE2b-256 checksum How to use checksums |
2cec635857464776eea50a22c3ce861415abf37e16f66295648fb328099daf3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp312-cp312-win_amd64.whl
| Download URL | argolid-0.0.7-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e7f1a69e0db2f46e1ac9c8424652cd7f0e942b403b94cee00a9c1545227f57c5
|
|
BLAKE2b-256 checksum How to use checksums |
9def02e4fab690abc54a3d503d65a1c3854b45d4e379548b685f2610eabc3001
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / argolid-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | argolid-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ac284b0fac134416b13901213084f3e1b71d5d05106c5ff649f6d5af071c873c
|
|
BLAKE2b-256 checksum How to use checksums |
4fcaab7b31ff889dc57c3a5b54df3caec7385eacf541b70d6e7e84f6d67d3e92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | argolid-0.0.7-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c7659bca41b85169444034d4ee3d326158c5248f16cc62ed9ad75755e6bb942a
|
|
BLAKE2b-256 checksum How to use checksums |
57ade9918bd6b7ab1e64beee3e300c3212781f4a97729241404267a844c04434
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / argolid-0.0.7-cp312-cp312-macosx_10_15_x86_64.whl
| Download URL | argolid-0.0.7-cp312-cp312-macosx_10_15_x86_64.whl |
|---|---|
| Size | 11.3 MB |
| Tags | CPython 3.12 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
49d86d5f003c176d5e44bb95baae348a12cb1015c77062443f05318722f5b2ee
|
|
BLAKE2b-256 checksum How to use checksums |
be307c132cd1dc0ac63ab51d9c7105583ccdae22153ee3da4da9b1a0d50e14fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp311-cp311-win_amd64.whl
| Download URL | argolid-0.0.7-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
638879a93999a55d8d78cf477687a19e5a8de643b249e252597332dec0dedb35
|
|
BLAKE2b-256 checksum How to use checksums |
410d2d1f4bfd37fdf0c69e554502f740c653a19c688653df187612b301114b37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / argolid-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | argolid-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6d8017db436fc0ada077e7b2a9d02c044f1cd7de8cf445314e81811fbc2e77d4
|
|
BLAKE2b-256 checksum How to use checksums |
b979b885f35988740230271f2fa9d04e99a03087c8877071c2c618d8026ba12c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | argolid-0.0.7-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b68baa1aab321e725d50084eb72410afd8135f049c577b6d06813b730bb07e04
|
|
BLAKE2b-256 checksum How to use checksums |
21ae25c6b129d3785f37d5f129078e9107f8c31ba0318384aedf119b8eb6e95d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / argolid-0.0.7-cp311-cp311-macosx_10_15_x86_64.whl
| Download URL | argolid-0.0.7-cp311-cp311-macosx_10_15_x86_64.whl |
|---|---|
| Size | 11.3 MB |
| Tags | CPython 3.11 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
ade9c74b120c4da3ed9f2c59551b3ab817c6d22e2326d74cc6077e682c633f97
|
|
BLAKE2b-256 checksum How to use checksums |
adb34749f1faf692bb6ea2acbe5a8160f30c7e5d6b89173344b16a3599f1f153
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp310-cp310-win_amd64.whl
| Download URL | argolid-0.0.7-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9816acde5d5635f2a801b80213a9162efaa4d462f84882fad45ef4e21be131ce
|
|
BLAKE2b-256 checksum How to use checksums |
69e9d65b9218844b3e14b1e69f4f9b3573d303ad929428be25e5274e614850b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / argolid-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | argolid-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8f367fc08c2251549e97254806851a5215a95045b7efed8b0dd78b6e19d89a51
|
|
BLAKE2b-256 checksum How to use checksums |
db877d3c82b653f500087a1e42416f4f347beffd6b464ad5153d2b9306b50c60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | argolid-0.0.7-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
52ef466f93ea6f2921dcb968f4cc970aac6612b48321d8012be6dfdee64e7216
|
|
BLAKE2b-256 checksum How to use checksums |
4f5bd112a24c1cebbb1aeb47134c3b0deca99555fb35bef674e37b7e9fe64a18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / argolid-0.0.7-cp310-cp310-macosx_10_15_x86_64.whl
| Download URL | argolid-0.0.7-cp310-cp310-macosx_10_15_x86_64.whl |
|---|---|
| Size | 11.3 MB |
| Tags | CPython 3.10 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
86c3dd21dc3b97e0a385adce33d91824129318059d4d069814aa32c6b0eade86
|
|
BLAKE2b-256 checksum How to use checksums |
c88574fe6a7f11e5610d6d04581f296ebd7567011d741ea8e9034c4d46422f23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp39-cp39-win_amd64.whl
| Download URL | argolid-0.0.7-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
980ba97a613a8f4407e84979623acd0ea719b73d973879b291d3573b4d8f3619
|
|
BLAKE2b-256 checksum How to use checksums |
96e9d14bb2828f3c1d8253a0f13ac900dc1d68be8acf588d7f71cd7de9344126
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / argolid-0.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | argolid-0.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
86a430eb30edf5f42501e505512dc5b33eb4a6bf64638cd9874a6685baa935bd
|
|
BLAKE2b-256 checksum How to use checksums |
b8aa3983d8e84352d57aa07922956055c4517e94c2fdb5fe8c98b27e8ae4244a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / argolid-0.0.7-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | argolid-0.0.7-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c2daa824d925faa6aa5222784de952b77b6e50d689c151b66a7634da40ee3719
|
|
BLAKE2b-256 checksum How to use checksums |
53b40cac3bcd6b367f478992fdd4fb6d5377e4a963af73ad056b5cff1e194e8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / argolid-0.0.7-cp39-cp39-macosx_10_15_x86_64.whl
| Download URL | argolid-0.0.7-cp39-cp39-macosx_10_15_x86_64.whl |
|---|---|
| Size | 11.3 MB |
| Tags | CPython 3.9 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
36e223f9c1224cedeffadbdc6775914c9e12314c8affec1a70c211c6616e1d38
|
|
BLAKE2b-256 checksum How to use checksums |
b6dc97cb63c6453833e2a0fac4ba215ce79236c70fa593412e5927fbb2b31406
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|