Version 3.1.0
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 mergesPROBLEM.INSTANCE_SEG.WATERSHED_CIRCULARITY
,PROBLEM.INSTANCE_SEG.DATA_REMOVE_SMALL_OBJ_AFTER
andPROBLEM.INSTANCE_SEG.DATA_REMOVE_SMALL_OBJ_AFTER
functionalities. - New options and upgrades to save memory:
- Move normalization to
load_sample
function inside the generators ifDATA.*.IN_MEMORY
is selected, which allows to have in memory the dataset in its original dtype (usuarllyuint8
oruint16
) and not infloat32
, consuming less memory, at the cost of having to do the normalization per batch. - Update
TEST.REDUCE_MEMORY
option to reduce also the dtype of the prediction fromfloat32
tofloat16
- Add
TEST.BY_CHUNKS
, and its options, to process large images by chunks: load/save steps work withH5
orZarr
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 loadingTIF
images but withH5
andZarr
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. WithTEST.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 inDETECTION
workflow.
- Move normalization to
Minor changes
- Delete
MODEL.KERNEL_INIT
TRAIN.PATIENCE
default changed to-1
- Add
utils/scripts/h5_to_zarr.py
auxiliary script - Now
warmupcosine
learning 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 usepeak_local_max
orblob_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