Release Notes
2.2.0_3.1.0 [2025-12-18]
Maintenance:
- Migrated from
poetrytouvfor dependency management - Updated CI configuration to use new
qa-cirepository structure - Upgraded
pythonfrom3.9.20to3.9.25 - Updated
flywheel-gear-toolkitfrom0.5.1to>=0.6.22 - Updated
pillowfrom8.2.0to>=11.3.0to address security vulnerabilities - Updated
pynrrdfrom0.4.2to>=1.1.3 - Updated
fw-filefrom1.1.2to<3 - Upgraded upstream
pyradiomicspackage to latest version for improved compatibility - Refactored Dockerfile to use multi-stage builds with
uvfor virtual environment management - Added non-root
flywheeluser (UID 31337) to container - Updated
.pre-commit-config.yamlhooks to use latestqa-ciconfigurations - Added
pyproject_export,eolfix,jsonlint, andlinkcheckpre-commit hooks - Migrated build system from
poetry.core.masonry.apitohatchling.build - Updated
pyproject.tomlto use PEP 621 format - Removed deprecated development dependencies (
isort,pylint,pycodestyle,pydocstyle,mypy,black)
Documentation:
- Updated
CONTRIBUTING.mdwithuv-based workflow instructions - Fixed broken link in
README.mdpyradiomics 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 Nonechanged toimage_sitk is None)
Maintenance:
- Updated
PYTHON_VERSIONfrom3.9.19to3.9.20 - Corrected
sourceandurlfields 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_fileinput - 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
poetrytopipfor dependency management inDockerfile - Updated
.gitlab-ci.ymlreference to723e6e03 - Increased pytest coverage requirement from
0to78 - Added
.dockerignorefile to optimize Docker build context - Removed deprecated
.envfile - Updated
fw-filedependency from^1.0.0to1.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 pythonto directpythonexecution
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-templatestoscientific-solutions/etc/sse-qa-ci - Updated pre-commit hooks to use versioned references instead of
main/masterbranches - Updated
poetryversion requirement from1.1.2to1.1.12inDockerfile - Moved
blackback to dev dependency and upgraded to^22.3.0 - Updated
isortto^5.11.5 - Added missing newline at end of file for
.envand.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.jsoncitation (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_channelconfig option to convert 3-channel numpy arrays to single-channel for radiomic feature calculation - Added
voxel_basedconfig 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-slimtopython:3.9-slim - Updated
poetryinstallation and addedapt-transport-httpspackage - Installed
gcccompiler in Docker image - Updated
flywheel-gear-toolkitfrom^0.2to^0.5.1 - Updated
numpyto^1.21.0 - Updated
Pillowto^8.2.0 - Added
importlib-metadata^4.8.1dependency - Added
fw-file^1.0.0dependency - Added
pre-commit^2.19.0to main dependencies - Moved
blackfrom dev dependencies to main dependencies - Updated minimum Python version from
^3.7to^3.9 - Enabled
FF_NETWORK_PER_BUILDfeature flag in GitLab CI
Documentation:
- Updated README with link to
pyradiomicsdocumentation - 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
pyradiomicscitation 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
sourceandurlfields 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
pyradiomicslibrary - Added optional mask input for feature extraction; auto-generates mask if not provided
- Added
shape2Dfeature 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.ymltemplate - 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
python3.7 base Docker image withpoetry1.1.2 - Added
.gitignorefor Python artifacts, coverage reports, and editor files