Flywheel Core 19.4
19.4.0
DEPRECATIONS
Deprecation of "Upload DICOM" Feature
Starting with Flywheel Core version 19.4, the "Upload DICOM" feature will no longer be available for most customers.
The "Upload DICOM" feature is replaced by the new multi-modal "Bulk Import" feature, which provides many powerful new capabilities, including:
- Additional file types beyond DICOM,
- Large files (>4 GB) support,
- Conflict detection and handling,
- Malware scanning, and
- Detailed monitoring and auditing capabilities.
For more details, see the full deprecation notice.
Removal of Gravatar Integration
Support for the automatic matching and use of user avatar images from the external Gravatar service has been removed. This change is meant to increase user privacy and confidentiality with respect to their usage of the Flywheel service.
All existing user avatars remain unchanged, even those that were originally auto-applied from the Gravatar service. Users can still set their avatar manually to any web hosted image, even those hosted by Gravatar.
FEATURES
Bulk Import
- Improved error handling and general usability improvements for when an import cannot be started for various reasons.
- The "Add Data" dialog no longer prompts the user to choose the "upload method" and instead only requires the user to choose a data source (e.g., "My Computer" or a specific external storage).
Malware Scanning
Starting with Flywheel 19.4, all files uploaded to Flywheel Core via the Bulk Import process (either from an external storage or from a local upload) are automatically scanned for malware.
Malware scanning with Bulk Import can be disabled for individual External Storages.
For more information, see the documentation on Malware Scanning during Bulk Import.
External Storages
- External storages configurations can be modified and tested without having to re-enter all configuration values (e.g., storage credentials, etc.).
- The new (BETA) CLI now supports modifying the configuration for an existing External Storage using
fw-beta admin storage update
Flywheel SDK & Returning Lists with Custom Info
- The Flywheel API will support an optional parameter for list requests that will cause the custom info contents to be returned with the list. Individually retrieving the custom info contents is no longer necessary.
- Custom info contents can be quite large, so when using this, the size and performance of the requests can vary
- The default behavior does not change, custom info contents are only returned when explicitly requested.
- Example usage:
project.subjects(include_all_info=True)
- Flywheel SDK 19.4.0 or later is required to use the new parameter with list requests.
Gears & Compute
- Improved gear logs
- Now provide additional visibility to users in gear logs for issues that occur during setup of compute as part of a gear run (downloading image, input files, storage provisioning)
Reader tasks
- Added the option to download files associated with a reader task directly at the task level.
Soft-Deleted Stats in SDK Usage Report
- Usage Report available from Flywheel API and Python SDK (
get_usage_report
andget_daily_usage_report
) now contain "Soft Deleted" storage stats. - Soft Deleted files are those that have been deleted by a user/device, are no longer available via Flywheel user interfaces and APIs, but the file contents still exist, making recovery possible.
- Customers can use the new soft deleted stats to better understand the storage impact of this data.
- Flywheel SDK 19.4.0 or later is required to access the soft deleted stats.
- It may take up to a week after your Flywheel site is upgraded to 19.4.0 for the system to complete the collection of the historical stats to be computed.
Viewer
- The V3 viewer now supports 3D segmentations!
- Create and edit segmentations using basic tools (circular or spherical brush tool, shapes tool, erase tool) or more advanced tools (threshold tool) in a 2D view or in a 2D multiplanar reconstruction (MPR) view.
- Create, edit, and save multiple regions of interest (ROIs) with their associated labels as a single DICOM SEG file.
- Facilitate your segmentation workflow with options to hide, lock, change the color and opacity of ROIs.
- Load multiple segmentations simultaneously in the viewer as DICOM SEG files or DICOM RTSTRUCT files
- Simplified workflow for 2D annotations, measurements and ROIs
- Enjoy a better user experience when creating annotations, measurements and ROIs. The concept of "untracked" measurements has been removed, and measurements now immediately appear in the measurement panel and can be saved without unnecessary user prompts.
- Introducing the Total Metabolic Tumor Volume (TMTV) mode.
- Visualize PET and CT images in 10 distinct and synchronized viewports including fusion viewports and a maximum intensity projection viewport.
- Calculate the total metabolic tumor volume based on SUV values using advanced threshold tools.
- Other features:
- Left-side panel is now collapsible to provide maximum focus on the images.
- Redesigned settings menu in the Viewer.
FIXES
Bulk Export
- Fixed an issue with Bulk Export where the export would fail if a planned to be exported could not be found in Flywheel. Now, the export will continue processing other files, and the affected file will be recorded in the export audit report.
Bulk Import
- Fixed a rare issue causing Bulk Import to stall and never complete in limited circumstances due to a race condition.
- Fixed an issue where users could add data to locked projects use Bulk Import.
- Fixed an issue with Bulk Import (including local upload) where the default rules required DICOM files to be organized either into a strict folder structure matching the Flywheel hierarchy or into a single-level folder. Now, if only DICOM files are being imported, then the DICOM files can be organized into a folder structure containing any number of levels.
- Fixed an issue with Bulk Import when uploading from a local file system where files that were uploaded but then never imported (due to not matching any inclusion filter rules) would remain in temporary storage indefinitely.
CLI (Legacy)
- Fixed an issue where users could add data to locked projects using
fw upload
command from the classic CLI. - Improved error messaging in the
fw export bids
command from the legacy CLI. - Fixed an issue with
fw sync
where the--include-container-flags
option was ignoring file-level tags.
CLI (New/Beta)
- Fixed an issue with the new (BETA) CLI where imports and exports from deleted projects could still be listed.
Data Management
- Resolved an issue where creating a project was not possible under groups with entirely numerical ids.
- Resolved invalid file deletion errors, that could happen when deleting a Project attachment, if a prior subject deletion operation resulted in analyses referencing that project attachment being deleted.
- Improved the access to Flywheel support within the Web UI Help menu.
- Resolved the issue causing subject label sorting in the Sessions List UI to only sort A->Z, even when Z->A was selected.
- Resolved an issue where the Web UI could sometimes fail to create API Keys that expire the present day.
Data Views
- Resolved an issue where a data view report is inaccessible for users who have a site-level permission as 'user' and have permission to a project, but not to any group. This could occur when running
bids-pre-curate
gear, which uses data views API, for example.
Gears & Compute
- Identified and resolved the cause for auth issues for dynamic engines, causing scaling failures. This will allow more reliable scaling.
- Additional site monitoring of orphaned job count by Flywheel.
- Improved slow Jobs Log response for users when filtering on the combination of the columns: Project, Status, Priority.
- Resolved an issue selecting Jobs in the Jobs Log UI after the original parent group had been deleted.
Python SDK
- Added warning messages when illegal characters in container custom info dict keys (
.
and$
) are automatically sanitized, so users can be aware when key names aren't set exactly as specified.- Adding this warning to files is coming soon.
- Updated the Flywheel SDK so that errors from the
get_zip_info()
function caused by illegal characters in file names will now indicate the reason for the error so the user knows what must be fixed.
19.4.1
FIXES
Project Administration
- Resolved issue where the Project Description editor in the Web UI could clear unsaved changes.
Search
- Resolved issues with Crawler re-indexing abandoned and completed partitions
- Resolved issue with the upgrade process that was causing Crawler to do an unnecessary full re-index.
19.4.2
FIXES
Search
- Fixed an issue where filtering on tag names longer than 16 characters or shorter than 2 characters was not working as expected. These tag names are now fully searchable.
19.4.3
FIXES
Viewer
- Added
WideFieldOphthalmicPhotographyStereographicProjectionImageStorage
to the list of supported SOP Class UIDs. Note: this issue had previously been fixed in 19.1 and 19.2 but was reintroduced in 19.3. - Fixed issue where the V2 viewer would inconsistently load older versions of a file instead of always loading the latest version.
Custom Viewers
- Fixed issue where LiteViewer may display an incorrect image.
Data Views
- Resolved an issue where data view queuing fails for regular (non-site-admin) users.
Compute
- Resolved issue where custom gears were failing on Azure sites due to an issue with docker image registry.
19.4.4
FIXES
Access Controls
- Resolved an issue when creating and modifying the permissions for a role. After saving, additional prompts for saving would appear. This fix resolves that issue.
Bulk Import & Export
- Fixed an issue with system auto-scaling for Bulk Import and Bulk Export causing the system to use less resources than it has available, which resulted in slower overall import/export speed than anticipated.
Bulk Import
- Filenames consisting of numeric digits only are now assumed to be DICOM with the default mapping rules.
- With this fix, any file that meets all of the following conditions will be assumed to NOT be DICOM:
- Do not have an extension of
*.dcm
,*.dicom
, or*.ima
; or - Have any non-numeric characters in their name; or
- Are located a non-leaf level folder in the source folder structure
- Do not have an extension of
- Otherwise, if any one of these conditions are met, the files will be assumed to be DICOM and imported according to the DICOM headers.
- As a reminder, such non-DICOM files would need to be organized into a 3-level folder structure matching the target Flywheel hierarchy.
- With this fix, any file that meets all of the following conditions will be assumed to NOT be DICOM:
- Fixed an issue with Bulk Import from object (cloud) storage where the import would skip all files located under a prefix that contained special characters (e.g.,
s3://data-for-import/20241201-ABCD +EF/Studies
) due to improper handling of the special characters. - Fixed an issue where Bulk Import would fail with a timeout error when preparing to export a very large project.
Bulk Export
- Fixed an issue with Bulk Export when launched via the Flywheel Core Web app where the "Container Template" selection criteria values containing spaces would be wrapped with quotes in an incorrect way, causing the incorrect data to be selected for export.
- Fixed an issue where Bulk Exports would fail with an error saying
AttributeError: 'AttrDict' object has no attribute 'dst_path'
when exporting multiple containers located at the exact same Flywheel hierarchy path (i.e., duplicate container labels).- With this fix, a numerical suffix will be appended to avoid the conflict when writing to the export destination (e.g.
sub/sess/acq
andsub/sess/acq_1
).
- With this fix, a numerical suffix will be appended to avoid the conflict when writing to the export destination (e.g.
Ingest (Legacy)
- Fixed an issue with legacy Ingest (
fw ingest
) where an Ingest job would get stuck in the Resolving state due to running out of memory.
19.4.5
FIXES
Bulk Import & Export
- Fixed an issue where Bulk Import and Export jobs would not appear to transition to the "failed" state in the case of a timeout error.
Bulk Import
- Fixed an issue with Bulk Import using the browser-based local file upload where certain DICOM files could not be uploaded when a de-ID profile was applied even though no de-ID-related errors were present.
Bulk Export
- Fixed an issue with Bulk Exports where the schedule details for a scheduled export job could not be viewed.
Compute
- Resolves issues of gears not running and gear installs failing for Azure sites due to an issue with the docker image registry.
19.4.6
FIXES
Viewer
- Fixed an issue where the V3 viewer would stop working when trying to load a session with a large volume of image data.