DicomTreeInfo¶
-
MLModule
¶ genre DICOM
author Wolf Spindler
package FMEstable/ReleaseMeVis
dll MLDicomAnalysis
definition MLDicomAnalysis.def see also Info
,DicomTreeCompare
,DirectDicomImport
,DicomImport
,DicomModifyTagsPlugin
,ModifyDicomTreeAndImage
,DicomModifyMultiFileVolumeExport
keywords inspect
,peek
,test
,information
,DICOM
,DCMTree
,Tag
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.
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¶
Field Index¶
#Volumes : Integer |
Found Value 2 (foundValue21) : String |
True File Name : String |
Annotate : Bool |
Info : String |
Use Regular Expression0 : Bool |
Compress White Spaces : Bool |
InIdx : Integer |
Use Regular Expression1 : Bool |
Dump Private Tag Values : Bool |
Input Selector : Enum |
Valid (foundValue1IsValid0) : Bool |
File Name : String |
Line End0 : String |
Valid (foundValue2IsValid0) : Bool |
Filter : String |
Line End1 : String |
Valid (foundValue1IsValid1) : Bool |
First Expression0 : String |
Num shown binary bytes : Integer |
Valid (foundValue2IsValid1) : Bool |
First Expression1 : String |
Occurrence0 : Integer |
warnDirectoriesOnBrowsing : Bool |
Found Value 1 (foundValue10) : String |
Occurrence1 : Integer |
warnNonExistingFileOnBrowsing : Bool |
Found Value 1 (foundValue11) : String |
Tag Dump : String |
|
Found Value 2 (foundValue20) : String |
Tag Dump Size : Integer |
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¶
#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 inInput 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 inFound Value 1
andFound 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 inFound Value 1
andFound 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 asFound 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’ asFound 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
andLine End0
ifUse 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 inFound 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 inFound Value 1
andFound 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 asFound 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’ asFound 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
andLine End1
ifUse 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.