Purpose

The DicomTreeInfo displays some information about a DICOM tree connected to any input. This includes the number of different tag types in the tree as well as a normal readable (and searchable) dump of the DICOM tags.

Also search filters are available to extract values from the tag dump, for example to retrieve private tag values from private tags decoders.

Details

Note that the filter operations in the Filter tab also operate on the displayed tag dump. Therefore the filter results directly depend on the size of the dump, annotations, the size of the displayed binary value and whether private tags values are enabled or not. Values not visible in the dump will not be found by any filtering expression.

Windows

Default Panel

../../../Projects/DICOM/MLDicomAnalysis/Modules/mhelp/Images/Screenshots/DicomTreeInfo._default.png

Input Fields

input0

name: input0, type: Image

The connector of an ML image which is used as for a DICOM tree if it is selected in Input Selector.

inputBase

name: inputBase, type: MLBase

This input might be used as the source of a DICOM tree if it is selected in Input Selector.

Parameter Fields

Visible Fields

File Name

name: unresolvedFileName, type: String, deprecated name: unresolvedDcmInputFileName

If a loading operation from disk is selected as input in the Input Selector field then the file name from which the DICOM tree shall be loaded is specified here. Otherwise this field is insensitive.

True File Name

name: absoluteFileName, type: String, persistent: no, deprecated name: dcmInputFileName

If a loading operation from disk is selected as input in the Input Selector field then the file name from which the DICOM tree shall be loaded is specified here. Otherwise this field is insensitive.

Input Selector

name: inputSelector, type: Enum, default: ImageConnector

This field determines the source of the DICOM tree whose content shall be analyzed.

Values:

Title Name Description
Image Connector ImageConnector The DICOM tree is retrieved from input0.
Base Connector BaseConnector The DICOM tree is retrieved from inputBase.
File File The DICOM tree is retrieved via a file load from True File Name.
Multi File Volume Cache MultiFileVolumeCache The DICOM tree is retrieved from a cache file of MultiFileVolumeList whose file path must be given by True File Name.

InIdx

name: inputVolumeIndex, type: Integer, default: 0

Selects an entry from a connected list of volumes from inputBase if a MultiFileVolumeListRefCounted base object is connected, or if a MultiFileVolumeList is loaded from file.

#Volumes

name: numVolumes, type: Integer, persistent: no

This read-only field shows number of available volumes. For most inputs this will be 0 if no DICOM tree is available, 1 if there is any, or any other number for a lists of volumes at inputBase if a MultiFileVolumeListRefCounted base object is connected and selected in Input Selector, or if a MultiFileVolumeList is loaded from file.

Tag Dump Size

name: tagDumpSize, type: Integer, default: 10000

Maximum number of characters shown in the ‘Tag Dump’ field. Too large values can degrade performance when viewing the DICOM tag list. Note that the filter operations in the Filter tab also operate on the displayed tag dump and its size. If this value is too small then some values might not be found by the filters.

Dump Private Tag Values

name: dumpPrivateTagValues, type: Bool, default: FALSE

If enabled then values of private tags are decoded if decoders are available. Note that the filter operations in the Filter tab also operate on the displayed tag dump and its size. If private tags values are not dumped then some values might not be found by the filters.

Num shown binary bytes

name: numShownBinaryEntries, type: Integer, default: 8

Number of shown entries of binary tags.

Annotate

name: annotate, type: Bool, default: FALSE

If enabled then tags are annotated with further descriptive information such as possible types (1=Mandatory, 1C=Conditionally Mandatory, 2=Mandatory, may have zero or one item, 2C=Conditionally Mandatory, but may be empty, 3=Optional) and possible meanings of the tag. Note that no context analysis is performed for that information and therefore all possible and perhaps redundant meanings are shown. Note that the filter operations in the Filter tab also operate on the displayed tag dump and its annotations. If annotations are off then their contents will not be found by the filters.

Filter

name: regExLineFilter, type: String

If not empty then the regular expression is used to filter all lines of the tag dump. Examples:

  • .*

    Matches all paths.

  • .*logo.*

    Matches anything containing ‘logo’ (case sensitive)

  • .*[lL][oO][gG][oO].*

    Matches anything containing ‘logo’ (case insensitive)

  • .*.[jJ][pP][gG]

    Matches anything ending with .jpg where jpg is case insenstive.

  • .*.JPG|.*.jpg

    Matches all paths ending with either ‘.jpg’ or with ‘.JPG’.

  • .*d.*

    Matches all paths containing at least one digit.

  • .*[[:digit:]].*

    Same as above.

  • .*[[:xdigit:]].*

    Matches all paths containing at least one hexadecimal digit.

  • .*l.*

    Matches all paths containing at least one lower case character.

  • .*[[:lower:]].*

    Same as above.

  • .*u.*

    Matches all paths containing at least one upper case character.

  • .*[[:upper:]].*

    Same as above.

  • .*s.*

    Matches all paths containing at least one white space character.

  • .*[[:space:]].*

    Same as above.

  • .*[[:blank:]].*

    Matches all paths containing at least one non-line-separating whitespace.

  • .*[[:word:]].*

    Matches all paths containing at least one word character (alphanumeric characters plus the underscore).

  • .*[[:w:]].*

    Same as above.

  • .*[[:graph:]].*

    Matches all paths containing at least one graphical character.

  • .*[5-7].*

    Matches all paths containing at least one of the digits 5, 6 or 7.

Tag Dump

name: tagDump, type: String, persistent: no

Shows the DICOM tag list of currently selected volume (the dump will be clamped if the tag list is too large). Note that the filter operations in the Filter tab also operate on the displayed tag dump.

Compress White Spaces

name: compressWhiteSpaces, type: Bool, default: FALSE

If enabled then all white spaces except of newlines and line feeds are replaced by spaces and multiple occurrences are compressed to single ones before applying filters; otherwise the tag dump is left unchanged before filtering. This might be useful to simplify filter expressions or string values specifying line begin end end values, because only one a single space is needed to match an arbitrarily sized white space range.

Use Regular Expression0

name: useRegularExpression0, type: Bool, default: FALSE

If enabled then First Expression0 is used as regular expression which must match the line. A match result is shown in Found Value 1 and Found Value 2 then. Line End0 will not be used in this case.

First Expression0

name: firstExpression0, type: String

The string or expression which must be left of the searched string if Use Regular Expression0 is off. If regular expressions is on then it is used to match the string and the first two match results are shown in Found Value 1 and Found Value 2. For regular expression filtering the following examples might be useful to extract values.

^.*[Modality]:(.*)$

Matches a line containing ‘[Modality]:’, returns the line in Found Value 1 and returns the rest after the colon as Found Value 2.

^.*0032.*1060.*:(.*) Fahle$

Searches a line containing ‘0032’, ‘1060’, ‘:’ and which finishes with ‘ Fahle’, returns the entire line as Found Value 1, and the string after the colon and before ‘ Fahle’ as Found Value 2.

See also Filter for further regular expressions.

Line End0

name: lineEnd0, type: String

The string which must be right of the searched string; only used if Use Regular Expression0 is off.

Occurrence0

name: occurrence0, type: Integer, default: 0

Selects the nth found line to match or the last if -1.

Found Value 1 (foundValue10)

name: foundValue10, type: String

The value found between First Expression0 and Line End0 if Use Regular Expression0 is off; otherwise the first match result of the regular expression.

Valid (foundValue1IsValid0)

name: foundValue1IsValid0, type: Bool, default: TRUE

Active if Found Value 1 is valid.

Found Value 2 (foundValue20)

name: foundValue20, type: String

The second match result of the regular expression (only used if Use Regular Expression0 is enabled).

Valid (foundValue2IsValid0)

name: foundValue2IsValid0, type: Bool, default: TRUE

Active if Found Value 2 is valid.

Use Regular Expression1

name: useRegularExpression1, type: Bool, default: FALSE

If enabled then First Expression1 is used as regular expression which must match the line. A match result is shown in Found Value 1 then. Line End1 will not be used in this case.

First Expression1

name: firstExpression1, type: String

The string or expression which must be left of the searched string if Use Regular Expression1 is off. If regular expressions is on then it is used to match the string and the first two match results are shown in Found Value 1 and Found Value 2. For regular expression filtering the following examples might be useful to extract values. Note that [ and ] need one backslash to be escaped correctly:

^.*\[Modality\]:(.*)$

Matches a line containing ‘[Modality]:’, returns the line in Found Value 1 and returns the rest after the colon as Found Value 2.

^.*0032.*1060.*:(.*) Fahle$

Searches a line containing ‘0032’, ‘1060’, ‘:’ and which finishes with ‘ Fahle’, returns the entire line as Found Value 1, and the string after the colon and before ‘ Fahle’ as Found Value 2.

See also Filter for further regular expressions.

Line End1

name: lineEnd1, type: String

The string which must be right of the searched string; only used if Use Regular Expression1 is off.

Occurrence1

name: occurrence1, type: Integer, default: 0

Selects the nth found line to match or the last if -1.

Found Value 1 (foundValue11)

name: foundValue11, type: String

The value found between First Expression1 and Line End1 if Use Regular Expression1 is off; otherwise the first match result of the regular expression.

Valid (foundValue1IsValid1)

name: foundValue1IsValid1, type: Bool, default: TRUE

Active if Found Value 1 is valid.

Found Value 2 (foundValue21)

name: foundValue21, type: String

The second match result of the regular expression (only used if Use Regular Expression1 is enabled).

Valid (foundValue2IsValid1)

name: foundValue2IsValid1, type: Bool, default: TRUE

Active if Found Value 2 is valid.

Info

name: info, type: String, persistent: no

Displays statistical information about the connected DICOM tree.

  • TopLevelTags The number of tags on the root level of the DICOM tree including sequences, private tags and creators.
  • TopLevelPrivateTags The number of private tags and private creator tags on the root level of the DICOM tree.
  • TopLevelPrivateCreators The number of private creator tags on the root level of the DICOM tree.
  • TopLevelPrivateSequenceTags The number of private sequence tags on the root level of the DICOM trees.
  • TopLevelOrdinaryTags The number of tags on the root level of the DICOM trees (including sequences and excluding private tags and private creator tags).
  • TopLevelSequenceTags The number of sequence tags on the root level of the DICOM trees (including only non-private ones).
  • TopLevelBadTags The number of tags whose information could not be retrieved (should normally be 0).
  • Largest tag value in bytes The number of bytes in the largest tag found.
  • Id of largest tag The tag ID of the largest tag found.
  • Has Parent tree ‘Yes’ if the tree has a parent tree which which may hide, remove or add tags, otherwise ‘No’.
  • Has dictionary ‘Yes’ if the tree has a name-lookup dictionary for tag ids, or ‘No’ otherwise.

Hidden Fields

warnNonExistingFileOnBrowsing

name: warnNonExistingFileOnBrowsing, type: Bool, default: TRUE

warnDirectoriesOnBrowsing

name: warnDirectoriesOnBrowsing, type: Bool, default: TRUE