Version 3.5.13
Major:
- Completely restructure the inference by chunks (closing #91):
- A custom Pytorch dataloader is used to speed up the process taking into account number of workers and multiple GPUs
- Now this inference always creates a Zarr, even if the inputs are H5 files, thus,
TEST.BY_CHUNKS.FORMATwas removed - Now to division mask is needed, speeding up the process and saving disk space
- Complete synapse detection pipeline by adding metrics, debug files, etc. Now it should not be experimental anymore
- Add remove close points by distance+mask as post-processing for the synapses (
remove_close_points_by_maskfunction)
Minor:
- Add two optional cells in the inference notebook to transform 3D images/videos into 2D images, and the inverse task after prediction. This allows the users to process 3D data using a 2D model (closing #115)
- Add
Bchannel in synapse segmentation - Merge train/test/val instance creation into one function
- Add
zarr_to_tif.pyutility script - Change
SYSTEM.NUM_WORKERSdefault value to-1and remove it from all templates (closing #114). - Make
ensure_3d_shapefunction more robust andwrite_chunked_datato write in'ZYXC' axes order always - Move activations into
model_callfunction, removing redundant code (closing #110) - Add new losses description in
SR,SSLandI2Iworkflows - Add option to ignore a value in instance masks (still experimental)
- Add
TEST.DET_TH_TYPEoption - Add
PROBLEM.INSTANCE_SEG.SYNAPSES.TH_TYPEoption - Add a new feature to export the calculated metrics into a CSV file (closing #116 and #117)
- Change the way saved cfg in checkpoint is merged with the current cfg (now it is more robust as the cfg is always translated into the current version)
- Move to
bioimageio.core==0.8.0version - Update notebooks:
- Move installation up to restart notebook after reinstalling numpy
- Update BMZ cell with latest fields
Bugs fixed:
- Disable norm by image when using Zarr/H5 images
- Fix error when instances were generated using a Zarr/H5, as the axes need to be modified always in the next runs so the user does not need to know how the data was created/axes order
- Solve minor bug in blocks.py that lead to errors while building U-Next models.
- Ensure only the input cfg is copied one time in DDP setting
- Solve problem in during shape mismatch check
- Avoid copying
gt_associated_idalways, reducing the amount of memory for training - Make ensemble functions work as before returning a
torch.Tensor - Reduce the code in
I2Iworkflow reusingpredict_batches_in_test - Remove
convert_old_model_cfg_to_current_versionfrommisc.pyso to use the one frombiapy.engine.check_configurationinstead - Add
MODEL.BMZ.EXPORT.DATASET_INFOwhen converting the an old cfg into the current version - Fix error during old cfg conversion with
PATHS.LWR_Y_FILEold key - Relax
test25constraints and fixDapi_datasetpath - Correct
load_data_from_dirfunction converting it to the way we load data before by just giving a path (closing #109) - Solve
diff_between_configsfunction - Solve edge problem with
by_chunks_collate_fnfunction - Adapt chunks size of the of the Zarr to be created in by chunks setting by transposing the axes into the Zarr axe order
Full Changelog: v3.5.12...v3.5.13