Releases: BiaPyX/BiaPy
Releases · BiaPyX/BiaPy
Version 3.5.12
Minor:
- Avoid copying a temporal file to merge updated cfg with the input one
- Add a new function to know the differences between input config and current one
- Add BiaPy version to log
Bugs fixed:
- Always translate input configuration to the current version
- Allow BMZ affinity model consumption
- Fix area calculation in instance segmentation stats
- Add xarray version constraint as the latest
xarray-2025.3.0is crashing inbioimageio.coreimports
Full Changelog: v3.5.11...v3.5.12
Version 3.5.11
Major:
- Adapt
DFCANto 3D and add SSIM-based loss - Adapt
RCANto 3D - Ensure appropiate data range when calculating metrics in
SR,SSLandI2Iworkflows. - 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,SSLandDenoising - Organize metrics for
I2I,SRandSSLdepending on train and test - Avoid creating X data during
Instance segmentationsaving disk space - Improve
Detectionworkflow when multihead output is created - Add
SSIM,W_MAE_SSIMandW_MSE_SSIMlosses forI2I,SRandSSLworkflows - Move some variables from
TEST.BY_CHUNKStoDATA.TEST
Minor:
- Change 2D image load to be more robust
- BMZ connection:
- Add task description option
- Add model version
- Change
env.yamlcreated - Change BMZ model import message error
- Add more
Instance segmentationmodel 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_parameterswhen usingresunet_sewith DDP - Add more information while gathering training/validation data
- Add more options to tune
RCANmodel - Add script for blur estimation
- Add script to measure similarity metrics common in
I2IandSRworkflows - Add tensor conversion in metric calculation
- Add changes to
convert_old_model_cfg_to_current_versionin 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_IMAGEdefault value toFalse - 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 V1andU-Next V2models when using more than one channel - Fix 3D
U-NeXtmodels - 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_dictmodels are consumed
- Correct
Cchannel activation duringInstance segmentationwhen it is used alone. - Fix minor error during
MODEL.BMZ.EXPORT.DATASET_INFOcheck - Solve minor bug in
convert_old_model_cfg_to_current_versionfunction - 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
SSLpretrainings during model check - Add restrictions in
SR,SSLandI2Iworkflows to not usewdsrin 3D
Full Changelog: v3.5.10...v3.5.11
Version 3.5.10
Minor:
- Disable mixed precision calls
- Move data IO management to biapy/data and create
imread/imwritefunctions to avoid usingskimage.ioas they are deprecating these functions - Change
timm.optimcall to avoid warning of future deprecation - BioImage Model Zoo related (BMZ) changes:
- Add function to autogenerate a
documentation.md - Move BMZ related functions to
bmz_utils.py - Add test_model at the end of BMZ model creation with a larger tolerance than the default so the differences due to casting are allowed
- Create cover extracting a patch containing mask information
- Add argument to provide the dataset id when exporting a BMZ model
- Ensure
weights_only=Trueduring checkpoint loading stage when building a BMZ model
- Add function to autogenerate a
Bugs fixed:
- Checkpoint load on DDP right after training fixed
- Update installation restricting torchmetric version to avoid an issue in classification workflow
Full Changelog: v3.5.9...v3.5.10
Version 3.5.9
Major:
- Add synapse segmentation options for instance segmentation (in experimental state)
Minor:
- Add script to convert instance segmentation datasets into detection workflow format
- Print a better message when shapes does not match between samples
- Some variables for detection has been modified and now don't need to be set per class values:
- Change
TEST.POST_PROCESSING.REMOVE_CLOSE_POINTS_RADIUSdefault value to0 - Change
TEST.POST_PROCESSING.DET_WATERSHED_FIRST_DILATIONdefault value to[-1,-1] - Change
TEST.DET_MIN_TH_TO_BE_PEAKdefault value to0.2 - Change
TEST.DET_TOLERANCEdefault value to10
- Change
- Add instance segmentation multihead test in
run_checks.py - Update
convert_old_model_cfg_to_current_versionfunction to cover new changes
Bugs fixed:
- Handle multiple data within Zarr/H5 during test
- Delete channel restriction when ensuring 3D shape (convert_instance_data_to_detection.py)
- Fix class prediction to the points in detection
- Fix error with
diplibpackage - Fix issue between
TRAIN.PATIENCEandTRAIN.LR_SCHEDULER.REDUCEONPLATEAU_PATIENCE - Solve issues with data type during detection watershed so the instance properties can be measured with
diplibas it does not support int64 data type - Fix issue when multiple raw images (lightmycells case) were provided
- Fix issue with BMZ model exportation
- Solve issues with
run_checks.pydue to recent changes. Now it is correctly reporting when a test crashes as it will crash too.
Full Changelog: v3.5.8...v3.5.9
Version 3.5.8
Bugs fixed:
- Fix Torchvision calls for semantic seg, detection and instance segmentation workflows
Full Changelog: v3.5.7...v3.5.8
Version 3.5.7
Major:
- Rebuilt CartoCell tutorial organization and update notebooks.
- Update templates to follow the same configuration as in the notebooks, which achieve good results in the example datasets.
Minor:
- Improve robustness loading 3D images
- Make SurfaceArea only requested in 3D images
- Update example dataset paths to
rawandlabelin most cases to be consistent
Bugs fixed:
- Fix bug during
TEST.REDUCE_MEMORY - Fix errors while loading H5 nested data
- Solve bug when loading Zarr/H5 files into memory for training
- Fix missing import in some workflows
- Changes in instance segmentation's statistic calculation:
- Add
dipliblibrary as a dependency to calculate surface area more precisely and enableelongationfor 3D which is P2A indiplib - Correct centroid coordinates
- Make
SurfaceAreaonly requested in 3D images to accelerate the process
- Add
- Fix bug in the filtering while predicting by chunks
Full Changelog: v3.5.6...v3.5.7
Version 3.5.6
Major:
- Add configuration file backward-compatibility
- Add
U-NeXt V2model - Actions added:
- Add
check_code_consistency.ymlaction to test code consistency (every week) - Add
upload_biapy_to_pypi.ymlto automatically create a PyPI package (when a new release is created) - Add
create_release_container.ymlfile to automatically create and update docker containers to Dockerhub (when a new release is created)
- Add
Minor:
- Update BMZ model creation and compatibility:
- Add cover creation and create
environment.yamlto be packaged in the BMZ model - Add
sigmoidactivation as BMZ postprocessing so we are more compatible - Extract just the
pytorch_state_dictfrom the checkpoint when creating BMZ package - Save correct input/output (prediction) for BMZ package
- Move to
bioimageio.core==0.7.0 - Change slightly the normalization so it can match the one done in BMZ
- Add cover creation and create
Bugs fixed:
- Fix BMZ model compatibility checks
- Update notebooks to avoid BMZ error when fields are
None - Fix bug on BMZ zip creation in the notebooks
- Fix missing letter
'S'in configuration variable'SIGNS'. - Disabling percentile clipping as that is not done by default in BMZ's
scale_rangenormalization
Full Changelog: v3.5.5...v3.5.6
Version 3.5.5
Major:
- Add backward compatibility loading checkpoint
Minor:
- Change
TEST.POST_PROCESSING.MEASURE_PROPERTIES.REMOVE_BY_PROPERTIES.STATtoTEST.POST_PROCESSING.MEASURE_PROPERTIES.REMOVE_BY_PROPERTIES.STATS - Only check lr scheduler when train in enabled
Bugs fixed:
- Fix a bug in DATA.FILTER_BY_IMAGE
- Update 3D_cell_detection_zarr_tutorial.yaml with new configuration
Full Changelog: v3.5.4...v3.5.5
Version 3.5.4
Major:
- Add BMZ exportation through configuration
Minor:
- Set automatically BMZ path and change it to
PATHS.BMZ_EXPORT_PATH
Bugs fixed:
- Fix minor bug when loading model checkpoint
- Fix small bug in semantic seg. multiclass jaccard calculation
Full Changelog: v3.5.3...v3.5.4
Version 3.5.3
Major:
- Update BMZ model check to support more models and increase it's robustness.
Minor:
- Add class extraction for semantic seg. BMZ models.
- Adapt instance segmentation channels to a default value depending when loading BMZ models.
- Change
LOAD_MODEL_FROM_CHECKPOINTdefault value toTrue. - Increase UNETR building process robustness
Bugs fixed:
- Fix bug when filtering by entire images.
- Prevent top-5-accuracy when classes are less than 5 in classification workflow.
- Fix bug in single data generator used in classification and SSL workflows.
- Allow BMZ/Torchvision models override completely configuration with the variables they are imposing by making
update_dependencies()config function more generic. - Force entire image filtering when
DATA.EXTRACT_RANDOM_PATCHis enabled.
Full Changelog: v3.5.2...v3.5.3