sequence_detector

Submodules

dicom_parser.utils.sequence_detector.messages module

Strings and string formatting templates used in this module.

dicom_parser.utils.sequence_detector.sequence_detector module

Definition of the SequenceDetector class.

class dicom_parser.utils.sequence_detector.sequence_detector.SequenceDetector(sequences: dict = None)

Bases: object

check_definition(definition, values: dict)bool

Checks whether the specified header information values satisfy the provided definition.

Parameters
  • definition (dict or list) – The imaging sequence definition, as a dict or list of dict instances

  • values (dict) – Header information provided for the comparison

Returns

Whether the given header information fits the definition.

Return type

bool

Raises

TypeError – Encountered a definition of an invalid type.

detect(modality: str, values: dict)str

Tries to detect the imaging sequence according to the modality and provided header information.

Parameters
  • modality (str) – The imaging modality as described in the DICOM header

  • values (dict) – Sequence identifying header elements

Returns

The detected sequence name or None.

Return type

str

get_known_modality_sequences(modality: str)dict

Returns a dictionary of imaging sequence definitions.

Parameters

modality (str) – The modality for which to return imaging sequence defitions

Returns

Imaging sequence definitions

Return type

dict

Raises

NotImplementedError – The sequences dictionary does not include the provided modality

dicom_parser.utils.sequence_detector.sequences module

Known sequences defined by the expected (parsed) data element values from the header.

dicom_parser.utils.sequence_detector.sequences.MR_SEQUENCES = {'DTI': ({'ScanningSequence': {'Echo Planar', 'Spin Echo'}, 'SequenceVariant': {'None'}}, {'ScanningSequence': {'Echo Planar', 'Research Mode'}, 'SequenceVariant': {'None'}}), 'FLAIR': {'ScanningSequence': {'Inversion Recovery', 'Spin Echo'}, 'SequenceVariant': {'MAG Prepared', 'Segmented k-Space', 'Spoiled'}}, 'FSE': {'ScanningSequence': {'Spin Echo'}, 'SequenceVariant': {'Segmented k-Space'}}, 'FSPGR': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Segmented k-Space', 'Steady State'}}, 'IR-EPI': {'ScanningSequence': {'Echo Planar', 'Inversion Recovery'}, 'SequenceVariant': {'MAG Prepared', 'Oversampling Phase', 'Segmented k-Space', 'Spoiled'}}, 'Localizer': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Oversampling Phase', 'Spoiled'}}, 'MPRAGE': {'ScanningSequence': {'Gradient Recalled', 'Inversion Recovery'}, 'SequenceVariant': {'MAG Prepared', 'Segmented k-Space', 'Spoiled'}}, 'SPGR': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Segmented k-Space', 'Spoiled', 'Steady State'}}, 'ep2d': {'ScanningSequence': {'Echo Planar'}, 'SequenceVariant': {'Segmented k-Space', 'Spoiled'}}, 'fMRI': ({'ScanningSequence': {'Echo Planar'}, 'SequenceVariant': {'Steady State', 'Segmented k-Space'}}, {'ScanningSequence': {'Echo Planar', 'Gradient Recalled'}, 'SequenceVariant': {'Steady State'}})}

Sequences used in Magnetic Resonance (MR) imaging and their associated definitions.

dicom_parser.utils.sequence_detector.sequences.SEQUENCES = {'Magnetic Resonance': {'DTI': ({'ScanningSequence': {'Echo Planar', 'Spin Echo'}, 'SequenceVariant': {'None'}}, {'ScanningSequence': {'Echo Planar', 'Research Mode'}, 'SequenceVariant': {'None'}}), 'FLAIR': {'ScanningSequence': {'Inversion Recovery', 'Spin Echo'}, 'SequenceVariant': {'MAG Prepared', 'Segmented k-Space', 'Spoiled'}}, 'FSE': {'ScanningSequence': {'Spin Echo'}, 'SequenceVariant': {'Segmented k-Space'}}, 'FSPGR': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Segmented k-Space', 'Steady State'}}, 'IR-EPI': {'ScanningSequence': {'Echo Planar', 'Inversion Recovery'}, 'SequenceVariant': {'MAG Prepared', 'Oversampling Phase', 'Segmented k-Space', 'Spoiled'}}, 'Localizer': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Oversampling Phase', 'Spoiled'}}, 'MPRAGE': {'ScanningSequence': {'Gradient Recalled', 'Inversion Recovery'}, 'SequenceVariant': {'MAG Prepared', 'Segmented k-Space', 'Spoiled'}}, 'SPGR': {'ScanningSequence': {'Gradient Recalled'}, 'SequenceVariant': {'Segmented k-Space', 'Spoiled', 'Steady State'}}, 'ep2d': {'ScanningSequence': {'Echo Planar'}, 'SequenceVariant': {'Segmented k-Space', 'Spoiled'}}, 'fMRI': ({'ScanningSequence': {'Echo Planar'}, 'SequenceVariant': {'Steady State', 'Segmented k-Space'}}, {'ScanningSequence': {'Echo Planar', 'Gradient Recalled'}, 'SequenceVariant': {'Steady State'}})}}

Known sequences by modality.

Module contents