Skip to content

Commit 9cb6f80

Browse files
Add classes for coordinate spaces and transforms (#218)
New classes: * Axis: simple data class storing a name, optional units, and optional scale * CoordinateSpace: used to define coordinate spaces for spatial data * CoordinateTransform: abstract base class for coordinate transforms * AffineTransform: implementation for a generic affine coordinate transform * ScaleTransform: implementation for a coordinate transform that scales axes (may be isotropic/uniform) * IdentityTransform: implementation for an identity transform that only applies a name change to axes --------- Co-authored-by: paul fisher <[email protected]>
1 parent 4b2ccca commit 9cb6f80

File tree

4 files changed

+730
-1
lines changed

4 files changed

+730
-1
lines changed

python-spec/src/somacore/__init__.py

+14
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717
from .base import SOMAObject
1818
from .collection import Collection
19+
from .coordinates import AffineTransform
20+
from .coordinates import Axis
21+
from .coordinates import CoordinateSpace
22+
from .coordinates import CoordinateTransform
23+
from .coordinates import IdentityTransform
24+
from .coordinates import ScaleTransform
25+
from .coordinates import UniformScaleTransform
1926
from .data import DataFrame
2027
from .data import DenseNDArray
2128
from .data import NDArray
@@ -61,4 +68,11 @@
6168
"AxisQuery",
6269
"ExperimentAxisQuery",
6370
"ContextBase",
71+
"Axis",
72+
"CoordinateSpace",
73+
"CoordinateTransform",
74+
"AffineTransform",
75+
"ScaleTransform",
76+
"UniformScaleTransform",
77+
"IdentityTransform",
6478
)

0 commit comments

Comments
 (0)