- Fix bug wrt. supporting non-file images.
- Make layers optional in czi metadata. - Delta_t for tif.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user