Skip to content

Latest commit

 

History

History
125 lines (115 loc) · 5.43 KB

TODO.md

File metadata and controls

125 lines (115 loc) · 5.43 KB

Todo for the first Alpha Release v0.1.0

I2K 2022 “developing open source image analysis platforms/tools”

Zarr

  • Zarr and in-house data [experimental]

Docs

  • Overview table
    1. .md for maintaining
    2. .html (use table gen service, which I don’t like it... but whatever)
    3. put sample image links
    4. embed in docs and github readme
  • Docs, notebook examples
  • Module docs
  • Quickstart
  • clean README.md
  • Hard-code numbers of datasets so that developers don't need to download all datasets to plot histograms.
    • Modify the plotting notebook accordingly
  • indicate datasets that need pre-parse somehow?

Utils

  • Data vis
  • Models
    • bioimage.io
  • Run and eval models
    • Summary table which model excels in which dataset
  • CommonDataset, CommonMaskDataset
  • re-ordering channels np.ascontiguousarray, 'C' order, arr[..., (2, 1, 0)]
  • random sampling, shuffle in BatchDataLoader
  • DatasetList - [ ] Where to put? types.py is not a good place...
  • Way to set num_samples with transforms argument in Config Two arguments are closely related
  • Metrics for benchmarking (StarDist has done a great job, their license is BSD-3)
  • (maybe nope) Download scripts

Fix

  • Take out those that do not have mask anno and put them in Dataset
    • Implement __getitem__ for Dataset
    • Change base for them
  • Fix data[’mask’] # (b, h, w) → (b, 1, h, w)? (necessary?) Not really necessary? Just have them (b, h, w) for now
  • Fix data['mask'].dtype == bool When mask has a single channel, make them have the same dtype. Albumentations supports only UINT8 and FLOAT32.
    • bool -> uint8
    • or int16 (because why not... mask.dtype does not matter)
  • fix plt.rcParams['image.interpolation'] does not work in ./notebooks/_sample_images.ipynb cv2.resize was an issue, not matplotlib
  • update overview table
    • Reordered
    • Add missing ones
      • BBBC041
  • consistent root_dir. Now it is a mess. We want something described in the docs/user_guides/basic0_prepare_datasets.rst.
  • substitute num_calls with num_samples? (I think samples sound right)
  • Differentiate ● (O) and ● (OI: instance outlines)
  • FRUNet normalize, better way? correct way?
  • number of images, including test sets
  • Load all anno types, if there are more than one (e.g. BBBC007)
  • image_ch if possible (in any case where channels are separable)
    • Done: BBBC006, BBBC020
    • Not done: need to find them
  • BBBC020 anno dir name is not BBBC020* but BBC020*. Need to check if it's the case for both types. Follow BBC020*?

Others

For later

  • Multi-threading LIVECell
  • Config.expand(): concatenate Configs. Q) What if there are overlaps?
  • Refactor __getitem__() for "image" in Dataset and MaskDataset, so that they can share the same code for getting "image". Also it is repeated in output=image and output=both.
  • AnnoDatasetInterface Interface for Dataset with annotation, base for all Dataset with annotation. Currently attr like anno_dict is not an abstract property, though it should be once we have other types, BboxDataset for instance,
  • BboxDataset
    • BBBC041
    • and more
  • 3D [experimental]
    • need 3D augmentation lib
  • Custom augmentation ex) 5 channels
  • time-series

Worth mentioning datasets

All datasets are very unique. Read each docstring for details.

  • BBBC006 The same field of view with varying focus. zind=16 is the most in-focus plane. Thus it loads only zind=16 by default.