MultiFileVolumeListDraftView¶
-
MLModule
¶ author Wolf Spindler
package FMEwork/ReleaseMeVis
dll MLMultiFileVolumeListInventorOutputs
definition MLMultiFileVolumeListInventorOutputs.def inherits from MultiFileVolumeListBaseOutput
Purpose¶
Renders the structure of a MultiFileVolumeList in an Open Inventor viewer, however, without rendering its data content. This is basically of interest for debugging purposes but also can be helpful for a better understanding of MultiFileVolumes and MultiFileVolumeLists.
Notes and Issues:
- This module should be considered incomplete, because it is still under development.
- Frames of enhanced multi-frame DICOMs can be displayed correctly only if they are still available in the DICOM single frame cache; see option
DirectDicomImport.clearSingleFrameCacheAfterImport
which must be disabled.- Only frame types loadable by ImageLoad, MLImageFormatLoad as well as most DICOM files are supported.
- The location and orientation of DICOM frames is determined from ImageOrientationPatient and ImagePositionPatient tags - if available.
- DICOM information of .mlimage or Dicom/Tif is ignored; they are drawn slicewise according to their location related to their world matrix.
- The module tries to display frames even if Pixel Spacing, Image Orientation or Image Position Patient tags are not available or unreliable; in this case these values are set to defaults and warnings are logged in the MeVisLab console.
- The volume is configured with default values such that multiple MultiFileVolumes can be displayed and time points are drawn next to each other. Note that this does not draw the volumes in their correct geometric locations, but next to each other.
Usage¶
- Connect a module to the input which provides a MultiFileVolumeList, for example a
DirectDicomImport
. - Select which volumes of the list shall be displayed, the default displays all volumes.
- Connect the output to an Inventor Viewer to display the structure of the selected volume(s).
- Change parameters to enhance the graphical appearance. The
Extra Voxel Scale Z
, for example, increases the distance between slices of a volume which makes it easier to differentiate single frames of a volume.
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.
Output Fields¶
outputInv¶
-
name:
outputInv
, type:
SoNode
¶ An Inventor output to insert and render the draft view in an Open Inventor scene graph.
Parameter Fields¶
Field Index¶
Annotate : Bool |
outVolIdx : Integer |
Show Only12NTime Points : Bool |
autoLoadResultCache : Bool |
Scale X (relative3DVolumeDistanceScaleX) : Double |
Show Volume Orientation : Bool |
Cache File Path : String |
Scale X (relativeNDVolumeDistanceScaleX) : Double |
status : String |
Dump Private Tag Values : Bool |
Scale Y (relative3DVolumeDistanceScaleY) : Double |
Tag Dump : String |
Extra Voxel Scale Z : Double |
Scale Y (relativeNDVolumeDistanceScaleY) : Double |
Tag Dump Size : Integer |
Filter : String |
Scale Z (relative3DVolumeDistanceScaleZ) : Double |
updateBaseOutputInformationDone : Trigger |
Font Size : Float |
Scale Z (relativeNDVolumeDistanceScaleZ) : Double |
Use Base Input : Bool |
Issues : String |
Set Convenience Defaults : Trigger |
Volume Indexes : String |
Load Result Cache : Trigger |
Set Geometric Defaults : Trigger |
Volume Info Dump : String |
Num shown binary bytes : Integer |
Show Annotation : Bool |
|
Num Volumes : Integer |
Show Image Position Patient : Bool |
Visible Fields¶
Use Base Input¶
-
name:
useBaseInput
, type:
Bool
, default:
TRUE
¶ If enabled the the volume is read from the DirectDicomImport module connected to the base input; otherwise the specified cache file is read.
Load Result Cache¶
-
name:
loadResultCache
, type:
Trigger
¶ Loads a volume list from cached result volume.
Num Volumes¶
-
name:
numVolumes
, type:
Integer
, default:
0
¶ This read-only field shows number of available volumes.
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
¶ Shows a collection of available information about the currently selected volume.
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).
Volume Indexes¶
-
name:
volumeIndexes
, type:
String
, default:
0-
¶ The indexes of the volumes to display (e.g. 0- or 0,3,4 or 2-5).
Extra Voxel Scale Z¶
-
name:
extraVoxelScaleZ
, type:
Double
, default:
0
¶ The
Extra Voxel Scale Z
allows to increase or decrease the normal distance between the displayed slices of a volume. This often makes it easier to see single slices a volume.
Scale X (relative3DVolumeDistanceScaleX)¶
-
name:
relative3DVolumeDistanceScaleX
, type:
Double
, default:
1.2
¶ Scale factor in the X-dimension which determines how 3D volumes inside of a MultiFileVolumes are shifted relative to themselves. It allows to increase or decrease the visual distance between MultiFileVolumes to simplify understanding of the volume relations.
Scale Y (relative3DVolumeDistanceScaleY)¶
Scale Z (relative3DVolumeDistanceScaleZ)¶
Scale X (relativeNDVolumeDistanceScaleX)¶
-
name:
relativeNDVolumeDistanceScaleX
, type:
Double
, default:
0
¶ Scale factor in the X-dimension which determines how MultiFileVolumes inside of a MultiFileVolumeList are shifted relative to themselves. It allows to increase or decrease the visual distance between MultiFileVolumes to simplify understanding of the volume relations.
Scale Y (relativeNDVolumeDistanceScaleY)¶
Scale Z (relativeNDVolumeDistanceScaleZ)¶
Font Size¶
-
name:
fontSize
, type:
Float
, default:
12
¶ The point size of the font which is used to annotate the displayed volumes.
Show Annotation¶
-
name:
showAnnotation
, type:
Bool
, default:
TRUE
¶ Enables or disables the text annotation of the displayed volumes.
Show Image Position Patient¶
-
name:
showImagePositionPatient
, type:
Bool
, default:
FALSE
¶ If enabled then the coordinates of the ImagePositionPatient tag are added to the text annotation of the frame if
Show Annotation
is on.
Show Volume Orientation¶
-
name:
showVolumeOrientation
, type:
Bool
, default:
FALSE
¶ If enabled then the three orientation vectors of the world matrix of the shown MultiFileVolumes are drawn at the origin of the first frame/time point.
Show Only12NTime Points¶
-
name:
showOnly12NTimePoints
, type:
Bool
, default:
TRUE
¶ If enabled then at most three time points of a series of volumes is displayed, and skipped volumes are represented with three dots. This is especially useful for time series with a large number of time points to reduce the display size of the volume (list) and speeds up rendering.
Set Convenience Defaults¶
-
name:
setConvenienceDefaults
, type:
Trigger
¶ Sets fields to values such that volumes are layouted in a way that they can be well overviewed. This includes shifts between volumes and time points as well as skipping multiple time steps greater than the second and smaller than the last volume. Note that this leads to incorrect geometric display positions of volumes and frames but usually gives a better overview about the entire set.
Set Geometric Defaults¶
-
name:
setGeometricDefaults
, type:
Trigger
¶ Sets fields to values such that volumes are displayed at their geometric correct positions. This may lead to a more confusing display, especially, because time points and volumes at same positions are drawn over each other, but it is the preferred mode to examine the geometric relationships of the volumes and frames to each other.