DICOM Connector Advanced Configuration Guide
Introduction
This document provides comprehensive specifications for advanced DICOM Connector configuration options including custom metadata extraction, acquisition naming strategies, and data organization.
For information about how DICOM maps to the Flywheel hierarchy, see the Hierarchy Mapping Guide. For metadata processing mechanics, see the Metadata Extraction Guide. For deployment and networking information, see the Infrastructure Reference.
Advanced Metadata Extraction
Beyond the default metadata mappings, the DICOM Connector supports advanced extraction capabilities for custom metadata patterns and routing strategies.
Custom Metadata Patterns
The Connector can parse custom DICOM tags using flexible pattern matching:
Pattern Syntax:
- Curly brackets
{}: Capture metadata fields (e.g.,{group._id},{project.label}) - Square brackets
[]: Indicate optional parts (e.g.,[/{session.label}]) - Multiple patterns: Can be applied in sequence with precedence
Example Pattern:
This pattern:
- Requires
group._idandproject.label - Makes
subject.labelandsession.labeloptional - Allows partial routing strings like
fw://group/projectorfw://group/project/subject
Use Cases:
- Parse custom tags selected by your institution
- Support flexible routing string formats
- Extract metadata from non-standard DICOM fields
- Implement institution-specific naming conventions
Tag Selection Guidance
When selecting DICOM tags for custom metadata extraction, consider these characteristics:
Ideal Tag Properties:
- Not currently utilized for clinical purposes
- Prominently displayed on scanner console UI
- Free-form string type (Long String or Person Name)
- No length or character restrictions
- Not deprecated or retired in DICOM standard
Common Tag Choices:
PatientComments- Often unused and available on most scannersAdditionalPatientHistory- Free-form text fieldStudyComments- Study-level free text (deprecated in DICOM standard but historically used for this purpose)
Work with Flywheel to identify the most appropriate tag for your scanners and workflow.
Metadata Defaults and Overrides
The Connector supports setting default values and overriding extracted metadata:
Default Values:
- Applied when a field is empty or not set
- Useful for providing fallback organization or project names
- Multiple defaults can be specified
Override Values:
- Force-set specific field values regardless of DICOM content
- Useful for standardizing certain metadata across all uploads
- Last override wins if multiple are specified for the same field
Advanced Regex Extraction
For complex parsing requirements, the Connector supports full regular expression patterns:
Capabilities:
- Named capture groups for metadata fields
- Full regex syntax support
- Manual anchor specification (
^and$) - Complex conditional matching
When to Use:
- Standard patterns cannot capture required metadata structure
- Complex string parsing from free-text fields
- Institution-specific formats requiring precise control
Example Use Case:
Extract research project code and subject identifier from patient ID formatted as STUDY123-SUBJECT456:
- Pattern extracts project code
STUDY123to project label - Extracts subject identifier
SUBJECT456to subject label
Metadata Formatting
Construct metadata values from multiple DICOM fields:
Example:
Results in acquisition labels like 003-T1_MPRAGE or 015-BOLD_resting_state.
Use Cases:
- Create descriptive filenames combining multiple fields
- Generate consistent acquisition naming
- Include series numbers in labels for sorting
- Combine timestamp and description information
Configuration Considerations
Custom metadata extraction is configured by Flywheel during deployment:
- Patterns should be tested against sample DICOM data from your scanners when possible
- Multiple extraction rules can be applied in sequence
- First successful match determines final metadata values
- Pattern validation requires collaboration between Flywheel and customer to verify correct behavior
Custom metadata extraction enables flexible workflows while maintaining data organization and traceability.
Advanced Acquisition Naming Options
Beyond default SeriesDescription mapping, the Connector supports various acquisition naming strategies.
Series Number Prefixing
Add series numbers to acquisition labels for consistent sorting and identification:
Configuration Option: Series number prefix
Result:
- Series 3 with description
T1_MPRAGEbecomes003 - T1_MPRAGE - Series 15 with description
BOLD_restingbecomes015 - BOLD_resting
Benefits:
- Maintains scan order in acquisition lists
- Distinguishes repeated sequences
- Facilitates automated processing pipelines
Zero-Padded Series Numbers
Control series number padding for consistent string sorting:
Padding Options:
- 2 digits:
01,02, ...99 - 3 digits:
001,002, ...999 - 4 digits:
0001,0002, ...9999
Example:
Without padding: 1 - T1, 10 - T2, 2 - PD (incorrect sort order)
With 2-digit padding: 01 - T1, 02 - PD, 10 - T2 (correct sort order)
Timestamp-Based Labeling
Incorporate acquisition timestamps into labels for precise timing information:
Concept:
- Combine timestamp information with series descriptions
- Support time-based sorting and identification
- Maintain chronological order for repeated sequences
Use Cases:
- Longitudinal studies requiring precise timing
- Time-series functional imaging
- Studies where acquisition time is more relevant than description
- Distinguishing repeated sequences of same protocol
Custom Filename Formatting
Construct filenames from multiple DICOM fields:
Format Pattern Examples:
Result Examples:
003-1.2.840.113619.2.55.3-T1_MPRAGE20241024-003-T1_MPRAGESUB001-20241024-003
Use Cases:
- Unique file identification across studies
- Include study metadata in filenames
- Support downstream processing requirements
- Maintain traceability to source data
Custom Routing Pattern Examples
Advanced routing patterns for complex organizational requirements.
Partial Routing with Defaults
Pattern:
Behavior:
| Routing String Input | Extracted Values | Fallback Behavior |
|---|---|---|
fw://neuro/parkinson/sub01/ses01 | All specified | None needed |
fw://neuro/parkinson/sub01 | Group, project, subject | Session from StudyDescription |
fw://neuro/parkinson | Group, project | Subject from PatientID, session from StudyDescription |
Space-Separated Identifiers in StudyDescription
Pattern:
Use Case:
Some institutions encode group and project identifiers in the StudyDescription field using space separation.
Example StudyDescription: neuro parkinsons-longitudinal
Extraction Results:
- Group:
neuro - Project:
parkinsons-longitudinal - Subject and Session: Derived from other DICOM fields (e.g., PatientID, StudyDate)
Site-Specific Routing with Defaults
Pattern with Defaults:
Default organization and project when routing string is missing or incomplete.
Behavior:
- Missing routing string →
Unknowngroup - Incomplete routing →
Unsortedproject - Default subject: Derived from
PatientID - Default session: Derived from
StudyDescription
Timestamp Handling Options
Control how the Connector interprets and uses DICOM timestamp fields.
Timezone Configuration
Default Behavior: All timestamps use UTC timezone
Configurable Options:
- Specify scanner local timezone
- Use facility timezone
- Force UTC for all timestamps
Impact:
- Affects
session.timestampvalues - Affects
acquisition.timestampvalues - Critical for multi-site studies across timezones
Example:
Scanner in US Eastern timezone captures at 14:30 local time:
- UTC timezone:
2024-10-24T19:30:00Z - Local timezone:
2024-10-24T14:30:00-05:00
Alternative Timestamp Sources
Session Timestamp Sources:
- Primary:
StudyDate+StudyTime - Alternative: Can be configured to use other date/time combinations
Acquisition Timestamp Sources:
- Default:
AcquisitionDate+AcquisitionTime - Siemens scanners:
SeriesDate+SeriesTime - Fallback:
session.timestampif acquisition timestamp unavailable
Timestamp-Based Session Labeling
Option: Use timestamp as session label instead of StudyDescription
Behavior:
- Uses the original DICOM timestamp format from
StudyDate+StudyTime - Exact format depends on how DICOM fields are formatted in source data
Use Cases:
- Time-series longitudinal studies
- Multiple sessions per day
- When study descriptions are not unique
Extended SeriesInstanceUID Manipulation
Expand on the existing UID processing rules with additional context.
UID Suffix for Multi-Acquisition Series
Rule: Non-Siemens manufacturers with AcquisitionNumber > 1
Processing:
Original SeriesInstanceUID: 1.2.840.113619.2.55.3
With AcquisitionNumber = 2: 1.2.840.113619.2.55.3_2
Purpose:
- Separate multi-part acquisitions into distinct Flywheel acquisitions
- Maintain relationship through base UID
- Support modalities that use acquisition numbers for segmentation
Derived Series UID Decrementing
Rule: ImageType contains DERIVED\SECONDARY\SCREEN SAVE or DERIVED\SECONDARY\VXTL STATE
Processing:
Original SeriesInstanceUID: 1.2.3.4.5.6
Processed: 1.2.3.4.5.5 (last component decremented)
Purpose:
- Group derived series with their source series
- Maintain distinct UIDs while indicating relationship
- Support post-processing workflows
UID Preservation for Source Tracking
Behavior:
- Original
SeriesInstanceUIDalways preserved in DICOM metadata - Manipulated UID used only for Flywheel organization
- Enables tracing back to source DICOM system
Benefits:
- Maintains DICOM compliance
- Supports data provenance
- Enables cross-platform tracking
Preventing Duplicate Acquisitions
UID-Based Deduplication:
- Connector tracks uploaded series by
SeriesInstanceUID - Re-uploads only occur if series content changes
- Grace period applies to vanished series
Series Completion Detection:
- Monitors
NumberOfSeriesRelatedInstancesheader - Waits for stability before upload
- Configurable delay for conservative completion
Metadata Formatting Examples
Practical examples of metadata formatting patterns.
Acquisition Label Patterns
Pattern 1: Series Number and Description
Result: 003 - T1_MPRAGE
Pattern 2: Number, Modality, and Description
Result: 003 - MR - T1_MPRAGE
Pattern 3: Timestamp Prefix
Result: 143015 - T1_MPRAGE
Session Label Patterns
Pattern 1: Study Description with Date
Result: Brain Protocol - 20241024
Pattern 2: Protocol and Time
Result: NeuroProtocol - 143000
Subject Label Patterns
Pattern 1: Patient ID with Site Code
Result: SITE01-SUB123
Pattern 2: Formatted Patient Name
Result: SUB123 - LastName^FirstName
Filename Patterns
Pattern 1: Complete Traceability
Result: 20241024_003_1.2.840.113619.2.55.3
Pattern 2: Human-Readable
Result: 003_T1_MPRAGE_20241024
Pattern 3: Minimal Unique
Result: 003_143015
Configuration Coordination
All advanced options are configured by Flywheel during deployment in collaboration with customer requirements.
Configuration Process
- Requirements Gathering: Customer describes naming and organizational needs
- Pattern Design: Flywheel designs metadata extraction and formatting patterns
- Sample Testing: Patterns tested against customer DICOM samples when available
- Validation: Customer validates results match expectations
- Deployment: Flywheel deploys validated configuration
- Refinement: Adjustments made based on production observations
When to Use Advanced Options
Consider Advanced Options When:
- Default naming does not support workflow requirements
- Multiple studies require different organizational strategies
- Downstream processing depends on specific naming patterns
- Time-based sorting is critical
- Cross-site studies require timezone consistency
- Multi-acquisition series need separation
Discuss with Flywheel:
- Specific DICOM field values from your scanners
- Desired organizational structure
- Downstream system requirements
- Any existing naming conventions to maintain
Related Resources
- DICOM Connector Overview - Feature overview and key concepts
- Hierarchy Mapping Guide - How DICOM maps to Flywheel hierarchy
- Metadata Extraction Guide - Metadata processing mechanics
- Infrastructure Reference - Deployment architectures and networking
- Deployment Planning Guide - Comprehensive deployment planning
- Admin Guide - Ongoing management and operations
- User Guide - Scanner operator instructions