Skip to content

0.3.0

Pre-release
Pre-release

Choose a tag to compare

@amithjkamath amithjkamath released this 28 Dec 21:57
· 16 commits to main since this release

DoseMetrics v0.3.0

Major Architecture Improvements

This release introduces significant architectural enhancements to handle complex radiotherapy workflows more effectively.

New Features

Dose Class: New Dose class for managing 3D dose distributions independently

  • Separate dose data from structure masks
  • Support for multiple RT-DOSE files per patient
  • Enhanced spatial compatibility checking
  • Direct loading from NIfTI and DICOM formats

StructureSet Class: New aggregation object for managing structure collections

  • Unified management of OARs, targets, and avoidance regions
  • Type-safe structure classification using enums
  • Bulk operations for efficient analysis
  • Dictionary-style access and filtering
  • Automated clinical report generation

Enhanced I/O Functions:

  • get_dose_and_structures_as_structure_set(): Load from folder to StructureSet
  • read_dose_and_mask_files_as_structure_set(): Convert file lists to StructureSet
  • create_structure_set_from_existing_data(): Upgrade existing data

Breaking Changes

Important: This version includes breaking changes in the dose/structure API

  • Structures no longer directly contain dose data
  • StructureSet now manages dose for all structures
  • Removed set_dose_data() methods from Structure class

Bug Fixes

  • Fixed DICOM SliceThickness None handling
  • Improved multi-dose file loading
  • Enhanced spatial compatibility validation

Documentation

  • New tutorials for NIfTI I/O operations
  • New tutorials for DICOM I/O operations
  • StructureSet usage examples
  • Comprehensive API documentation updates

Testing

  • 25+ new tests for Dose class
  • 30+ new tests for StructureSet
  • All existing tests updated and passing

Installation

pip install dosemetrics==0.3.0

For development:

pip install dosemetrics[docs,test]==0.3.0

Resources

Development Status

This package is in alpha development. The API may change in future versions as we refine the interface based on user feedback.


Full Changelog: v0.2.0...v0.3.0