- Fix bug wrt. supporting non-file images.

- Make layers optional in czi metadata.
- Delta_t for tif.
This commit is contained in:
Wim Pomp
2024-02-13 17:46:23 +01:00
parent 735523aba0
commit 8a66c570a6
4 changed files with 8 additions and 6 deletions

View File

@@ -962,11 +962,11 @@ class AbstractReader(Imread, metaclass=ABCMeta):
if isinstance(path, str):
path = Path(path)
self.path, self.series = self.split_path_series(path)
if isinstance(path, Path):
if isinstance(path, Path) and path.exists():
self.title = self.path.name
self.acquisitiondate = datetime.fromtimestamp(self.path.stat().st_mtime).strftime('%y-%m-%dT%H:%M:%S')
else: # ndarray
self.title = 'ndarray'
self.title = self.__class__.__name__
self.acquisitiondate = 'now'
self.reader = None

View File

@@ -354,7 +354,7 @@ class Reader(AbstractReader, ABC):
model.Plane(the_c=c, the_z=z, the_t=t, delta_t=delta_ts[t], exposure_time=exposure_times[c]))
idx = 0
for layer in metadata.find("Layers"):
for layer in metadata.find("Layers") or []:
rectangle = layer.find("Elements").find("Rectangle")
if rectangle is not None:
geometry = rectangle.find("Geometry")
@@ -552,7 +552,7 @@ class Reader(AbstractReader, ABC):
position_z=float(positions.attrib["Z"]), position_z_unit=um))
idx = 0
for layer in metadata.find("Layers"):
for layer in [] if (ml := metadata.find("Layers")) is None else ml:
rectangle = layer.find("Elements").find("Rectangle")
if rectangle is not None:
geometry = rectangle.find("Geometry")

View File

@@ -51,6 +51,8 @@ class Reader(AbstractReader, ABC):
'float', 'double', 'complex', 'double-complex', 'bit'):
dtype = 'float'
interval_t = metadata.get('interval', 0)
ome = model.OME()
ome.instruments.append(model.Instrument(id='Instrument:0'))
ome.instruments[0].objectives.append(model.Objective(id='Objective:0'))
@@ -63,7 +65,7 @@ class Reader(AbstractReader, ABC):
dimension_order="XYCZT", type=dtype, physical_size_x=pxsize, physical_size_y=pxsize),
objective_settings=model.ObjectiveSettings(id="Objective:0")))
for c, z, t in product(range(size_c), range(size_z), range(size_t)):
ome.images[0].pixels.planes.append(model.Plane(the_c=c, the_z=z, the_t=t, delta_t=0))
ome.images[0].pixels.planes.append(model.Plane(the_c=c, the_z=z, the_t=t, delta_t=interval_t * t))
return ome
def open(self):

View File

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