Flywheel Core 20.5
20.5.0
FEATURES
Bulk Import
Multiple Series in Same Folder
-
Bulk Import now allows multiple DICOM series in the same source folder.
- Previously, each DICOM series needed to be in its own source folder and no single folder was allowed to contain more than one DICOM series. This restriction has been removed!
Performance Considerations
Although it is no longer mandatory, it is still recommended to continue separating each DICOM series into a separate source folder when feasible to achieve the best import speed.
DICOM Grouping/Zipping Enhancements
- Many improvements have been made related to how Bulk Import groups and packages DICOM files into ZIP archives:
- DICOM files are grouped into separate ZIP archives by
StudyInstanceUID
andSeriesInstanceUID
.- A new
--dicom-group-by <tag>
option in the new (BETA) CLI can be used to define how Bulk Import should group DICOM files.- This option can be set multiple times to "group by" multiple DICOM tags at once.
- A new
- DICOM localizer files are separated into their own ZIP archives.
- The following DICOM tags are inspected when determining whether a DICOM file is a localizer or not:
InstanceNumber
,ImageOrientationPatient
,ImagePositionPatient
,Rows
, andColumns
.
- The following DICOM tags are inspected when determining whether a DICOM file is a localizer or not:
- Single DICOM files are always zipped by default.
- Previously, single DICOMs were only zipped (in
-t dicom
mode) if the--zip
option was set. - The file extension is set to
*.dicom.zip
to clarify that the ZIP archive contains DICOM files. - Zipping of single DICOM files can be disabled by setting the
--no-zip-single
option in the new (BETA) CLI.
- Previously, single DICOMs were only zipped (in
- The name
file.name
field can be used to control the name of ZIP archives containing DICOM files.- As a reminder, the name of any arbitrary file being imported into Flywheel can be configured using the
file.name
field with the--mapping
option. This option now also supports controlling the name of ZIP archives that are created when packaging DICOM files (e.g., when-t dicom
is set).
- As a reminder, the name of any arbitrary file being imported into Flywheel can be configured using the
- ZIP files now always contain a parent folder to avoid polluting the current directory upon extraction.
- For example, the contents of
12345.zip
are nested inside a folder named12345
(like12345.zip/12345/abcdef.dcm
), so that when12345.zip
is extracted its contents are neatly organized (like./12345/abcdef.dcm
) and not mixed into the current directory.
- For example, the contents of
- Individual DICOM files are renamed when packed into ZIP archives.
- Previously, original file names were preserved for all files by default.
- The new default naming convention for single DICOM files that are packaged into ZIP archives is
{SOPInstanceUID}.{Modality}.dcm
- The original file name is preserved for single DICOM files that are not packaged into ZIP archives (e.g., when
--no-zip-single
is set).
- The original file name is preserved for single DICOM files that are not packaged into ZIP archives (e.g., when
- The naming of single DICOM files can be configured using the new (BETA) CLI option,
--dicom-instance-name <template>
.- The
--dicom-instance-name
option only affects DICOM files that are packaged into ZIP archives; it does not affect single DICOM files when the--no-zip-single
option is also set.
- The
- DICOM files are grouped into separate ZIP archives by
- Refer to the new (BETA) CLI documentation on
import run
for more information about these configuration options.
Error-handling Improvements
- Improved error messaging for when a Bulk Import job from "My Computer" using the new (BETA) CLI fails due to an error when placing a file into Flywheel Core, so that it better explains where the failure occurred.
Bulk Export
- Improved error messaging for when a Bulk Export job to "My Computer" using the new (BETA) CLI fails due to an error when fetching a file from Flywheel Core, so that it better explains where the failure occurred.
Smart Copy
- Performing a Smart Copy of a single subject to an existing project, or acquisition to an existing session is now possible with the Flywheel Python SDK.
- The new SDK functions
acquisition_copy()
andsubject_copy()
and corresponding APIs support the same filters available with Project Smart Copy, as well as detecting label conflicts, and updating the subject and acquisition label as part of the copy operation.
Viewers
V3 viewer
-
Usability improvements:
- Zip files containing
.DS_Store
hidden files can now be opened in the viewer. InstanceNumber (0020,0013)
is no longer a required field to open images in the viewer. Images are first ordered based onImagePositionPatient (0020,0032)
. If that field does not exist, thenInstanceNumber
is used.
- Zip files containing
-
Design improvements:
- Continuing what was started in 20.4, additional UI components have been updated according to Flywheel's design system for a more consistent feel and look across the viewer's interface.
BrainBrowser
- The BrainBrowser viewer is now available as a standalone Viewer Extension Application.
- Installation instructions can be found within the BrainBrowser Info article.
- The embedded version of this viewer was removed with Flywheel version 20.3.0
Embedded HTML
- The embedded HTML viewer can now be launched on files with a
.html.zip
with aqa
file type. - Newer versions of MRIQC gears output these files.
FIXES
Data Management
- Resolved an issue where navigating to the Session and Subject management pages in the Web UI could result in their contents briefly flickering and reloading.
Data Transfer
Bulk Import
- Fixed an issue with conflict handling in Bulk Import where the total count of detect conflicts was inaccurate and showing a significantly higher count than it should have, particularly while the import was still in progress.
- Fixed an issue with starting a new Bulk Import via the Web App where the data source (e.g., external storage) option could not be easily changed after choosing one.
- Fixed an issue with Bulk Import from "My Computer" where the upload would sometimes fail with an error saying,
422 Unprocessable Content
. - Fixed an issue with Bulk Import where container tags were not imported from metadata file.
Gears and Compute
- Improved the performance of the run gear selection dialog for sites with a large number of gears with many versions.
- Resolved an issue with handling gear manifests in the UI. In situations where the manifest config had an array that contained duplicate values, the UI did not correctly handle the array. This is now fixed.
- Improved the reliability of Flywheel APIs under high system load, including those affecting the uploading of gear output files.
SDK (Python)
- Fixed an issue with the Python SDK where deleting a key from the info collection on a container (e.g.,
subject.delete_info("test_key")
) would result in an error if the info collection was empty.
User Management
- Resolved an issue on Flywheel-hosted SaaS Tenants where adding a user from the Tenant's Web UI would result in an error.
Viewers
V2 viewer
- Fixed an issue where the browser in the
Segmentation > Load Mask
menu would go back to the session level when trying to load a mask from the same analysis container as an analysis image file. When an analysis image file is opened in the viewer, theSegmentation > Load Mask
menu now defaults to the same analysis container.
V3 viewer
- Fixed an issue where images would not open in the viewer when the value of one or more non-required DICOM headers was of a different type than their expected Value Representation (VR) e.g. when the value of a DICOM tag with a VR of
Integer String
(IS) was a string (e.g.None
). - Fixed an issue where editing existing DICOM Structured Reports or DICOM SEG files would result in a duplicate when the DICOM SR or DICOM SEG was in a separate acquisition than their reference image file.
- Fixed an issue where segmentations would not load correctly in the 2D MPR layout.
- Fixed an issue where measurements on ultrasound data with multiple
SequenceOfUltrasoundRegions
were inaccurate.
Warning
There is still a known issue with the accuracy of measurements on ultrasound data with a single SequenceOfUltrasoundRegions
. This has been added to the list of known limitations. This will be fixed in an upcoming release.