We have completely reworked the DICOM browser in Slicer to make it more responsive and display more relevant information.
- DICOM import runs in the background: application GUI is not blocked anymore and continuous, detailed progress information is shown while data is being imported
- DICOM import speed is greatly improved: for example, time to import 10 TCIA patients decreased from 46 sec to 7 seconds.
- DICOM patient/study/series can be loaded by double-clicking on the it
- Added new displayed fields: such date added (makes it easy to find newly added images), number of studies/series/images, number of frames and frame size
- Improved data columns display: fit column widths to content, set default sorting
- DICOM database version upgrade is not enforced when updating Slicer (user can choose between upgrade or creating a new database at a new location)
- Made it configurable which columns are displayed in the browser, in what order, what format (stored in database ColumnDisplayProperties table)
- Moved many DICOM features into CTK (export to file system, DICOM metadata display, etc.)
- Separated DICOM widget from logic: DICOM database is now owned by Slicer application using a shared pointer. This allows DICOM import and loading without using GUI classes (without instantiating DICOM browser widget). See example in DICOMUtils.loadSeriesByUID.
- DICOM database object is always created (even if no valid DICOM database location is specified) when the application is started. If no valid DICOM database location is specified then the database will not be open.
- Made recent activity widget selection trigger selection of the series in DICOM browser
The new browser is available in latest Slicer Preview Release. Any comments and suggestions are welcome.