From e6b683e279a440c27cb8c272e8c7b43e35f0123d Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Thu, 28 Mar 2024 01:50:47 +0100 Subject: Printing TimestampedImage as ndarray. Fixing PipelineStepObject.properties. --- src/argaze/DataFeatures.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/argaze/DataFeatures.py b/src/argaze/DataFeatures.py index 6ae0603..48a5b08 100644 --- a/src/argaze/DataFeatures.py +++ b/src/argaze/DataFeatures.py @@ -79,7 +79,7 @@ def properties(cls) -> list: """get class properties name.""" properties = [name for name, item in cls.__dict__.items() if isinstance(item, property)] - + for base in cls.__bases__: for name, item in base.__dict__.items(): @@ -917,7 +917,7 @@ class PipelineStepObject(): output += f'{tabs}\t - {v}\n' - elif type(value) == numpy.ndarray: + elif type(value) == numpy.ndarray or type(value) == TimestampedImage: output += f'numpy.array{value.shape}\n' @@ -961,21 +961,21 @@ class PipelineStepObject(): def properties(self) -> tuple[name, any]: """Iterate over pipeline step properties values.""" - for name, item in self.__class__.__dict__.items(): - - if isinstance(item, property): + properties = [name for name, item in self.__class__.__dict__.items() if isinstance(item, property)] - yield name, getattr(self, name) - for base in self.__class__.__bases__: if base != PipelineStepObject and base != SharedObject: for name, item in base.__dict__.items(): - if isinstance(item, property): + if isinstance(item, property) and not name in properties: + + properties.append(name) + + for name in properties: - yield name, getattr(self, name) + yield name, getattr(self, name) @property def children(self) -> object: -- cgit v1.1