- bump tiffwrite
This commit is contained in:
@@ -21,8 +21,8 @@ import yaml
|
||||
from numpy.typing import ArrayLike, DTypeLike
|
||||
from ome_types import OME, from_xml, model, ureg
|
||||
from pint import set_application_registry
|
||||
from tiffwrite import IFD, IJTiffFile # noqa
|
||||
from tqdm.auto import tqdm, trange
|
||||
from tiffwrite import FrameInfo, IJTiffParallel
|
||||
from tqdm.auto import tqdm
|
||||
|
||||
from .jvm import JVM, JVMException
|
||||
from .transforms import Transform, Transforms
|
||||
@@ -50,14 +50,14 @@ class ReaderNotFoundError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class TransformTiff(IJTiffFile):
|
||||
class TransformTiff(IJTiffParallel):
|
||||
""" transform frames in a parallel process to speed up saving """
|
||||
def __init__(self, image: Imread, *args: Any, **kwargs: Any) -> None:
|
||||
self.image = image
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def compress_frame(self, frame: tuple[int, int, int]) -> tuple[IFD, tuple[list[int], list[int]]]:
|
||||
return super().compress_frame(np.asarray(self.image(*frame)).astype(self.dtype))
|
||||
def parallel(self, frame: tuple[int, int, int]) -> tuple[FrameInfo]:
|
||||
return (np.asarray(self.image(*frame)), 0, 0, 0),
|
||||
|
||||
|
||||
class DequeDict(OrderedDict):
|
||||
@@ -398,6 +398,13 @@ class Imread(np.lib.mixins.NDArrayOperatorsMixin, ABC):
|
||||
def __str__(self) -> str:
|
||||
return str(self.path)
|
||||
|
||||
# @property
|
||||
# def __array_interface__(self) -> dict[str, Any]:
|
||||
# return dict(shape=tuple(self.shape), typestr=self.dtype.str, version=3, data=self.tobytes())
|
||||
|
||||
def tobytes(self) -> bytes:
|
||||
return self.flatten().tobytes()
|
||||
|
||||
def __array__(self, dtype: DTypeLike = None, copy: bool = None) -> np.ndarray:
|
||||
if copy is False:
|
||||
raise ValueError("`copy=False` isn't supported. A copy is always created.")
|
||||
@@ -1054,7 +1061,7 @@ class Imread(np.lib.mixins.NDArrayOperatorsMixin, ABC):
|
||||
n[i] = (n[i],)
|
||||
|
||||
shape = [len(i) for i in n]
|
||||
with TransformTiff(self, fname.with_suffix('.tif'), shape, pixel_type,
|
||||
with TransformTiff(self, fname.with_suffix('.tif'), pixel_type,
|
||||
pxsize=self.pxsize_um, deltaz=self.deltaz_um, **kwargs) as tif:
|
||||
for i, m in tqdm(zip(product(*[range(s) for s in shape]), product(*n)), # noqa
|
||||
total=np.prod(shape), desc='Saving tiff', disable=not bar):
|
||||
|
||||
@@ -214,7 +214,7 @@ class Transforms(dict):
|
||||
for file in bead_files:
|
||||
with Imread(file) as im:
|
||||
n_channels = max(n_channels, im.shape['c'])
|
||||
with IJTiffFile(tiffile, (n_channels, 1, len(bead_files))) as tif:
|
||||
with IJTiffFile(tiffile) as tif:
|
||||
for t, file in enumerate(bead_files):
|
||||
with Imread(file) as im:
|
||||
with Imread(file).with_transform() as jm:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "ndbioimage"
|
||||
version = "2024.9.2"
|
||||
version = "2024.10.0"
|
||||
description = "Bio image reading, metadata and some affine registration."
|
||||
authors = ["W. Pomp <w.pomp@nki.nl>"]
|
||||
license = "GPLv3"
|
||||
@@ -16,7 +16,7 @@ numpy = ">=1.20.0"
|
||||
pandas = "*"
|
||||
tifffile = "*"
|
||||
czifile = "2019.7.2"
|
||||
tiffwrite = "*"
|
||||
tiffwrite = ">=2024.10.4"
|
||||
ome-types = ">=0.4.0"
|
||||
pint = "*"
|
||||
tqdm = "*"
|
||||
|
||||
Reference in New Issue
Block a user