Skip to content

Instantly share code, notes, and snippets.

@conradry
conradry / async_zarr_kornia_demo.py
Created April 24, 2026 17:06
Pytorch dataloader for zarr using async and kornia augmentation
"""Minimal ``AsyncZarrDataset`` pattern: async zarr crop reads + kornia collate.
Shows a :class:`torch.utils.data.Dataset` that fans out bounding-box crop reads
via ``zarr.AsyncArray.getitem`` + ``asyncio.gather``, decoded by the ``zarrs``
Rust codec pipeline. A kornia ``AugmentationSequential`` is wired as the
DataLoader ``collate_fn`` so stacking, device upload, and augmentation happen
in one batched call.
The zarr handle is opened lazily in ``_ensure_initialized`` rather than
``__init__`` so the dataset stays picklable across spawn-based workers (the
import zarr
import argparse
import numpy as np
from empanada.inference.tracker import InstanceTracker
from empanada.inference import filters
from empanada.inference.patterns import fill_volume
from empanada.consensus import merge_objects_from_trackers
if __name__ == '__main__':
parser = argparse.ArgumentParser()
@conradry
conradry / run_length_encode_zarr.py
Created October 5, 2022 15:30
Run length encode a zarr labelmap
import os
import zarr
import argparse
import numpy as np
from empanada.inference.tracker import InstanceTracker
from empanada.inference.rle import pan_seg_to_rle_seg, rle_seg_to_pan_seg
from tqdm import tqdm
if __name__ == '__main__':
parser = argparse.ArgumentParser()
@conradry
conradry / download_cellmap.py
Last active January 22, 2024 18:58
Script to download cellmap ground truth data
import os
import numpy as np
from fibsem_tools import io
from skimage.io import imsave
from scipy.ndimage import zoom
datasets = [
'jrc_hela-2',
'jrc_hela-3',
'jrc_jurkat-1',