Skip to content

Release Notes

2.2.0_3.1.0 [2025-12-18]

Maintenance:

  • Migrated from poetry to uv for dependency management
  • Updated CI configuration to use new qa-ci repository structure
  • Upgraded python from 3.9.20 to 3.9.25
  • Updated flywheel-gear-toolkit from 0.5.1 to >=0.6.22
  • Updated pillow from 8.2.0 to >=11.3.0 to address security vulnerabilities
  • Updated pynrrd from 0.4.2 to >=1.1.3
  • Updated fw-file from 1.1.2 to <3
  • Upgraded upstream pyradiomics package to latest version for improved compatibility
  • Refactored Dockerfile to use multi-stage builds with uv for virtual environment management
  • Added non-root flywheel user (UID 31337) to container
  • Updated .pre-commit-config.yaml hooks to use latest qa-ci configurations
  • Added pyproject_export, eolfix, jsonlint, and linkcheck pre-commit hooks
  • Migrated build system from poetry.core.masonry.api to hatchling.build
  • Updated pyproject.toml to use PEP 621 format
  • Removed deprecated development dependencies (isort, pylint, pycodestyle, pydocstyle, mypy, black)

Documentation:

  • Updated CONTRIBUTING.md with uv-based workflow instructions
  • Fixed broken link in README.md pyradiomics documentation URL
  • Improved code formatting consistency across all Python modules

2.1.0_3.0.2 [2024-11-19]

Enhancements:

  • Improved error handling with dedicated read_image() function that catches and logs exceptions during image loading

Fixes:

  • Fixed typo in conditional check (image_sitk in None changed to image_sitk is None)

Maintenance:

  • Updated PYTHON_VERSION from 3.9.19 to 3.9.20
  • Corrected source and url fields in manifest to point to correct GitLab repository

2.1.0_3.0.1 [2024-08-07]

Enhancements:

  • Added support for custom parameter configuration files via params_file input
  • Added parameter file validation to ensure configuration integrity
  • Enhanced README with comprehensive usage examples and custom configuration guide
  • Added README figures, including schema diagram and configuration screenshots
  • Improved error handling and logging throughout the codebase

Fixes:

  • Fixed mask creation for empty mask scenarios to handle edge cases properly
  • Fixed type validation in radiomic feature calculations to prevent runtime errors
  • Corrected feature extraction to properly handle 2D/3D images without redundant iterations

Maintenance:

  • Migrated from poetry to pip for dependency management in Dockerfile
  • Updated .gitlab-ci.yml reference to 723e6e03
  • Increased pytest coverage requirement from 0 to 78
  • Added .dockerignore file to optimize Docker build context
  • Removed deprecated .env file
  • Updated fw-file dependency from ^1.0.0 to 1.1.2
  • Updated pre-commit hooks to use Flywheel QA-CI repository hooks
  • Consolidated gear classification metadata in manifest.json
  • Refactored entry point from poetry run python to direct python execution

Documentation:

  • Expanded README with detailed overview, classification, and usage sections
  • Added configuration file examples for feature extraction customization
  • Improved CONTRIBUTING.md formatting and instructions
  • Added LICENSE file header formatting
  • Enhanced inline documentation and docstrings across modules

2.0.2_3.0.1 [2023-03-03]

Maintenance:

  • Migrated CI configuration from flywheel-apps/utils/ci-templates to scientific-solutions/etc/sse-qa-ci
  • Updated pre-commit hooks to use versioned references instead of main/master branches
  • Updated poetry version requirement from 1.1.2 to 1.1.12 in Dockerfile
  • Moved black back to dev dependency and upgraded to ^22.3.0
  • Updated isort to ^5.11.5
  • Added missing newline at end of file for .env and .gitignore
  • Removed blank lines before class definitions per Python style conventions

Documentation:

  • Fixed trailing whitespace issues across multiple files
  • Corrected Unicode character encoding in manifest.json citation (dash character)

2.0.1_3.0.1 [2022-05-26]

Enhancements:

  • Added support for 3D images including zipped DICOM series and numpy arrays
  • Added convert_numpy_to_single_channel config option to convert 3-channel numpy arrays to single-channel for radiomic feature calculation
  • Added voxel_based config option placeholder for future voxel-based feature calculations
  • Added factory pattern for image readers to handle multiple image formats (SimpleITK, numpy arrays, zipped DICOM)
  • Added factory pattern for image preparers to handle image preprocessing based on file type
  • Added modular calculator system (PyradCalc) to separate feature extraction logic
  • Added writer system for outputting features to CSV and Flywheel metadata
  • Added image dimension and channel validation to ensure proper input format
  • Added automatic mask generation from input image when no mask is provided
  • Added support for calculating 2D features for each slice in 3D images
  • Enhanced CSV output to support multiple image slices with one row per slice

Fixes:

  • Fixed handling of 3-channel (RGB) images by extracting only the first channel for radiomic calculations
  • Fixed mask geometry parameters to match input image metadata
  • Fixed image dimension checks to properly handle both 2D and 3D inputs

Maintenance:

  • Upgraded base image from python:3.7-slim to python:3.9-slim
  • Updated poetry installation and added apt-transport-https package
  • Installed gcc compiler in Docker image
  • Updated flywheel-gear-toolkit from ^0.2 to ^0.5.1
  • Updated numpy to ^1.21.0
  • Updated Pillow to ^8.2.0
  • Added importlib-metadata ^4.8.1 dependency
  • Added fw-file ^1.0.0 dependency
  • Added pre-commit ^2.19.0 to main dependencies
  • Moved black from dev dependencies to main dependencies
  • Updated minimum Python version from ^3.7 to ^3.9
  • Enabled FF_NETWORK_PER_BUILD feature flag in GitLab CI

Documentation:

  • Updated README with link to pyradiomics documentation
  • Expanded input documentation to specify support for both 2D and 3D images
  • Added Outputs section documenting the CSV file suffix
  • Added documentation for new config options (convert_numpy_to_single_channel, voxel_based)
  • Added Acknowledgements section with pyradiomics citation and test data attribution
  • Updated manifest description to explain segment-based feature extraction and mask requirements
  • Updated manifest with proper citation for van Griethuysen et al. 2017
  • Swapped manifest source and url fields to correctly reference GitLab repo and documentation
  • Changed manifest label from "pyradiomics" to "PyRadiomics"
  • Changed manifest license from "MIT" to "BSD-3-Clause"

1.0.0 [2021-09-15]

Enhancements:

  • Added support for extracting radiomic features from 2D images using pyradiomics library
  • Added optional mask input for feature extraction; auto-generates mask if not provided
  • Added shape2D feature extraction for 2D images with user-provided masks
  • Added CSV output of computed radiomic features

Documentation:

  • Added README with usage instructions and input/output specifications
  • Added CONTRIBUTING guide with development setup and release process
  • Added LICENSE file (MIT)

Maintenance:

  • Added CI/CD pipeline configuration using poetry-pre-commit.yml template
  • Added pre-commit hooks for code quality (isort, black, pytest, manifest validation)
  • Added development dependencies (pytest, pytest-cov, pytest-mock, black, isort)
  • Added project dependencies (flywheel-gear-toolkit, numpy, Pillow, pynrrd, pyradiomics)
  • Added python 3.7 base Docker image with poetry 1.1.2
  • Added .gitignore for Python artifacts, coverage reports, and editor files