Skip to content

DiCube v0.2.7: Streaming Reader & DICOM Fixes

Choose a tag to compare

@lfz lfz released this 12 Sep 09:50
· 1 commit to master since this release

DiCube v0.2.7 Release Notes

New Features

DCB Streaming Reader

  • Added DcbStreamingReader for 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 DicomBuilder class 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.