Purpose

The DicomConfigurableMessageFilter allows to pass a set of configuration flags for error, info, or warning messages to some import and DICOM related modules. Such modules (like DirectDicomImport, MultiFileVolumeListImageOutput etc.) log messages to the MeVisLab error handler and to their console fields. Dependent on the context this can be no or a few messages which can of high interest, however, in some other cases there can be thousands of them which are not of much help. Especially large amounts of messages can also slow down the importing process when not handled correctly. Since the import modules cannot decide on their own which messages may be interest for the user or the application, this can be configured by with DicomConfigurableMessageFilter now.

Warning: This module can be used to hide significant information which is related to the correctness especially of imported data sets. Users making use of this functionality do this on their own risk.

Note: Currently only a small subset of messages can be configured with this module. It will be extended step by step.

Windows

Default Panel

../../../Projects/DICOM/MLDicomMessageFilter/Modules/mhelp/Images/Screenshots/DicomConfigurableMessageFilter._default.png

Output Fields

outputFilterPlugin

name: outputFilterPlugin, type: MLBase

At this output connector the set of configuration flags can be passed to other modules which may make use of them; this output is always not NULL.

Parameter Fields

Visible Fields

All warnings

name: allWarnings, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress all suppressible warning messages.

All errors

name: allErrors, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress all suppressible error messages.

Rescale Intercept != 0, Rescale Slope != 1 or Dose Grid Scaling != 1

name: rescaleInterceptOrDoseGridScaling, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like The volume contains DICOM tags Rescale Intercept != 0, Rescale Slope != 1 or Dose Grid Scaling != 1. The pixel data has not been transformed according to these values. Consider using the module ApplyDicomPixelModifiers after importing the volume to transform the image data appropriately.

FileCache: error: Pixel representation cannot be changed

name: pixelRepresentationCannotBeChanged, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like DCMTree FileCache: error reading DICOM frame - status: Pixel representation cannot be changed

FileCache: error: Invalid tag

name: invalidTag, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like DCMTree FileCache: error reading DICOM frame - status: Invalid tag.

The SOPInstanceUID is already used

name: duplicateSOPInstanceUIDs, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like The SOPInstanceUID 1.2.276.0.28.4.1.1.42.411.200812111300305327570 is already used in the other file ‘/Repository/FMEwork/ReleaseMeVis/TestCases/FunctionalTests/ML/DirectDicomImport/DuplicateDataFiles/export0009-1.dcm’. Check whether you have copies in your imported data files and clear the DICOM tree and tag caches if you have changed file locations between imports:BadParameter:Rejecting the file ‘/Repository/FMEwork/ReleaseMeVis/TestCases/FunctionalTests/ML/DirectDicomImport/DuplicateDataFiles/export0009-2.dcm’.

Number Of Temporal Positions is expected to be 0, 1, or not set

name: malformedNumberOfTemporalPosition, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like The tag Number Of Temporal Positions(0020,0105) has the value 5 but is expected to be 1, 0, or not set, thus the T extent of the frame will be ignored, because it is probably wrong..

An extent > 1 was detected (malformed temporal image extent)

name: badTemporalImageExtent, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like An extent > 1 was detected in temporal image extent, however, this does not match the temporal extent available in DICOM data. This could indicate bad tag configurations in the incoming DICOM data. This sometimes appears after decomposing DICOM files with more than one time point to single frame files which inherit the number of time points. The source or creation process of those single frame files should be checked for correctness. Detected temporal image extent = X Detected temporal DICOM extent = Y Correcting temporal-extent to Y.

Detected an uncompressed 2D DICOM frame that looks malformed

name: inconsistentTagAndSFPixelDataSize, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like MultiFileVolumeListImageOutput::calculateOutputSubImage: Message : Handling Detected an uncompressed 2D DICOM frame with pixel data size matching rows*columns*sizeof(dataType) which, however, also has one or multiple tags indicating that more than one slice or time slot or point is in the frame. That looks like malformatted DICOM data where it was forgotten to reset tags which describe the ND-structure while converting it to a 2D frames. The tag Number Of Temporal Positions(0020,0105) has the value 70 but is expected to be 1, 0, or not set, thus the T extent of the frame will be ignored, because it is probably wrong.

Inconsistency between tags and pixel data size

name: inconsistentTagAndMFPixelDataSize, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Could not read data of X frame(s). Probably there is an inconsistency between tags and pixel data size and the image extent. The image extent may also be wrong. This problem is often caused by incorrect post-processings or multi-frame data which has been split incorrectly into single frames.

Multiple private creator tags with same tag id and different contents

name: multiplePrivateCreatorWithSameTagIdAndDifferentContents, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like addSubSequenceTags: Multiple private creator tags with same tag id and different contents have been found in frame at index X with tag id Y. The current decomposition process for multi-frame files in MeVisLab unfortunately does not support this. This multi-frame file might not be imported correctly. Using the first found tag version.

Contains JPEG2000 compressed data; the loader is experimental

name: containsJPEG2000CompressedDataTheLoaderIsExperimental, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like The volume data contains JPEG2000 compressed data; the used loader is experimental.

The voxel size calculation was incomplete

name: theVoxelSizeCalculationWasIncomplete, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like The voxel size calculation was incomplete.

Length Of Element is not a multiple

name: lengthOfElementIsNotAMultiple, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Length of element (….,….) is not a multiple of….

Invalid SOS parameters for sequentialJPEG

name: invalidSOSParametersForSequentialJPEG, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Invalid SOS parameters for sequential JPEG.

Unknown whether voxel size correctly describes the physical geometry

name: unknownWhetherVoxelSizeDescribesPhysicalImageGeometry, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: It is unknown whether the voxel size … correctly describes the physical geometry of the image voxels..

The volume is a Whole Slide Microscopy SOP Class

name: isSMSOPClass, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: The volume is a Whole Slide Microscopy SOP Class. Frames of that SOP class are imported as is and still need a post processing to be composed correctly to a full image..

Number of t-dim entries does not match the extent of the data set

name: numTDimEntriesDoesNotMatch, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: the number of t-dim entries does not match the extent of the data set in the time dimension..

t-dim entries are not monotonically increasing

name: tDimEntriesNotMonotonicallyIncreasing, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: the t-dim entries are not monotonically increasing (first between entries X and X+1)..

Volumes have the same SeriesInstanceUID

name: volumesHaveTheSameSeriesInstanceUID, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: Volumes with firstFileNames … have the same SeriesInstanceUID; you may want to check whether they have been partitioned incorrectly, e.g. due to too many or strict conditions in the used DPL configuration or too small settings in DPL import options. Missing frames, gantry tilts may be also be a reason. Enabling DirectDicomImport->Configuration-> DICOM Import Options->Log Parting and sorting information perhaps lists more partitioning reasons..

Found private element … with VR … and undefined length

name: foundPrivateElementWithVRAndUndefinedLength, type: Bool, default: FALSE

If enabled then modules using DicomConfigurableMessageFilter will suppress messages like Warning: Found private element … with VR … and undefined length, “reading a pixel sequence according to data dictionary..