DiCube v0.2.7: Streaming Reader & DICOM Fixes
DiCube v0.2.7 Release Notes
New Features
DCB Streaming Reader
- Added
DcbStreamingReaderfor efficient streaming access to DCB files - Features chunk-based caching and LRU eviction policy
- Thread-safe operations for concurrent access
- Optimized for PACS viewers and large medical image sequences
Unified DICOM Builder
- New
DicomBuilderclass provides consistent DICOM dataset creation - Supports both raw pixel arrays and compressed data
- Optional compression preservation or forced decompression
- Enhanced error handling and data type conversion
Bug Fixes
DICOM Conversion Issues
- Fixed: Complete resolution of DICOM conversion failures
- Fixed: WindowCenter/WindowWidth non-shared value handling
- Fixed: NON_UNIFORM_RESCALE_FACTOR and NON_UNIFORM_DTYPE restrictions removed
- Result: 100% success rate on previously failing test cases (12/12)
Data Type Support
- Added: Support for signed integers (int8/16/32) without intercept offset
- Improved: Smart data type selection for optimal storage efficiency
- Fixed: Proper DICOM PixelRepresentation attribute setting
Performance Improvements
Code Architecture
- Refactored: Unified DICOM creation logic, reduced code duplication
- Simplified: DcbStreamingReader implementation
- Enhanced: Caching mechanisms with LRU policy and preloading
Memory Management
- Optimized: Chunk-based caching for large sequences
- Reduced: Memory footprint for streaming operations
- Improved: Thread-safe cache operations
Technical Updates
Dependencies
- Updated spacetransformer-core version
- Fixed pybind11 version restrictions for Python 3.8
- Simplified build configuration
Testing
- Added 383 lines of DicomBuilder unit tests
- Added 27 negative encoding test cases
- All existing tests (164) continue to pass
- Enhanced error handling and edge case coverage
Backward Compatibility
- Full support for existing DCB files maintained
- All existing APIs unchanged
- Legacy mode options available
Performance Impact
- Significantly reduced memory usage for large image sequences
- Faster DICOM creation with unified builder
- Optimized storage efficiency with smart data type selection
- 100% DICOM conversion success rate
Recommendation: All users should upgrade to v0.2.7, especially those working with large medical image sequences or experiencing DICOM conversion issues.