Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
75e5a44
Transformation manager foundation (#1164)
ajkswamy Aug 10, 2026
519a3e2
Transformation manager foundation (#1164)
ajkswamy Aug 10, 2026
3a47dd4
Creates the graph module based on the Ngff* classes
Tomaz-Vieira Aug 21, 2026
e4ff532
addresses some PR comments, simplifies MapAxis
Tomaz-Vieira Sep 2, 2026
796d557
Adds ProjectAxisEdge, makes inverse return optional
Tomaz-Vieira Sep 3, 2026
406375d
Moves exceptions to exceptions.py, edge names default to None
Tomaz-Vieira Sep 4, 2026
db250b4
Use custom exceptions everywhere, adds Raises to docstrings
Tomaz-Vieira Sep 4, 2026
28e13c9
Fix Affine.from_affine_matrix slicing]
Tomaz-Vieira Sep 8, 2026
d7da440
Fix coords bug when reading from OMEZarrMultiscale. Some cleanup
Tomaz-Vieira Sep 8, 2026
7384dd8
Adds test for parsing OMEZarrMultiscale
Tomaz-Vieira Sep 8, 2026
9bf5b28
Adds transformations tests, fixes some slicing bugs
Tomaz-Vieira Sep 9, 2026
14d5b71
Adds basic .sel test to parsed multiscale
Tomaz-Vieira Sep 9, 2026
7b346a1
Removes unused class
Tomaz-Vieira Sep 9, 2026
e3fbe7e
Adds more slicing tests to parsed multiscales
Tomaz-Vieira Sep 9, 2026
ae02611
Adds/fixes comments in try_parse_ngff06_multiscales
Tomaz-Vieira Sep 9, 2026
7ca1476
Removes to_model methods for now
Tomaz-Vieira Sep 9, 2026
13b2a3d
Moves AxisParsingException to exceptions.py
Tomaz-Vieira Sep 9, 2026
ebb6f8a
Moves AxisParsingException back into vert.py to prevent circular imports
Tomaz-Vieira Sep 9, 2026
bf2178f
Fixes docstrings, list exceptions in "Raises"
Tomaz-Vieira Sep 9, 2026
fd74830
Incorporates parse_project_axis
Tomaz-Vieira Sep 9, 2026
1177ee4
Fixes parsing translatiion model getting bad name
Tomaz-Vieira Sep 9, 2026
4fe7f8a
Adds test for parsing *Edge transforms from ngff
Tomaz-Vieira Sep 9, 2026
dcc436b
Fixes dependencies on ome-zarr and ome-zarr-models
Tomaz-Vieira Sep 11, 2026
cec5085
Cleans up transform_points for rotation and affine
Tomaz-Vieira Sep 11, 2026
8327b55
Fixes renamed fields in ome-zarr-models
Tomaz-Vieira Sep 11, 2026
25cfc73
Use frozen dataclasses for CoordSystems and Axis. Fix MapAxisEdge
Tomaz-Vieira Sep 10, 2026
45fb0ff
Enforces Rotation matrix is orthonormal with det==1
Tomaz-Vieira Sep 10, 2026
09c8984
Bump xarray so we can use RangeIndex
Tomaz-Vieira Sep 21, 2026
9de2b15
Removes try-from_model_or_defaul for now
Tomaz-Vieira Sep 21, 2026
155c78a
Emits warning on AffineEdge.inverse when condition is big
Tomaz-Vieira Sep 21, 2026
1298563
Uses matrix in exceptions
Tomaz-Vieira Sep 21, 2026
c346f44
Merge branch 'main' into transformation_manager
ajkswamy Oct 16, 2026
16d1b06
[WIP] Restores from zarr accident
Tomaz-Vieira Oct 21, 2026
7c1bff6
Return SpatialData and Spaces which can be merged with each other
Tomaz-Vieira Oct 21, 2026
30bcf75
Fix loading graph verts in correct order for multiscales and scene
Tomaz-Vieira Oct 21, 2026
5755f1e
Fixes more dumping issues
Tomaz-Vieira Oct 21, 2026
268bd99
More dump fixes. Upstream ome-zarr-py needs some work
Tomaz-Vieira Oct 21, 2026
a575456
Dumb fix for 'discrete' coming form ngff axes
Tomaz-Vieira Oct 22, 2026
61a8083
adds more asserts to scene tests, no passing yet
Tomaz-Vieira Oct 22, 2026
526de05
Reanems FutureSpatialData.__graph to just _graph. Fix tests
Tomaz-Vieira Oct 22, 2026
61ebeff
Adds CsVert.__str__
Tomaz-Vieira Oct 22, 2026
2d99e5f
Adds a test for parsing OMEZarrScene
Tomaz-Vieira Oct 23, 2026
657693e
Adds use OMEZzarrMultiscale(scale_factors=...) in MultiscaleDumper.dump
Tomaz-Vieira Oct 25, 2026
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
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,29 @@ _version.py
# benchmarking and profiling
.asv/
profile.speedscope.json

# other
node_modules/

.mypy_cache
.ruff_cache

# Kilo and plans
.kilo/
plans/

# test coverage
.coverage
htmlcov/

# local hatch config
hatch.toml

# Kilo and plans
.kilo/
plans/

# test coverage
.coverage
htmlcov/

5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ dependencies = [
"networkx",
"numba>=0.55",
"numpy",
"ome-zarr>=0.16",
"ome-zarr>=0.21.0",
"ome-zarr-models>=1.8",
"pandas",
"pooch",
"pyarrow",
Expand All @@ -51,7 +52,7 @@ dependencies = [
"spatial-image>=1.2.3",
"typing-extensions>=4.8",
"universal-pathlib>=0.2.6",
"xarray>=2024.10",
"xarray>=2025.4",
"xarray-spatial>=0.3.5",
"zarr>=3",
]
Expand Down
1 change: 0 additions & 1 deletion src/spatialdata/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
"polygon_query": "spatialdata._core.query.spatial_query",
# _core.spatialdata
"SpatialData": "spatialdata._core.spatialdata",
# _io._utils
"get_dask_backing_files": "spatialdata._io._utils",
# _io.format
"SpatialDataFormatType": "spatialdata._io.format",
Expand Down
2 changes: 2 additions & 0 deletions src/spatialdata/_core/spatialdata.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from zarr.errors import GroupNotFoundError

from spatialdata._core._elements import Images, Labels, Points, Shapes, Tables
from spatialdata._core.transformation_manager import TransformationManager
from spatialdata._core.validation import (
check_all_keys_case_insensitively_unique,
check_target_region_column_symmetry,
Expand Down Expand Up @@ -132,6 +133,7 @@ def __init__(
self._shapes: Shapes = Shapes(shared_keys=self._shared_keys)
self._tables: Tables = Tables(shared_keys=self._shared_keys)
self.attrs = attrs if attrs else {} # type: ignore[assignment]
self.transformation_manager = TransformationManager() # Initialize the TransformationManager

element_names = list(chain.from_iterable([e.keys() for e in [images, labels, points, shapes] if e is not None]))

Expand Down
Loading
Loading