- allow None in Transform.from_dict

- None transform parameters -> unit parameters/matrix
This commit is contained in:
Wim Pomp
2025-02-14 15:45:43 +01:00
parent cb52e77c34
commit 6daa372ccf
3 changed files with 14 additions and 11 deletions

View File

@@ -24,8 +24,8 @@ from pint import set_application_registry
from tiffwrite import FrameInfo, IJTiffParallel
from tqdm.auto import tqdm
from .jvm import JVM, JVMException
from .transforms import Transform, Transforms
from .jvm import JVM, JVMException # noqa: F401
from .transforms import Transform, Transforms # noqa: F401
try:
__version__ = version(Path(__file__).parent.name)
@@ -596,12 +596,12 @@ class Imread(np.lib.mixins.NDArrayOperatorsMixin, ABC):
elif self.path.with_suffix('.pzl').exists():
pname = self.path.with_suffix('.pzl')
else:
return
return None
try:
return self.get_config(pname)
except Exception: # noqa
return
return
return None
return None
@property
def ndim(self) -> int:

View File

@@ -321,11 +321,12 @@ class Transform:
@classmethod
def from_dict(cls, d):
new = cls()
new.origin = [None if i is None else float(i) for i in d['CenterOfRotationPoint']]
new.parameters = [None if i is None else float(i) for i in d['TransformParameters']]
new.dparameters = ([None if i is None else float(i) for i in d['dTransformParameters']]
if 'dTransformParameters' in d else 6 * [np.nan])
new.shape = [None if i is None else float(i) for i in d['Size']]
new.origin = None if d['CenterOfRotationPoint'] is None else [float(i) for i in d['CenterOfRotationPoint']]
new.parameters = ((1., 0., 0., 1., 0., 0.) if d['TransformParameters'] is None else
[float(i) for i in d['TransformParameters']])
new.dparameters = ([(0., 0., 0., 0., 0., 0.) if i is None else float(i) for i in d['dTransformParameters']]
if 'dTransformParameters' in d else 6 * [np.nan] and d['dTransformParameters'] is not None)
new.shape = None if d['Size'] is None else [None if i is None else float(i) for i in d['Size']]
return new
def __mul__(self, other): # TODO: take care of dmatrix
@@ -382,6 +383,8 @@ class Transform:
def parameters(self):
if self.transform is not None:
return list(self.transform.GetParameters())
else:
return [1., 0., 0., 1., 0., 0.]
@parameters.setter
def parameters(self, value):

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "ndbioimage"
version = "2025.2.0"
version = "2025.2.1"
description = "Bio image reading, metadata and some affine registration."
authors = ["W. Pomp <w.pomp@nki.nl>"]
license = "GPLv3"