Skip to content

Releases: BiaPyX/BiaPy

Version 3.1.0

07 Nov 16:04
Compare
Choose a tag to compare

New functionality added:

General

Major changes

  • Add ResUNet++ model
  • Add TEST.POST_PROCESSING.REMOVE_BY_PROPERTIES, and its options, to remove instances by the conditions based in each instance properties. This merges PROBLEM.INSTANCE_SEG.WATERSHED_CIRCULARITY, PROBLEM.INSTANCE_SEG.DATA_REMOVE_SMALL_OBJ_AFTER and PROBLEM.INSTANCE_SEG.DATA_REMOVE_SMALL_OBJ_AFTER functionalities.
  • New options and upgrades to save memory:
    • Move normalization to load_sample function inside the generators if DATA.*.IN_MEMORY is selected, which allows to have in memory the dataset in its original dtype (usuarlly uint8 or uint16) and not in float32, consuming less memory, at the cost of having to do the normalization per batch.
    • UpdateTEST.REDUCE_MEMORY option to reduce also the dtype of the prediction from float32 to float16
    • Add TEST.BY_CHUNKS, and its options, to process large images by chunks: load/save steps work with H5 or Zarr formats. This option helps to generate model's prediction with overlap/padding with low memory footprint by constructing it patch by patch. It is also prepared to do multi-GPU inference to accelerate the reconstruction process. It can also work loading TIF images but with H5 and Zarr only the patches processed are loaded into memory, and nothing else, so you can should scale to TB of data without having memory problems.
    • Add TEST.BY_CHUNKS.WORKFLOW_PROCESS, and a few more options related to it, to continue or not the workflow normal steps after the model prediction. With TEST.BY_CHUNKS.WORKFLOW_PROCESS.TYPE you can tell the worklow to process the predicted image patch by patch or as just one image. By patch option is currently only supported in DETECTION workflow.

Minor changes

  • Delete MODEL.KERNEL_INIT
  • TRAIN.PATIENCE default changed to -1
  • Add utils/scripts/h5_to_zarr.py auxiliary script
  • Now warmupcosinelearning rate scheduler is done by iterations and not by epochs.
  • Update notebooks to work with BiaPy based on Pytorch

Workflows

Instance segmentation

  • Add TEST.POST_PROCESSING.CLEAR_BORDER to remove instances in the border

Denoising

  • Change N2V masks to be created always on the fly (saving memory)

Detection

  • Remove TEST.DET_LOCAL_MAX_COORDS option
  • Add TEST.DET_POINT_CREATION_FUNCTION, and a few more options related to it, to decide whether to use peak_local_max or blob_log (from scikit-image) functions to create the final points from probabilities.

SSL

  • Add MODEL.MAE_MASK_RATIO option

SR

  • Add 3D support
  • Add notebooks

Bugs fixed:

  • Correct bug on 2D UNETR definition
  • Fix bug in 2D cross validation
  • Minor bugs created when switching from Tensorflow to Pytorch

Version 3.0

22 Sep 13:20
Compare
Choose a tag to compare

Major changes:

  • Move all code to Pytorch
@inproceedings{franco2023biapy,
  title={BiaPy: a ready-to-use library for Bioimage Analysis Pipelines},
  author={Franco-Barranco, Daniel and Andr{\'e}s-San Rom{\'a}n, Jes{\'u}s A and G{\'o}mez-G{\'a}lvez, Pedro and Escudero, Luis M and Mu{\~n}oz-Barrutia, Arrate and Arganda-Carreras, Ignacio},
  booktitle={2023 IEEE 20th International Symposium on Biomedical Imaging (ISBI)},
  pages={1--5},
  year={2023},
  organization={IEEE}
}

Version 1.0

14 Oct 08:42
Compare
Choose a tag to compare

This version of the project should be used to reproduce all the results reported in the following work:

@misc{francobarranco2021stable,
      title={Stable deep neural network architectures for mitochondria segmentation on electron microscopy volumes}, 
      author={Daniel Franco-Barranco and Arrate Muñoz-Barrutia and Ignacio Arganda-Carreras},
      year={2021},
      eprint={2104.03577},
      archivePrefix={arXiv},
      primaryClass={eess.IV}
}

For here on we will move to newest versions of Tensorflow/Keras and some parts of the code could change.

Version 2.0

30 Sep 07:31
Compare
Choose a tag to compare

Major changes:

  • Merge all pipelines, 2D/3D/semantic seg., in one.
  • Delete templates and work with YAML configuration files
  • Add instance segmentation pipeline
    • Add models: U-Net 2D ResUNet 2D/3D for instance seg.
    • BCD channel data creation
    • Marked watershed based in BCD to create instances
    • mAP calculation
  • Update 2D/3D data generators with new data augmentation
  • One-cycle policy and cosine decay schedulers
  • Update documentation and create tutorials