MERAVolumeInspector¶
-
MLModule
¶ genre MERA
author Wolf Spindler
package FMEstable/ReleaseMeVis
dll MLMERA
definition MLMERA.def see also MERACrawler
,MERAQuery
,DirectDicomImport
,MultiFileVolumeListBaseOutput
,MultiFileVolumeListImageOutput
inherits from MultiFileVolumeListImageOutput
keywords crawler
,query
,data
,base
,search
,find
,volume
,storage
,inspector
Purpose¶
MERAVolumeInspector
provides functionality to inspect volumes stored in a MERA volume storage given at location Absolute Volume Storage Directory
. A subset of volumes can be defined with a printer-like id list Volume Index List
whose corresponding volumes are loaded. See MERAQuery
which also can be used to query MERAQuery.volumeIds
from MERA storages and pass it directly into Volume Index List
of MERAVolumeInspector
. Information related to one loaded volume can be displayed in the tabs Meta Data, Report, Issues, Tags, Volume Info, and from which the latter three are described in detail in MultiFileVolumeListBaseOutput
.
The volumes defined in Volume Index List
and loaded into the internal MultiFileVolumeList are passed to the output outputAccessConnector
and can easily be used in connected modules that way.
Output Fields¶
outputAccessConnector¶
-
name:
outputAccessConnector
, type:
MLBase
¶ Provides access to the internal MultiFileVolumeList whose Volumes are loaded from the given
Volume Index List
; note that Volumes may not contain DICOM or MLImageFileFormat information ifVolume List Mode
differs from Full.
see also MultiFileVolumeListBaseOutput.outputAccessConnector
Parameter Fields¶
Field Index¶
Visible Fields¶
Volume Index¶
-
name:
outVolIdx
, type:
Integer
, default:
-1
, minimum:
-1
, maximum:
-1
¶ Selects the first volume to be shown in the list in the Volumes tab. It also selects a specific volum for processing, for example with
Save Report
. A value of -1 means not a single volume but the entire list.
# Loaded Volumes¶
-
name:
numVolumes
, type:
Integer
, default:
0
¶ This read-only field shows number of volumes read according to the
Volume Index List
. IfVolume Index List
exceeds the maximum value specified inLoad at most # Volumes
then at mostLoad at most # Volumes
are loaded and shown.
Issues¶
-
name:
issues
, type:
String
¶ This read-only field contains a short description about known issues about the currently selected volume - if there are any.
see also MultiFileVolumeListBaseOutput.issues
Volume Info Dump¶
-
name:
volumeInfoDump
, type:
String
¶ This read-only field shows a collection of available information about the currently selected volume.
Tag Dump Size¶
Dump Private Tag Values¶
-
name:
dumpPrivateTagValues
, type:
Bool
, default:
FALSE
¶ If enabled then values of private tags are decoded if decoders are available.
see also MultiFileVolumeListImageOutput.dumpPrivateTagValues
Num shown binary bytes¶
-
name:
numShownBinaryEntries
, type:
Integer
, default:
8
¶ Number of shown bytes of binary tags.
see also MultiFileVolumeListImageOutput.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
Tag Dump
; see that field for more details. Examples:======================= ================================== Expression Description ======================= ================================== .* Matches all string/lines. .*(0008,0032).* Matches all lines containing this tag ID. .*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 insensitive. .*.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 a dump of the DICOM tags; if necessary it will be clamped at a size given by
Tag Dump Size
and the message ‘tag list shortened and not shown completely’ is appended.
First Volume Index Derived From¶
-
name:
firstVolumeIndexDerivedFrom
, type:
Integer
, persistent:
no
¶
see MultiFileVolumeListImageOutput.firstVolumeIndexDerivedFrom
Absolute Volume Storage Directory¶
-
name:
absoluteVolumeStorageDirectory
, type:
String
¶ The path to the directory of MERA volume storage to inspect.
Report¶
-
name:
report
, type:
String
, persistent:
no
¶ This read-only field shows a report of the most recent operation, it also lists errors and failures.
Meta Data¶
-
name:
metaData
, type:
String
, persistent:
no
¶ This read-only field displays meta information possibly stored in the volume selected with
Volume Index
.
Approximate Volumes In Storage¶
-
name:
approximateVolumesInStorage
, type:
Integer
, persistent:
no
¶ This read-only field shows the number of possibly available volumes in the storage.
Load at most # Volumes¶
-
name:
maxNumLoadedVolumes
, type:
Integer
, default:
25
, deprecated name:
maxNumOutputVolumes
¶ The maximum number of volumes actually loaded. Loading too many volumes may degrade performance and use much memory. Dependent on
Volume List Mode
, different maximum values are useful. Using modes Off of Light may allow loading many thousands of volumes without too long delays or memory usage, the mode Full may already lead to significant resource usage with a few hundred ones.
List at most # Volumes¶
-
name:
maxNumListedVolumes
, type:
Integer
, default:
25
¶ The maximum number of volumes actually listed in the Volumes tab. This usually does not need to be higher than the display can show in vertical direction if scrolling is performed with
Volume Index
. Typically 25 are sufficient, but it may be increased significantly if for example, scrolling is desired with the scroll bar through larger volumes sets is desired. This, however, may require significant creation and display times of the list. If the list is scrolled to the bottom then a dotted line indicates if the list has been clamped due toList at most # Volumes
.
Refresh¶
-
name:
refresh
, type:
Trigger
¶ Reloads the index and updates related outputs; useful for example if the index on disk has changed.
Volume Index List¶
-
name:
volumeIndexList
, type:
String
¶ Like a printer page list describing the ids of volumes to load, such as ‘0-’ for all volumes, or ‘1,3’ for volumes with ids 1 and 3. The maximum allowed id is
Approximate Volumes In Storage
-1. The volumes specified in this list are loaded into the internal volume list, however, its size is clamped againstLoad at most # Volumes
and contents may be limited according toVolume List Mode
. A useful module providing ids isMERAQuery
and its fieldMERAQuery.volumeIds
.
Volume Infos¶
-
name:
volumeInfos
, type:
String
, default:
,
¶ Shows a collection of available information about the currently selected volume.
Sort Mode¶
-
name:
sortMode
, type:
Enum
, default:
NumVoxels
¶ This field selects the mode how the volume list is sorted in the Idx column. To see the right order in the volume table make the Idx column sorted in the table.
Values:
Title | Name | Description |
---|---|---|
No Sort | NoSort | The volume list is displayed as it was generated during generation. |
Valid Volumes | ValidVolumes | Sorting criteria is whether the volumes have valid image data. |
Num Bytes | NumBytes | The volume are sorted according to their number of bytes in image data. |
Num Voxels | NumVoxels | The volume are sorted according to their number of voxels in image data. |
XExtent | XExtent | The volume are sorted according to the spatial x-extent of their image data. |
YExtent | YExtent | The volume are sorted according to the spatial y-extent of their image data. |
ZExtent | ZExtent | The volume are sorted according to the spatial z-extent of their image data. |
CXExtent | CXExtent | The volume are sorted according to the color dimension extent of their image data. |
TExtent | TExtent | The volume are sorted according to the time extent of their image data. |
UExtent | UExtent | The volume are sorted according to the extent of user dimension of their image data. |
Voxel Volume | VoxelVolume | The volume are sorted according to the geometrical volume of the entire image data. |
Voxel Type Size | VoxelTypeSize | The volume are sorted according to the byte-size of the data type of their image data. |
Voxel Voxel Components | VoxelVoxelComponents | The volume are sorted according to the number of components of the data type of their image data. |
Num Slice Bytes | NumSliceBytes | The volume are sorted according to the number of bytes of a 2D x/y dimensional slice/frame in their image data. |
Num Slice Voxels | NumSliceVoxels | The volume are sorted according to the number of voxels of a 2D x/y dimensional slice/frame in their image data. |
Sort According Dcm Tag | SortAccordingDcmTag | Sorts according to the string value retrieved from a given DICOM tag. See Idx Sort Tag Value for details. |
Filter Label | FilterLabel | Not applicable for MERAVolumeInspector : The volumes are sorted according to their volume label provided via a FileListFilterPlugin . |
Sort Upwards¶
-
name:
sortUpwards
, type:
Bool
, default:
TRUE
¶ Large values of the value specified in ‘Sort Mode’ are sorted to the start of the volume list if this flag is true, otherwise they are sorted to the end. Note that for correct sort order the Idx column in the table must be selected for sorting.
Idx Sort Tag Value¶
-
name:
idxSortTagValue
, type:
String
¶ The string value of the DICOM tags with this tag id are used for sorting the volume list if
Sort Mode
is Sort According Dcm Tag, otherwise this value is ignored and the field is insensitive or invisible. If tag value cannot be retrieved from the volume for any reason then an empty string is used for sorting. The tag id string must have a format like (ABCD, EFGH) where ABCD and EFGH are hexadecimal numbers describing 16 bit unsigned integers where ABCD are the high and EFGH are the low bits of the word. Sorting according tags whose values are numerical but represented as string is influenced by theUse Numeric Tag Value Sorting
.
Use Numeric Tag Value Sorting¶
-
name:
useNumericTagValueSorting
, type:
Bool
, default:
FALSE
¶ If enabled then tags with numeric string values are interpreted as sign 32 bit integers (and printed with “-” for negative values if necessary) and leading spaces to fill 8 characters to make all tag values sortable uniquely. If disabled then from the numeric string value tags the normal string values are read as they are stored in the tag. This flag is also used by sorting, see
Sort Mode
if the mode Sort According Dcm Tag is used.
Thumbnail Extent¶
-
name:
thumbNailsExt
, type:
Integer
, default:
40
¶ Not applicable for
MERAVolumeInspector
: Defines the extent (in pixels) of thumb nails shown in the volume list. Note that this field is insensitive ifShow icon column in table
is disabled.
Id (userColumnTag0)¶
-
name:
userColumnTag0
, type:
String
¶ First tag Id of the tag whose value can be shown in a column in the volume list. The tag id string must have a format like (ABCD, EFGH) where ABCD and EFGH are hexadecimal numbers describing 16 bit unsigned integers where ABCD are the high and EFGH are the low bits of the word. See also
User Tag0
where this column can be enabled.
Id (userColumnTag1)¶
-
name:
userColumnTag1
, type:
String
¶ Second tag Id of the tag whose value can be shown in a column in the volume list. The tag id string must have a format like (ABCD, EFGH) where ABCD and EFGH are hexadecimal numbers describing 16 bit unsigned integers where ABCD are the high and EFGH are the low bits of the word. See also
User Tag1
where this column can be enabled.
Id (userColumnTag2)¶
-
name:
userColumnTag2
, type:
String
¶ Third tag Id of the tag whose value can be shown in a column in the volume list. The tag id string must have a format like (ABCD, EFGH) where ABCD and EFGH are hexadecimal numbers describing 16 bit unsigned integers where ABCD are the high and EFGH are the low bits of the word. See also
User Tag2
where this column can be enabled.
Icon Build Mode¶
-
name:
iconBuildMode
, type:
Enum
, default:
UseMiddleSlice
¶ Not applicable for
MERAVolumeInspector
: Selects how/from which input slices the thumbnail icon in the volume table is generated from input image. Note that this field is insensitive if the checkbox Show Icon Column in Table is disabled.- Use First Slice Takes the first slice from the image to build the thumbnail.
- Use Middle Slice Takes the middle slice from the image to build the thumbnail.
Important:
When activating Show Icon Column in Table this can degrate performance significantly, especially if a large number of volumes is created during the import process or if many large volumes are inside the list. Disable this flag for maximum import performance.
Values:
Title | Name |
---|---|
First Slice | UseFirstSlice |
Middle Slice | UseMiddleSlice |
Show icon column in table¶
-
name:
icon
, type:
Bool
, default:
FALSE
¶ Still not applicable for
MERAVolumeInspector
: If enabled then an overview icon of the volume is shown in a column in the volume list. The extent and the way how the icon is generated is defined in the fieldsThumbnail Extent
andIcon Build Mode
. Note that this field is insensitive if the checkbox Show Icon Column in Table is disabled.
User Tag0¶
User Tag1¶
User Tag2¶
Column Config¶
-
name:
columnConfig
, type:
String
, default:
# Note: Comments must always be prefixed at line start with a '#'., , # Default setting:, validImage hasIssues fileType voxelType imgExt numVoxels numSlices numTimePoints numSrcFiles modality patientID patientSex patientsName studyID, , #modality studyDate acquisitionTime numSlices spacingBetweenSlices studyDescription seriesDescription acquisitionDate imageComments patientsName patientSex patientsBirthDate patientID referringPhysiciansName admittingDiagnosesDescription, , # Available values are:, #userTag0 userTag1 userTag2 validImage hasIssues importTime fileType voxelType imgExt voxelExtent numVoxels numSlices colorImage numTimePoints numSrcFiles firstOrigFile outFileName inputFilterLabel lossy compressionType humanReadableOrientation accessionNumber acquisitionDate acquisitionMatrix acquisitionNumber acquisitionTime aCR_NEMA_AcquisitionsInSeries aCR_NEMA_ImageOrientation aCR_NEMA_ImagePosition admittingDiagnosesDescription angioFlag bitsAllocated bitsStored bodyPartExamined codeMeaning codeValue columns contentDate contentTime contrastBolusAgent contrastBolusStartTime convolutionKernel currentPatientLocation derivationDescription echoTime echoTrainLength exposure exposureTime flipAngle frameOfReferenceUID gantryAngle gantryAngleTolerance gantryDetectorSlew gantryDetectorTilt gantryRotationDirection highBit imageComments imagedNucleus imageOrientationPatient imagePositionPatient imageType imagingFrequency instanceCreationDate instanceCreationTime instanceNumber institutionAddress institutionName inversionTime kVP largestImagePixelValue magneticFieldStrength manufacturer manufacturersModelName mediaStorageSOPInstanceUID modality mRAcquisitionType nameOfPhysiciansReadingStudy numberOfAverages numberOfFrames numberOfPhaseEncodingSteps numberOfTemporalPositions otherPatientNames patientComments patientID patientOrientation patientsAge percentSampling patientSex patientPosition patientsAddress patientsMothersBirthName patientsName patientsTelephoneNumbers patientsWeight patientsBirthDate performedProcedureStepDescription performedProcedureStepStartDate performedProcedureStepStartTime photometricInterpretation physiciansOfRecord pixelRepresentation pixelSpacing protocolName receiveCoilName reconstructionDiameter referringPhysiciansName repetitionTime requestedProcedureDescription requestingPhysician requestingService rescaleIntercept rescaleSlope rescaleType rows samplesPerPixel sAR scanningSequence scanOptions scheduledProcedureStepDescription sequenceName sequenceVariant seriesDate seriesDescription seriesInstanceUID seriesNumber seriesTime sliceLocation sliceThickness smallestImagePixelValue softwareVersions sOPClassUID sOPInstanceUID spacingBetweenSlices stationName studyDate studyDescription studyID studyInstanceUID studyTime windowCenter windowWidth xRayTubeCurrent
¶ Defines the order and visibility of columns. All space separated entries in lines which do not start with ‘#’ will be interpreted as column codes. The first column in the Volume list will always be the volume index which shows the volume index according to
Sort Mode
as a column in the volume list. The second column will be - if enabled - the volume thumbnail. All other columns can be configured in lines which do not start with a ‘#’.The following values are calculated:
- validImage: Shows whether the volume is a valid image or not as a column in the volume list.
- hasIssues: Shows whether the volume had warnings or errors while it was imported.
- importTime: Time needed to compose this volume from already loaded DICOM files.
- fileType: Shows the file format of the imported file as a column in the volume list, original:** if it is composed of multiple files:** the file format of the first file.
- voxelType: Shows the voxel data type of the volume as a column in the volume list.
- imgExt: Shows the extent of the volume as a column in the volume list.
- voxelExtent: Shows the extent of voxels of the volume in millimeters as a column in the volume list.
- numVoxels: Shows the number of voxels of the volume as a column in the volume list.
- numSlices: Shows the number of slices of the volume as a column in the volume list.
- colorImage: Shows whether the volume is a color image or not as a column in the volume list.
- numTimePoints: Shows the number of time points of the volume as a column in the volume list.
- numSrcFiles: Shows the number of files used to compose the volume as a column in the volume list.
- firstOrigFile: Shows the path of the first file used to compose the volume as a column in the volume list.
- outFileName: Shows the path to the created output file(s) without suffix (if created) as a column in the volume list.
- inputFilterLabel: If enabled then a label assigned to any volume by an input filter will be shown as a column in the volume list view.
- lossy: Shows the column in the volume list which indicates whether a volume is lossy compressed.
- compressionType: Shows the column in the volume list which shows the compression type used to for this volume.
All other values represent the values of DICOM tags with corresponding names.
Volume List Mode¶
-
name:
volumeListViewMode
, type:
Enum
, default:
Full
¶ Modes controlling the amount of information created and displayed in the Volumes tab. Modes other than Full may save significant memory and performance when operating with large volume lists.
- Full: All volumes are displayed in the Volumes tab according to the normal settings
- Light: All except of DICOM information is displayed. This saves table sizes, DICOM trees are not loaded into memory. Warning: Some information will not be shown any more in the Volumes and the volume list at the output will not have some information either!
- Off: The Volumes tab is left empty. Warning: Some information will not be shown any more in the Volumes and the volume list at the output will not have some information either!
Values:
Title | Name |
---|---|
Full | Full |
Light | Light |
Off | Off |
Save Report¶
-
name:
saveReport
, type:
Trigger
¶ Save information of volume(s) in the
Filename
. IfVolume Index
is -1 then information about all volumes is exported into the files, otherwise only the information about the volume at the given index.
Volume Ids¶
Files¶
Directories (saveVolumeStorageDirectories)¶
File Paths¶
Add Comments¶
-
name:
addComments
, type:
Bool
, default:
TRUE
¶ If checked then additional comments are added to the report file written into
Filename
before each block of listed volume files. The comment can list the reason why the files have been added to the report and/or the ID of the volume the files are from, however, the content of the comments may change in the future.
Directories (saveFileDirectories)¶
Replace¶
-
name:
replace
, type:
String
¶ When exporting directories and paths, often it is useful to be able to replace
Replace
path components withWith
ones, for example if they are relative to a local data base but the report shall be created for another directory root. IfReplace
is empty then no replace operation is performed.
Filename¶
-
name:
reportPath
, type:
String
¶ The file in which information about selected volumes is stored when
Save Report
is notified.