Flywheel Core 21.4
21.4.0
DEPRECATIONS
- The
sizequery parameter to the Core API search (POST /api/dataexplorer/search) endpoint is being deprecated, as it is redundant with the equivalent parameter in the endpoint body. See the deprecation notice for details and migration guidance.
FEATURES
Viewers
V3 viewer
-
The V3 viewer was upgraded to v3.11 of the OHIF viewer. This upgrade contains many bug fixes and will allow Flywheel to start taking advantage of some of the great new features introduced in OHIF v3.11, such as the viewport orientation menu, enhanced viewport menu for modality fusion, and more in upcoming releases.
-
New 3D segmentations functionalities introduced in OHIF v3.10 are now available in the viewer!
- Interpolate segmentation between non-consecutive slices to speed up your segmentation workflow.
- Segment well-defined 3D volumes in one click with the one-click segmentation tool (currently in beta).
-
New annotations functionalities
- Annotations can now be deleted directly from Flywheel Core. This functionality is currently only available in non-validated instances.
- A new "Delete other's annotations" permission is available in Flywheel Core and is required for users to delete annotations created by other users.
- Moving files that have annotations also moves the annotations.
-
UI/UX enhancements:
- Link to relevant documentation is now available in the viewer footer bar.
- Default quick keys are now shown to users in the viewer footer bar.
- The viewer file browser now allows to select all files from the current session with a single click to load them in the viewer.
Brain Browser
- Routine update with dependency updates. See the Brain Browser documentation for updated installation instructions.
Tasks Manager
- Protocol configuration now supports configuring the V3 viewer with the same options available through the ohif_configv3.json file.
- Radio buttons in a task form can now be unselected with a double-click.
- Prevented sessions and acquisitions with tasks, annotations, or forms from being moved to other groups, ensuring protocol consistency across studies.
- Added direct link to newly created tasks in success notifications, providing quick access to view and manage the task.
- Implemented automatic task list refresh to display newly created reader tasks without requiring manual page reload.
- Added visual indication when users access tasks for locked projects, making it clear that the task is inaccessible due to project restrictions.
- Improved protocol creation interface by disabling task types other than Reader, making the available options clearer to users.
- Linked e-signature availability to MFA authentication feature flag, ensuring e-signature warnings and indicators only appear when MFA is enabled.
- Implemented automatic task list refresh to display newly created reader tasks without requiring manual page reload.
Session Templates
Session Templates feature is now Flywheel Validated and available on all sites. See the Session Templates documentation for configuration and usage details.
Data Transfer
New CLI (flyw)
Official customer rollout for the New CLI, import, and export utilities. The New CLI automatically updates based on the site version and CLI compatibility, reducing frequency of support issues.
The New CLI has been renamed from fw-beta to flyw, marking the official exit from beta status. Both fw-beta and flyw can be used to invoke the CLI, allowing for a seamless transition for existing users.
New features and improvements:
- Config command now supports persistent configuration settings, making it easier to manage default profiles and other settings without using environment variables.
- Authentication commands are now organized under a unified
authsub-command (e.g.,auth login,auth logout), providing a clearer and more consistent command structure. - Log collection is now organized under a
utilssub-command, making it clearer when and how to collect diagnostic logs for troubleshooting. - Byte-level progress is now displayed for large file transfers instead of file-based progress, showing accurate transfer speeds and preventing the appearance of stalled transfers that previously showed 0 bytes/second during import and export operations.
- Error messages now display diagnostic information including CLI profile, site version, and client version, improving troubleshooting and support capabilities.
- Version management has been improved to ensure users only update to compatible versions based on their site version, preventing installation of CLI versions that are incompatible with their Flywheel instance.
- Improved documentation to clarify the storage connection URL parameter by listing the specific terminology used by each cloud provider: S3 URI for AWS, Container URI for Azure, and Bucket URI for Google Cloud Storage.
Bulk Import
- Full de-identification support is now available in Bulk Import.
- New unified de-identification implementation ensures consistent behavior across all applications and simpler maintenance. Single code-base, cross-compiled into various languages supporting backend, frontend, and local use cases, greatly reducing risk of PHI leaks caused by inconsistent behavior.
- When users upload and import files from "My Computer" via Bulk Import, the files placed into Core show the "Creator" as the user who uploaded the files.
- Import job details are now displayed as a full page with a shareable URL instead of a modal dialog, improving usability and allowing users to easily share or bookmark specific import job details.
- Design improvements more clearly indicate why the Bulk Import and Bulk Export jobs list is not shown, whether because the jobs list is still loading, an error occurred while fetching the jobs list, or there are no jobs to display.
Bulk Export
- Export job details are now displayed as a full page with a shareable URL instead of a modal dialog, improving usability and allowing users to easily share or bookmark specific export job details.
Gears
Gear Rules
- Added ability to specify tags on gear rules, enabling compute profile selection for automated job execution.
- Added API support for adding tags to gear rules, which are automatically applied to jobs triggered by those rules.
Gear Exchange
- Added a link in the left navigation bar to the Flywheel Gear Exchange. The Flywheel Gear Exchange offers a set of tools that automate tasks like metadata extraction, classification, and quality assurance. This library of gears is built through the efforts of Flywheel staff, customers, and the wider research community. See the Gear Exchange documentation for more information.
Jupyter Notebooks
- Added direct link to newly created tasks in success notifications, providing quick access to view and manage the task.
- Enhanced JupyterHub security by implementing dedicated Kubernetes service accounts for user pods, preventing unexpected permissions from default service account usage. User workloads now use dedicated service accounts with no permissions to Kubernetes APIs.
Python SDK
Documentation System
Updated SDK documentation system to be consistent with other public documentation, enabling future improvements to quality and accuracy. See the Python SDK documentation for the latest API reference.
Large Project Deletion
Introducing new background parameter with delete_project() function to support reliable deletion of large projects that would otherwise have errors due to timeouts. To check the status of the background deletion task, use the get_project_delete_status() function.
Video Annotation
Updated Flywheel Video Annotation feature to use CVAT 2.55 to provide the most current features and improvements for video annotation workflows.
Web App
Performance Improvements
General performance improvements throughout the app around the handling of projects and checking of permissions.
FIXES
Data Transfer
New CLI (flyw)
- Fixed an issue where container labels containing special characters (like
/,:,*) would cause incorrect directory structures when exporting data locally. - Fixed an issue where some files uploaded via the New CLI would be placed in the wrong acquisition despite the import report showing the correct destination path.
Bulk Import
- Fixed a critical issue where the Case Uploader did not perform de-identification even when a de-identification profile was configured. De-identification now works correctly for all uploaded data.
- Fixed an issue where DICOM series larger than 2 GB would fail to import due to zip file size limitations.
- Fixed an issue where importing files or directories with names ending in a dot would fail on sites using Azure storage.
- Fixed an issue where large imports would timeout prematurely even while uploads were still actively progressing.
- Fixed an issue where storage checks could get stuck indefinitely, particularly when a site was upgraded during an active check. Storage checks now properly timeout after 1 hour of no progress.
Bulk Export
- Fixed an issue where Bulk Export would provide unclear error messages when file and directory naming conflicts occurred. Export now provides clear error messages helping users understand and resolve issues when exporting data with different archive extraction settings.
External Storages
- Fixed an issue where storage credentials would persist in the database even when no longer needed. Storage credentials are now automatically removed from the database when switching from explicit credentials to implicit credentials, improving security and reducing the risk of credential exposure.
Data Management
- Fixed intermittent issue where actions in Session List Web UI could be disabled.
- Fixed issue where projects list UI was not displaying flags for projects that have sessions that don't comply with the project's Session Template configuration.
- Fixed issue where Project Sharing settings appeared editable by all users in the Web UI. This issue posed no risk of unauthorized changes, as users without required permissions were still blocked from successfully saving changes.
- Fixed issue where the ability to copy the existing project description into the Project Sharing configuration would sometimes not be available when the project's description was recently added.
- Fixed error message when attempting to delete an acquisition or files used by an analysis. The error message now specifies the reason for the error and dependent analyses.
- Fixed LDAP sync issue that could repeatedly remove and add a user to a project when the user had an incorrect
ldap_sync_idbut matching UID (email). - Fixed errors when loading the installed gears, Jobs Log, and Run Gear UI caused by
rootfs-provider-idvalidation issues. - Fixed delete_project SDK function errors when deleting large projects.
- Fixed HTML/PDF viewer issue where files would sometimes fail to open when uploaded by gears or other methods that set file.mimetype = application/octet-stream.
- Fixed issue where the parent Acquisition is not shown with file search results in neither the Web UI or SDK.
- Fixed issue where
.webmand.wmvvideo files did not automatically get assignedfile.type == videoon upload. See supported file types for reference.
Python SDK
- Fixed Flywheel SDK documentation to include priority and other available parameters for the
runandpropose_batchfunctions for creating gear jobs. - Fixed typo for filter parameter in Flywheel SDK Documentation.
- Fixed issue where
bulk_move_sessions()function only validated the first session ID, allowing invalid or non-existent IDs in the rest of the list to execute without warnings. - Fixed issue where
session_copy()function did not exclude empty acquisitions whenexclude_empty_containersparameter was set toTrue.
Web App
- Added a progress indicator for jobs log filtering.
- Fixed issue where turning off Admin Mode while viewing a project the user is not a member of would still display that project to the user.
Legacy tasks
- Fixed an issue where tasks created at the acquisition-level would only load a single DICOM series, even when the acquisition contained multiple series.
V3 viewer
- Fixed an issue with the brush tool in the axial viewport in a 3D four-up layout.
- Fixed an issue with drawing measurements in non-axial viewports in MPR mode.
- Fixed an issue where deleted measurements would not be correctly restored in the measurements panel after using the undo/redo functionality.
- Fixed an issue with RTSTRUCT files where contours would remain on the image after closing the segmentation.
- Fixed an issue where an error message would incorrectly be displayed in the viewer for users without permissions to create annotations.
- Fixed issues with segmentations when switching between advanced and common layouts.
- Fixed issues with the "Switch to eraser outside ROI" functionality when toggling between circle and sphere brushes.
Tasks Manager
- Fixed an issue with long drop-down lists that could not be scrolled in a task form.
- Fixed MFA Verification and Expire API Key modal display issues that occurred after Angular update, restoring proper modal functionality.
- Fixed sorting functionality on the Status column in task lists to work correctly.
- Fixed task rejection functionality to properly reassign tasks to staffing pools when users reject claimed tasks, ensuring tasks remain accessible to pool members.
- Fixed task manager page to properly update acquisition names when files are moved between acquisitions within the same session.
- Fixed missing file details in Task queue reports for file-level tasks, ensuring complete task reporting.
- Fixed spacing issue in task list cells containing avatars for improved visual consistency.
- Fixed sort order preferences to be user-specific rather than browser-specific, allowing multiple users on the same computer to have independent sorting settings.
- Fixed button styling to clearly indicate disabled state, preventing user confusion when buttons are not clickable.
- Improved protocol creation interface by disabling task types other than Reader.
- Fixed task manager page to properly update acquisition names when files are moved between acquisitions within the same session.
- Fixed missing file details in Task queue reports for file-level tasks, ensuring complete task reporting.
- Fixed task tag field to properly handle long tag names, allowing users to add multiple tags without field restrictions.
- Fixed visual flickering in task tags field when displaying multiple tags, improving user interface stability.
- Fixed protocol copy functionality to preserve form configuration from the original protocol, ensuring consistent protocol duplication.
- Enhanced API security to prevent moving sessions and acquisitions with existing tasks to different groups, ensuring task and protocol consistency across studies.
- Fixed task display to properly show deleted container information with clear indication when linked containers no longer exist.
- Added visual indication when users access tasks for locked projects, making it clear that the task is inaccessible due to project restrictions.
- Fixed an issue where users could access the Create Reader Task interface and launch existing reader tasks within locked projects.
- Fixed an issue where users added to an existing staffing pool could not access tasks assigned to that pool. Newly added pool members can now launch and work on both existing and new tasks assigned to the pool without needing to explicitly assign tasks to themselves.
- Fixed an issue where the task list protocol filter displayed duplicate entries for protocols with multiple versions. The filter now shows a single entry per protocol name and returns all tasks using any version of that protocol, eliminating confusion when filtering by protocol.
- Fixed protocol editor save button to remain disabled when configuration errors exist without edits, preventing repeated error messages.
- Fixed task filter subjects dropdown to display consistent disabled state when no project is selected, matching the behavior of the projects filter.
- Removed primary button focus from Launch in Viewer button for completed tasks, improving user experience and workflow clarity.
- Prevented sessions and acquisitions with tasks, annotations, or forms from being moved to other groups, ensuring protocol consistency across studies.
Gears
Gear Rules
- Fixed gear rule auto-update to default to read-only role when updated gear requires an API key, preventing invalid rule states.
- Fixed job log display to properly show the last output file when scrolling is required, preventing content truncation.
Jupyter Notebooks
- Fixed issues with JupyterLab Server launch functionality, improving reliability and reducing launch times across all compute options.
- Fixed an issue preventing fw command execution in JupyterLab Server notebooks.
Video Annotation
- Fixed issue where
.zipfiles of images created by macOS Finder would get stuck in a "Sync" status when uploaded for use with Flywheel Video Annotation.