Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
run_tests:
strategy:
matrix:
python_version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
python_version: ["3.11", "3.12", "3.13", "3.14"]
os: [ubuntu-24.04, macos-14]
runs-on: ${{ matrix.os }}
env:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@ cython_debug/
data/*
testing.ipynb
test_data/*
src/zedprofiler/_version.py
3 changes: 3 additions & 0 deletions docs/src/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
#
import pathlib
import sys
import warnings

warnings.filterwarnings("ignore", category=SyntaxWarning, module="mahotas")

basedir = str(pathlib.Path(__file__).parent.parent.parent.resolve())

Expand Down
44 changes: 37 additions & 7 deletions docs/src/notebooks/walkthrough.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,25 @@
]
}
],
"source": "import warnings\nimport logging\nimport pathlib\n\nimport numpy as np\nimport pandas as pd\nimport tifffile\nfrom itables import show\n\nimport zedprofiler\nfrom zedprofiler.IO import loading_classes\n\nlogging.basicConfig(level=logging.WARNING)\nlogging.getLogger(\"matplotlib\").setLevel(logging.WARNING)\nwarnings.filterwarnings(\"ignore\", category=SyntaxWarning, module=\"mahotas\")"
"source": [
"import logging\n",
"import warnings\n",
"\n",
"# suppress third-party noise before any imports\n",
"logging.basicConfig(level=logging.WARNING)\n",
"logging.getLogger(\"matplotlib\").setLevel(logging.WARNING)\n",
"warnings.filterwarnings(\"ignore\", category=SyntaxWarning, module=\"mahotas\")\n",
"\n",
"import pathlib\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import tifffile\n",
"from itables import show\n",
"\n",
"import zedprofiler\n",
"from zedprofiler.IO import loading_classes"
]
},
{
"cell_type": "markdown",
Expand Down Expand Up @@ -456,7 +474,9 @@
"\n",
"Key parameters:\n",
"- `thr`: minimum pixel intensity threshold below which pixels are excluded\n",
"- `fast_costes`: `\"Accurate\"` uses the full bisection algorithm for the Costes threshold; `\"Fast\"` uses a linear approximation"
"- `fast_costes`: `\"Accurate\"` uses the full bisection algorithm for the Costes threshold; `\"Fast\"` uses a linear approximation\n",
"\n",
"*For full feature definitions, see the [Colocalization](../features/colocalization.md) reference page.*"
]
},
{
Expand Down Expand Up @@ -494,7 +514,9 @@
"- `radius`: radius of the structuring element used for background subtraction before the spectrum is computed\n",
"- `subsample_size`: fraction of the image used during spectrum computation (speeds up processing on large volumes)\n",
"- `image_sample_size`: fraction used for background estimation\n",
"- `mask_threshold`: threshold applied after interpolation to define the object mask"
"- `mask_threshold`: threshold applied after interpolation to define the object mask\n",
"\n",
"*For full feature definitions, see the [Granularity](../features/granularity.md) reference page.*"
]
},
{
Expand Down Expand Up @@ -533,7 +555,9 @@
"- **Mean, median, standard deviation, max, min** of voxel intensities\n",
"- **Integrated intensity**: sum of all voxel intensities (correlated with object volume)\n",
"- **Mass displacement**: distance between the object's geometric centroid and its intensity-weighted centroid, indicating asymmetric signal distribution\n",
"- **Lower/upper quartile intensities**: robust measures of the intensity distribution"
"- **Lower/upper quartile intensities**: robust measures of the intensity distribution\n",
"\n",
"*For full feature definitions, see the [Intensity](../features/intensity.md) reference page.*"
]
},
{
Expand Down Expand Up @@ -565,7 +589,9 @@
"\n",
"Key parameters:\n",
"- `distance_threshold`: maximum centroid-to-centroid distance (in voxels) for two objects to be considered neighbors\n",
"- `anisotropy_factor`: the ratio of z-spacing to xy-spacing (`anisotropy_spacing[0] / anisotropy_spacing[1]`); used to rescale z-distances to physical units before computing Euclidean distances, ensuring accurate neighbor relationships in anisotropic volumes"
"- `anisotropy_factor`: the ratio of z-spacing to xy-spacing (`anisotropy_spacing[0] / anisotropy_spacing[1]`); used to rescale z-distances to physical units before computing Euclidean distances, ensuring accurate neighbor relationships in anisotropic volumes\n",
"\n",
"*For full feature definitions, see the [Neighbors](../features/neighbors.md) reference page.*"
]
},
{
Expand Down Expand Up @@ -602,7 +628,9 @@
"\n",
"Key parameters:\n",
"- `distance`: the pixel offset at which co-occurrence is measured; larger values capture coarser texture patterns\n",
"- `grayscale`: the number of intensity bins used to quantize the image before computing the GLCM; fewer bins are faster but lose intensity resolution"
"- `grayscale`: the number of intensity bins used to quantize the image before computing the GLCM; fewer bins are faster but lose intensity resolution\n",
"\n",
"*For full feature definitions, see the [Texture](../features/texture.md) reference page.*"
]
},
{
Expand Down Expand Up @@ -640,7 +668,9 @@
"- **Extent**: ratio of object volume to bounding box volume (compactness)\n",
"- **Euler number**: topological measure of holes/tunnels in the object\n",
"- **Equivalent diameter**: diameter of a sphere with the same volume\n",
"- **Surface area**: estimated via marching cubes on the object boundary"
"- **Surface area**: estimated via marching cubes on the object boundary\n",
"\n",
"*For full feature definitions, see the [Volume, Size, and Shape](../features/areasizeshape.md) reference page.*"
]
},
{
Expand Down
24 changes: 16 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,26 @@ requires = [ "setuptools>=82.0.1", "setuptools-scm>=10.0.5" ]

[project]
name = "zedprofiler"
version = "0.0.1"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verifying that there is no replacement for this line? Dropping all together?

description = "CPU-first handcrafted 3D featurization toolkit for high-throughput profiling"
readme = "README.md"
license = { file = "LICENSE" }
authors = [
{ name = "Your NameWay Lab" },
{ name = "Mike Lippincott" },
{ name = "Dave Bunten" },
{ name = "Jenna Tomkinson" },
{ name = "Vincent Rubinetti" },
{ name = "Gregory Way" },
]
requires-python = ">=3.13"
requires-python = ">=3.11,<3.15"
classifiers = [
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dynamic = [ "version" ]
dependencies = [
"beartype>=0.19",
"bioio>=3.3",
Expand All @@ -29,10 +37,10 @@ dependencies = [
"pyarrow>=23.0.1",
"pydantic>=2.10",
"scikit-image>=0.26",
"sphinx-conestack-theme>=1.1.1",
"sphinx-rtd-theme>=3.1",
"tomli>=2.4.1",
]
urls.Homepage = "https://zedprofiler.readthedocs.io"
urls.Repository = "https://github.com/WayScience/ZedProfiler"
scripts.ZedProfiler = "ZedProfiler.cli:trigger"

[dependency-groups]
Expand All @@ -48,8 +56,8 @@ docs = [
"myst-nb>=1.4",
"plotly>=6.8",
"pycytominer>=1.6",
"pydata-sphinx-theme>=0.17",
"sphinx>=9.1",
"sphinx>=7",
"sphinx-rtd-theme>=3.1",
]
notebooks = [
"black>=26.3.1",
Expand All @@ -60,7 +68,7 @@ notebooks = [
]

[tool.setuptools_scm]
version_file = "src/ZedProfiler/_version.py"
version_file = "src/zedprofiler/_version.py"
version_scheme = "no-guess-dev"
local_scheme = "no-local-version"
root = "."
Expand Down
3 changes: 0 additions & 3 deletions src/zedprofiler/_version.py

This file was deleted.

Loading
Loading