MultiFileVolumeListDiagnosisOutput¶
-
MLModule
¶ genre MultiFileVolumeList, DICOM
author Wolf Spindler
package FMEstable/ReleaseMeVis
dll MLMultiFileVolumeListOutputs
definition MLMultiFileVolumeListOutputs.def see also DirectDicomImport
,Info
,MultiFileVolumeListBaseOutput
,MultiFileVolumeListSEGOutput
,MultiFileVolumeListSROutput
inherits from MultiFileVolumeListBaseOutput
keywords DICOM
,DCM
,import
,load
,read
,analyze
,verify
,diagnosis
,multifile
,volume
Purpose¶
The MultiFileVolumeListDiagnosisOutput
provides diagnosis functionality for a MultiFileVolumeList either from a connected DirectDicomImport
module, from a stored MultiFileVolume(List) (also called “cache”) file, or of course, from any other module having a MultiFileVolumeList output.
Its purpose is to perform diagnosis and validation checks on a single selected MultiFileVolume or even on all volumes of an entire list.
This is especially useful for example:
- to verify whether all files of a MultiFileVolume exist (for example after writing it to a cache file or after building databases of MultiFileVolumes).
- to find out whether files of a MultiFileVolume come from not more than one directory, because in some situations it is not desired that frames from different directories are composed to volumes, or that the number of directories is not different than the number of time points of the volume.
- to find out how many tags with same id and different values appear in MultiFileVolume(s). This, for example, can be useful to determine whether it has been composed from frames with different SeriesInstanceUIDs.
Input Fields¶
inputMessageFilterPlugin¶
-
name:
inputMessageFilterPlugin
, type:
MLBase
¶ In some situations is may be of interest to suppress messages (errors, or warnings) generated while loading or importing files since the user is aware of their origin and meaning, and because they shadow other messages which might have a higher importance. For this purpose a plugin can be connected to this input which filters out specific messages, for example a
DicomConfigurableMessageFilter
. If this input is left open then the messages are generated normally.
Parameter Fields¶
Field Index¶
Visible Fields¶
Auto Load Result Cache¶
-
name:
autoLoadResultCache
, type:
Bool
, default:
FALSE
¶ If enabled then the cache file is loaded automatically from file, otherwise
Load Result Cache
must be pressed for that purpose.
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.
Dump Private Tag Values¶
-
name:
dumpPrivateTagValues
, type:
Bool
, default:
FALSE
¶ If enabled then values of private tags are decoded if decoders are available.
Num shown binary bytes¶
-
name:
numShownBinaryEntries
, type:
Integer
, default:
8
¶ Number of shown entries of binary tags.
see also MultiFileVolumeListBaseOutput.numShownBinaryEntries
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.
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 charcater (alphanumeric characters plus the underscore). .*[[:w:]].* // Same as above. .*[[:graph:]].* // Matches all paths containing at least one graphical charcater. .*[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).
Check All Multi File Volumes¶
-
name:
checkAllMultiFileVolumes
, type:
Bool
, default:
FALSE
¶ If checked then all MultiFileVolumes in the connected list are checked, otherwise only the currently selected one.
Do Files Exist Check¶
-
name:
doFilesExistCheck
, type:
Bool
, default:
TRUE
¶ If enabled then a check is run whether all required files of the MultiFileVolume(List) exist, see also
Files Exist
. Some files in a MultiFileVolume are optional; if they miss the check will not fail. The check will also succeed if no volumes exists, or volumes do not reference any files.
Post errors (postFileExistCheckFailuresAsMLError)¶
-
name:
postFileExistCheckFailuresAsMLError
, type:
Bool
, default:
TRUE
¶ If enabled then any failure in
Do Files Exist Check
are posted as ML error; otherwise onlyFiles Exist
is updated.
Files Exist¶
-
name:
filesExist
, type:
Bool
, persistent:
no
¶ If no check is performed or if not all required files could be found then this checkbox is set to false, otherwise to true. If an empty MultiFileVolume(List) is checked then this flag will be set true, because no file is recognized as missing.
Do One Dir Check¶
-
name:
doOneDirCheck
, type:
Bool
, default:
FALSE
¶ In some cases it is not desired that a MultiFileVolume has frames from more than one directory. In some situations this can indicate that volumes have been composed incorrectly, however, not in all. If
Do One Dir Check
is checked, then the frame handles of the MultiFileVolume(s) are checked: if they come from more than one directory in one MultiFileVolume thenOne Dir
is deactivated, otherwise it is enabled.
Post errors (postOneDirCheckFailuresAsMLError)¶
-
name:
postOneDirCheckFailuresAsMLError
, type:
Bool
, default:
TRUE
¶ If enabled then any failure in
Do One Dir Check
are posted as ML error; otherwise onlyOne Dir
is updated.
One Dir¶
-
name:
oneDir
, type:
Bool
, persistent:
no
¶ If the check for frames from one directory explained in
Do One Dir Check
fails or if no check is performed, thenOne Dir
is deactivated, otherwise it is set to true. If an empty MultiFileVolume(List) is checked then this flag will be set true, because the source of frames of no MultiFileVolume was recognized as problematic.
Calculate # of frame directories¶
-
name:
doNumFrameDirsCalc
, type:
Bool
, default:
FALSE
¶ If enabled then the number of directories is counted in which the files of the volume(s) are stored and written to
# Directories:
. If the number is calculated for more than one volume then the results will be space separated and be listed in the order of appearance of the volumes in the list. If disabled then# Directories:
will be empty.
# Directories:¶
-
name:
numFrameDirs
, type:
String
, persistent:
no
¶ Displays the number of directories from which the frame files of MultiFileVolume(s) come, according to the settings in
Check All Multi File Volumes
andCalculate # of frame directories
. Multiple results are separated with spaces if necessary.
Calculate # of different tag values¶
-
name:
doNumTagIdCalc
, type:
Bool
, default:
FALSE
¶ Returns the number of existing different string-convertible top-level tags with id
Tag Id:
. IfTag Id:
denotes a sequence tag, any tag is not string convertible, or shall be determined on enhanced multi-frame files then N/A will be displayed. InvalidTag Id:
values cause empty# Different tag values:
.
Tag Id:¶
-
name:
tagId
, type:
String
, default:
SeriesInstanceUID
¶ The ID of the tag whose number of different values shall be searched in the MultiFileVolume(List).
Is Valid Tag Id¶
# Different tag values:¶
-
name:
numDifferentTagsWithId
, type:
String
, persistent:
no
¶ If
Tag Id:
is invalid then an empty string is displayed. Otherwise for string-convertible tags with idTag Id:
it shows the number of different values in the MultiFileVolume(List); N/A is displayed ifTag Id:
is a sequence tag or exceptions occur on conversions. SeeCalculate # of different tag values
for details.
Result Console¶
-
name:
resultConsole
, type:
String
, persistent:
no
¶ Will be set to human readable reports from all performed checks.
Pad Spaces¶
-
name:
padSpaces
, type:
Integer
, default:
1
¶ The fields in each line of
Overall Tag Table
can be aligned to columns whose lengths are multiples ofPad Spaces
. This can improve readability of the table significantly.
Overall Tag Id¶
-
name:
overallTagId
, type:
String
, default:
ImagePositionPatient
¶ If a tag name or id is specified then in
Overall Tag Table
a table of all top-level tags with idOverall Tag Id
in all frames in all volumes with all corresponding frame handles.
Overall Tag Table¶
-
name:
overallTagTable
, type:
String
¶ A table showing tag values from all frames in all volumes with lines of the format ‘VolumeIndex: FramePositionInVolume: TagValue: FrameHandle’. Note that tag contents of enhanced mult-frame files frames (starting with an “*” and ending with “#abcdef”) may not be displayed correct if they are not in cache any more. Check
DirectDicomImport.clearSingleFrameCacheAfterImport
for details about caching of enhanced frame information.
First Volume Index Derived From¶
-
name:
firstVolumeIndexDerivedFrom
, type:
Integer
, persistent:
no
¶ The module tries to determine the volume(s) (or to be more precise: the frames) from which the image has been derived. If this or these volumes are also part of the volume list connected to the input of this module, then
First Volume Index Derived From
shows the volume index of the first of these volumes. Note that no, one or multiple of such volumes can exist. The default is -1 if no volume has been found. See alsoVolume Indexes Derived From
.
Volume Indexes Derived From¶
-
name:
volumeIndexesDerivedFrom
, type:
String
, persistent:
no
¶ As described for
First Volume Index Derived From
the module tries to determine the volume(s) (or to be more precise: the frames) from which the image has been derived. If this or these volumes are also part of the volume list connected to the input of this module, thenVolume Indexes Derived From
shows a space separated list of all these volumes. The default is empty if no volume has been found. See alsoFirst Volume Index Derived From
.