Releases: bhklab/readii
v1.28.0
v1.28.0 (2024-12-18)
Features
Updated include list to have the io/readers functions and updated the files so all ruff tests pass.
## Summary by CodeRabbit-
New Features
-
Enhanced flexibility in loading feature files by accepting both
Path
objects and strings. -
Improved error handling and logging for file loading and directory access.
-
Bug Fixes
-
Enhanced error handling and logging for file loading and directory access, providing clearer context for issues.
-
Documentation
-
Updated docstrings for functions to improve clarity and detail, including return type annotations.
Detailed Changes: v1.27.0...v1.28.0
v1.27.0
v1.27.0 (2024-12-17)
Features
Includes correlation calculations and plotting those correlations as a heatmap and histogram
-
New Features - Updated version number to 1.26.0 with new dependencies:
numpy
,seaborn
, andpandas
. - Introduced a new module for analyzing READII outputs with several correlation functions. - Added visualization functions for correlation data: heatmap and histogram. - New validation function for DataFrame dimensions added. - Expanded platform support to includeosx-64
andwin-64
. -
Bug Fixes - Enhanced error handling in correlation calculations and plot saving processes. - Simplified exception handling in feature loading functions.
-
Documentation - Improved docstrings for new functions and modules for better usability.
-
Chores - Expanded linting configuration for broader coverage of Python files.
Detailed Changes: v1.26.0...v1.27.0
v1.26.0
v1.26.0 (2024-12-16)
Features
This PR adds the windows platform and older mac platform to the pixi configuration so developers with those machines can be assured that they can contribute to this project without running into dependency issues
- also add a testing branch to test with windows across all configured python versions
Summary by CodeRabbit
-
New Features
- Expanded testing environment to include Windows support.
- Updated project version to "1.25.0".
- Added support for additional platforms: "osx-64" and "win-64".
-
Bug Fixes
-
Clarified the checkout process for the publishing jobs in the CI-CD workflow.
Detailed Changes: v1.25.0...v1.26.0
v1.25.0
v1.25.0 (2024-12-16)
Features
Discovered an edge case when processing ISPY2 SEG files that have multiple regions in them that are identified by numeric values in the mask.
Need READII to be able to take a specific value so the correct mask is used when checking the mask, cropping the image, and performing feature extraction.
## Summary by CodeRabbit-
New Features - Introduced an optional
segmentationLabel
parameter in the feature extraction process for enhanced flexibility. - Improved error handling during segmentation mask validation and image cropping. -
Bug Fixes - Enhanced robustness by catching and logging exceptions related to feature extraction.
-
Tests - Added new tests to verify behavior with the
segmentationLabel
parameter and to validate error handling for invalid inputs.
Detailed Changes: v1.24.0...v1.25.0
v1.24.0
v1.24.0 (2024-12-16)
Features
Summary by CodeRabbit
-
New Features
-
Introduced functions for manipulating and analyzing patient data, including patient ID handling and time conversion.
-
Added capabilities for selecting and filtering radiomic data within DataFrames.
-
Implemented methods for replacing values and splitting DataFrames based on specified criteria.
-
Bug Fixes
-
Enhanced error handling across multiple functions to ensure robust performance and logging of issues.
Detailed Changes: v1.23.0...v1.24.0
v1.23.0
v1.23.0 (2024-12-13)
Features
Includes features, general, and images specific loading functions
- New Features
- Introduced a new module for loading various data types in the READII pipeline.
- Added functions for loading imaging feature sets, dataset configurations, and data files into DataFrames.
Detailed Changes: v1.22.0...v1.23.0
v1.22.0
v1.22.0 (2024-12-13)
Features
Mostly inspired and reusing logic from Med-ImageTools DICOMSorter
design
- New Features
- Enhanced Jupyter notebooks for saving medical imaging data in NIFTI format and CSV metadata.
- Added examples for using subclasses of
BaseWriter
for writing text and CSV files. - Introduced the
NIFTIWriter
class for managing NIFTI file writing with validation and error handling.- Added new
CSVWriter
class for saving data in CSV format.
- Added new
Detailed Changes: v1.21.0...v1.22.0
v1.21.0
v1.21.0 (2024-12-13)
Features
closes bhklab/analyze_readii_outputs#6
the CLI in orcestra-downloader
uses click and allows us to reuse the same user CLI API for just a subset of the data and so the readii-datasets
entry point is just a renamed version of that one to prevent rewriting code.
Detailed Changes: v1.20.0...v1.21.0
v1.20.0
v1.20.0 (2024-12-12)
Features
Start of documentation, mostly copied the core dependencies and plugins from med-imagetools
- Set up initial documentation structure using MkDocs, including configuration and integration of Markdown files for the README and CHANGELOG.
this "core" would be the base of the main vs 2.0 branch
## Summary by CodeRabbit-
New Features - Added badges for project health and status in the README. - Expanded installation instructions with a new environment setup method. - Introduced a section for serving documentation locally.
-
Documentation - Enhanced clarity and structure of the README, including command-line options and contributing guidelines. - Updated inclusion method for CHANGELOG and README in documentation. - Introduced a new configuration file for MkDocs documentation, improving navigation and usability.
-
Bug Fixes - Corrected formatting for bash commands in the README to enhance readability.
-
Chores - Updated project version and dependencies in the configuration files.
Detailed Changes: v1.19.0...v1.20.0
v1.19.0
v1.19.0 (2024-12-11)
Features
4D-Lung
Order of operations
negative_control_strategy(image, mask=mask, region=region_strategy)
2. runs the__call__
on thenegative_control_strategy
3. which runs the__call__
ofregion(image_array, mask_array)
4. the result of which is used to figure out what indices of the original image to apply thetransform
method of theNegativeControlStrategy
concrete classes to 5. only replace the region indicesimage_array[mask_indices] = transformed_values
Resource on Strategy Pattern: https://refactoring.guru/design-patterns/strategy/python/example
Co-authored-by: Katy Scott [email protected]
Refactoring
Enhance the Ruff configuration to include additional files and ignore specific PEP-8 naming conventions. Refactor the codebase by replacing os.path
with pathlib
, improving logging verbosity, adding type annotations, and organizing imports.
-
Bug Fixes
-
Improved error handling for image cropping and feature extraction processes, ensuring robustness and clearer logging.
-
Chores
-
Updated configuration settings to refine linting rules and file inclusions, optimizing code quality checks.
-
Incremented Pixi version across CI-CD jobs for improved performance.
-
feature-extraction: Extract-method refactor to simplify workflow, prepare for class-based feature extraction (#69,
3bcaa28
)
summary: Refactor code to improve readability, logging, and type annotations while addressing various bugs and updating dependencies.
mostly extract-method refactoring to make following code flow a bit easier. - setting up to create a class for the module to save from passing around all the parameters
updates to code quality control tasks - for the most part will follow suit with med-imagetools configuration for qc - pixi run qc
will run ruff format and lint on files included in ruff.toml - Enhance ruff configuration to include additional files and ignore specific PEP-8 naming conventions.
-
New Features - Introduced new functions for enhanced radiomic feature extraction:
generateNegativeControl
,cropImageAndMask
, andfeatureExtraction
. -
Improvements - Enhanced error handling and logging for the feature extraction process. - Improved documentation and formatting in loaders for better readability.
-
Configuration Updates - Updated linting configuration to include specific files for checks and clarified linting rules with detailed comments. - Updated project version to "1.18.0" and added new dependencies for Jupyter-related packages. - Streamlined CI-CD workflow by modifying linting commands and removing unnecessary jobs.
Detailed Changes: v1.18.0...v1.19.0