Major:
- Adapt `DFCAN` to 3D and add SSIM-based loss
- Adapt `RCAN` to 3D
- Ensure appropiate data range when calculating metrics in `SR`, `SSL` and `I2I` workflows.
- Implement more data/sample filtering methods: `'target_mean'`, `'target_min'`, `'target_max'`, `'diff'`, `'diff_by_min_max_ratio'`, `'diff_by_target_min_max_ratio'`
- Distribute better loading data code into classes
- Add in all most code Typing checks for Pydantic/Pylance
- Rename `'custom'` normalization into `'zero_mean_unit_variance'`
- Separate into a class the normalization module to reduce repeated code
- Avoid doing normalization for test GT data in `I2I`, `SR`, `SSL` and `Denoising`
- Organize metrics for `I2I`, `SR` and `SSL` depending on train and test
- Avoid creating X data during `Instance segmentation` saving disk space
- Improve `Detection` workflow when multihead output is created
- Add `SSIM`, `W_MAE_SSIM` and `W_MSE_SSIM` losses for `I2I`, `SR` and `SSL` workflows
- Move some variables from `TEST.BY_CHUNKS` to `DATA.TEST`
Minor:
- Change 2D image load to be more robust
- BMZ connection:
- Add task description option
- Add model version
- Change `env.yaml` created
- Change BMZ model import message error
- Add more `Instance segmentation` model support when consuming BMZ models
- Allow multiple ddp runs without closing the process group initialization
- Add script to change a parameter in the RDF file of a BMZ model
- Update DDP messages and wait points
- Remove mixed precision in evaluation
- Add `find_unused_parameters` when using `resunet_se` with DDP
- Add more information while gathering training/validation data
- Add more options to tune `RCAN` model
- Add script for blur estimation
- Add script to measure similarity metrics common in `I2I` and `SR` workflows
- Add tensor conversion in metric calculation
- Add changes to `convert_old_model_cfg_to_current_version` in order to convert old configurations into new
- Upgrade filtering saving examples of the patches/images filtered so the user can check them
- Change `DATA.FILTER_BY_IMAGE` default value to `False`
- Wrap rotate function to allow `float16`
Bugs fixed:
- Fix minor bug in instance segmentation when test is not enabled and test path does not exist
- Instance masks folder name update to not set always contour info
- Solve bugs in `U-Next V1` and `U-Next V2` models when using more than one channel
- Fix 3D `U-NeXt` models
- BMZ connection:
- Resize cover to ensure the shape
- Avoid adding duplicate tags
- Ensure only a patch is taken for BMZ input when working with H5/Zarr files
- Ensure only `pytorch_state_dict` models are consumed
- Correct `C` channel activation during `Instance segmentation` when it is used alone.
- Fix minor error during `MODEL.BMZ.EXPORT.DATASET_INFO` check
- Solve minor bug in `convert_old_model_cfg_to_current_version` function
- Fix conversion to RGB in generators
- Fix problem with `TEST.REDUCE_MEMORY`
- Calculate metrics when reusing predictions (`TEST.REUSE_PREDICTIONS`). They are calculated as `"merge_patches"`
- Allow `SSL` pretrainings during model check
- Add restrictions in `SR`, `SSL` and `I2I` workflows to not use `wdsr` in 3D
**Full Changelog**: https://github.com/BiaPyX/BiaPy/compare/v3.5.10...v3.5.11