Release Notes
1.1.11 [2022-03-30]
Fixes:
- Fixed import statement for
HierarchyCuratorto use direct class import fromflywheel_gear_toolkit.utils.curator - Updated
ROICuratorinitialization to properly pass keyword arguments to parentHierarchyCuratorclass - Added explicit configuration of
multianddepth_firstattributes inROICurator.__init__()to ensure correct curator behavior - Fixed instantiation of
ROICuratorto use keyword argument syntax (fw=fw)
1.1.10 [2022-03-23]
Fixes:
- Fixed handling of ROI metadata with alternate UID field names (
StudyInstanceUID,SeriesInstanceUID,SOPInstanceUID) - Added error handling for non-DICOM zip members during ROI matching
- Added error handling for directory entries in zip files
- Fixed DICOM file matching to support both zipped and unzipped files
Maintenance:
- Refactored
get_roi_dicom_file()to separate zipped and unzipped DICOM matching logic intomatch_zipped_dicom_member()andmatch_unzipped_dicom()methods - Removed unnecessary
copy.deepcopy()call inacquire_rois() - Added
NotZipexception class for handling uncompressed DICOM files - Improved error logging for invalid container types and DICOM loading failures
1.1.1 [2021-06-04]
Maintenance:
- Updated Docker image reference to
flywheel/export-rois:1.1.1
1.1.0 [2021-06-04]
Fixes:
- Fixed Docker image name from
flywheel/export_roitoflywheel/export-roisin manifest configuration
1.0.10 [2021-06-04]
Enhancements:
- Added filtering to process only
dicomtype files when searching for ROI references
Fixes:
- Fixed typo in acquisition label key (
"scquisition"to"acquisition") inutils/MyCurator.py:317 - Added fallback logic to check alternative DICOM UID field names (
studyInstanceUid/StudyInstanceUID,seriesInstanceUid/SeriesInstanceUID,sopInstanceUid/SOPInstanceUID) for improved compatibility - Fixed iteration logic bug where
for OHIF_KEY in session_info:was changed toif OHIF_KEY in session_info:inutils/MyCurator.py:546 - Fixed typo in warning message from "mathing" to "matching" in
utils/MyCurator.py:659 - Added
copy.deepcopy()to prevent mutation of container dictionaries during processing
Maintenance:
- Standardized all CSV output column names to lowercase format (
Group→group,Project→project,X min→x min, etc.) throughout codebase - Enhanced debug logging with additional context messages in file/acquisition/session processing paths
- Improved warning message to include series UID value when multiple matches found
Documentation:
- Updated README.md to reflect lowercase column naming convention for all Flywheel location columns and ROI information columns
1.0.4 [2021-05-24]
Fixes:
- Fixed uninitialized variable bug in
ROICurator.get_ohif_viewer_data()by ensuringoutput_dictis initialized before the loop - Fixed potential issue in
run.pyby extractingproject_idbefore callingfw.get_project()for better code clarity
1.0.3 [2021-05-19]
Maintenance:
- Refactored
Dockerfileto copy entireutilsdirectory instead of individual files - Added
utils/__init__.pyto make utils a proper Python package - Removed unused
mapping_class.pymodule
1.0.2 [2021-05-19]
Enhancements:
- Added DICOM member filename extraction for each exported ROI, enabling precise identification of the raw DICOM file within zip archives
- Implemented support for exporting ROIs from both
ohifViewerandroimetadata namespaces - Added comprehensive ROI statistics export including area, count, voxel values (min, max, mean, standard deviation, variance)
- Implemented hierarchical path reconstruction for ROIs, providing complete Flywheel location context (group, project, subject, session, acquisition)
- Added file type detection for DICOM and NIFTI formats based on file extensions
Documentation:
- Added comprehensive README with gear description, usage instructions, and detailed output column specifications
- Documented DICOM classifier prerequisite and performance implications
Maintenance:
- Added initial Dockerfile based on
python:3.7runtime - Implemented custom
ROICuratorclass extendingflywheel_gear_toolkit.utils.curator.HierarchyCurator - Implemented custom
MyWalkerclass extendingflywheel_gear_toolkit.utils.walker.Walker - Added support for
flywheel-gear-toolkitandpydicomlibraries - Implemented DICOM zip archive member matching using Study, Series, and SOP Instance UIDs