Skip to content

Releases: BiaPyX/BiaPy

Version 3.5.12

23 Mar 11:12

Choose a tag to compare

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.0 is crashing in bioimageio.core imports

Full Changelog: v3.5.11...v3.5.12

Version 3.5.11

17 Mar 08:34

Choose a tag to compare

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: v3.5.10...v3.5.11

Version 3.5.10

05 Feb 12:13

Choose a tag to compare

Minor:

  • Disable mixed precision calls
  • Move data IO management to biapy/data and create imread/imwrite functions to avoid using skimage.io as they are deprecating these functions
  • Change timm.optim call 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=True during checkpoint loading stage when building a BMZ model

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

01 Feb 09:23

Choose a tag to compare

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_RADIUS default value to 0
    • Change TEST.POST_PROCESSING.DET_WATERSHED_FIRST_DILATION default value to [-1,-1]
    • Change TEST.DET_MIN_TH_TO_BE_PEAK default value to 0.2
    • Change TEST.DET_TOLERANCE default value to 10
  • Add instance segmentation multihead test in run_checks.py
  • Update convert_old_model_cfg_to_current_version function 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 diplib package
  • Fix issue between TRAIN.PATIENCE and TRAIN.LR_SCHEDULER.REDUCEONPLATEAU_PATIENCE
  • Solve issues with data type during detection watershed so the instance properties can be measured with diplib as 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.py due 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

17 Jan 19:01

Choose a tag to compare

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

08 Jan 18:31
0d9dae4

Choose a tag to compare

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 raw and label in 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 diplib library as a dependency to calculate surface area more precisely and enable elongation for 3D which is P2A in diplib
    • Correct centroid coordinates
    • Make SurfaceArea only requested in 3D images to accelerate the process
  • Fix bug in the filtering while predicting by chunks

Full Changelog: v3.5.6...v3.5.7

Version 3.5.6

28 Nov 17:05

Choose a tag to compare

Major:

  • Add configuration file backward-compatibility
  • Add U-NeXt V2 model
  • Actions added:
    • Add check_code_consistency.yml action to test code consistency (every week)
    • Add upload_biapy_to_pypi.yml to automatically create a PyPI package (when a new release is created)
    • Add create_release_container.yml file to automatically create and update docker containers to Dockerhub (when a new release is created)

Minor:

  • Update BMZ model creation and compatibility:
    • Add cover creation and create environment.yaml to be packaged in the BMZ model
    • Add sigmoid activation as BMZ postprocessing so we are more compatible
    • Extract just the pytorch_state_dict from 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

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_range normalization

Full Changelog: v3.5.5...v3.5.6

Version 3.5.5

20 Oct 16:48

Choose a tag to compare

Major:

  • Add backward compatibility loading checkpoint

Minor:

  • Change TEST.POST_PROCESSING.MEASURE_PROPERTIES.REMOVE_BY_PROPERTIES.STAT to TEST.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

10 Oct 07:03

Choose a tag to compare

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

23 Sep 15:15

Choose a tag to compare

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_CHECKPOINT default value to True.
  • 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_PATCH is enabled.

Full Changelog: v3.5.2...v3.5.3