From 7402b4d1f75aea1448f6c9d9b2b8f283444b43b3 Mon Sep 17 00:00:00 2001 From: Russel Torres Date: Sun, 7 Jun 2026 20:01:25 -0700 Subject: [PATCH 1/3] integration: dynamic build versioning and update tifffile req --- pyproject.toml | 5 ++--- requirements.txt | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b48a56e..0195b64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,8 +2,7 @@ name = "acpreprocessing" description = "Axonal connectomics processing" requires-python = ">3.8,<3.12" -version = "0.0.1" -dynamic = ["dependencies"] +dynamic = ["dependencies", "version"] [tool.setuptools.dynamic] dependencies = { file = ["requirements.txt"] } @@ -41,7 +40,7 @@ acpreprocessing = { path = ".", editable = true } # conda-enabled features [tool.pixi.feature.pixi-base.dependencies] -numpy = "1.26.0" +numpy = "*" imageio = "*" matplotlib = "*" diff --git a/requirements.txt b/requirements.txt index aa4d7c2..aa3751f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ pillow -tifffile==2020.7.4 +tifffile>=2020.7.4 scikit-image -numpy==1.26.0 +numpy imageio # "imageio<2.21", matplotlib @@ -10,4 +10,4 @@ natsort requests cloud-volume>=8.5.5 zarr -h5py \ No newline at end of file +h5py From ef658f5da80fa991be6414abe5fe6aabc36cdfdc Mon Sep 17 00:00:00 2001 From: Russel Torres Date: Sun, 7 Jun 2026 20:03:22 -0700 Subject: [PATCH 2/3] README: add level of support --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index be38183..81af4b9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # axonal_connectomics Repository for tools developed for axonal connectomics +### Level of Support +We are planning on occasional updating this tool with no fixed schedule. Community involvement is encouraged through both issues and pull requests. Please make pull requests against the develop branch, as we will test changes there before merging into main. + # Stitching modules ## Deskew and zarr conversion acpreprocessing.stitching_modules.convert_to_n5.tiff_to_ngff From 7674d9844f6d7ca9677a5ddd9309d4d8f60cfc4a Mon Sep 17 00:00:00 2001 From: Connor Laughland <71669181+conochur@users.noreply.github.com> Date: Tue, 9 Jun 2026 15:03:32 -0700 Subject: [PATCH 3/3] Update README.md added stitching command line calls --- README.md | 57 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 81af4b9..e6cf31b 100644 --- a/README.md +++ b/README.md @@ -4,30 +4,45 @@ Repository for tools developed for axonal connectomics ### Level of Support We are planning on occasional updating this tool with no fixed schedule. Community involvement is encouraged through both issues and pull requests. Please make pull requests against the develop branch, as we will test changes there before merging into main. -# Stitching modules -## Deskew and zarr conversion -acpreprocessing.stitching_modules.convert_to_n5.tiff_to_ngff -- Sequentially reads image arrays from a tiff stack series for pixel-wise deskew (optional), for computing a downsampling pyramid to a user-defined depth, and for writing out the data volume into a next-generation file format (zarr v3). - -## Tile stitching -acpreprocessing.stitching_modules.acstitch.stitch -- Generate point correspondences between tiles from template matching or SIFT features at user-defined resolution level (mip). +### Methods -## Stitching requirements: -Set these env variables: -``` -export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 -export PATH=$JAVA_HOME/bin:$PATH -export SPARK_LOCAL_IP=127.0.1.1 +**Deskew and zarr conversion** +`acpreprocessing.stitching_modules.convert_to_n5.tiff_to_ngff` +- Sequentially reads image arrays from a tiff stack series for pixel-wise deskew (optional), for computing a downsampling pyramid to a user-defined depth, and for writing out the data volume into a next-generation file format (zarr v3). ``` -- To run: +python zarrv3_to_zarr.py \ +--input_file PATH_TO_INPUT_ZARR_FILE \ +--output_file PATH_TO_OUTPUT_ZARR_FILE \ +--group_names LIST_OF_GROUP_NAMES \ +--group_attributes LIST_OF_GROUP_ATTRIBUTE_DICTS \ +--block_concurrency SLICE_LEVEL_CONCURRENCY_DEFAULT_1 \ +--deskew_options DICT_OF_DESKEW_OPTIONS ``` -docker build -t ac-stitch . -docker run \ --v /ACdata:/ACdata \ --v /ispim2_data:/ispim2_data \ --dit ac-stitch +**Point extraction** +`acpreprocessing.stitching_modules.acstitch.extract_points` +- Detects blob features within user-defined ROIs of a source tile and generates initial point correspondences with a target tile using the estimated tile offset. +``` +python extract_points.py \ +--p_tile PATH_TO_SOURCE_TILE \ +--q_tile PATH_TO_TARGET_TILE \ +--output_file PATH_TO_OUTPUT_POINTMATCH_FILE \ +--mip_lvl MIP_LEVEL_DEFAULT_0 \ +--roi_file PATH_TO_ROI_JSON_FILE \ +--method BLOB_DETECTION_METHOD_log_dog_OR_doh \ +--blob_kwargs DICT_OF_BLOB_DETECTION_KWARGS \ +--n_points NUMBER_OF_POINTS_PER_ROI_DEFAULT_1 +``` -docker exec python examples/runmodules.py +**Tile stitching** +`acpreprocessing.stitching_modules.acstitch.stitch` +- Generate point correspondences between tiles from template matching or SIFT features at user-defined resolution level (mip). +``` +python stitch_tiles.py \ +--input_file PATH_TO_INPUT_POINTMATCH_FILE \ +--output_file PATH_TO_OUTPUT_POINTMATCH_FILE \ +--stitch_method STITCH_METHOD_ccorr_OR_sift \ +--miplvl MIP_LEVEL_DEFAULT_0 \ +--sift_kwargs DICT_OF_SIFT_KWARGS \ +--stitch_kwargs DICT_OF_STITCH_KWARGS ```