DicomPRSave

MLModule

genre

DICOM

author

Wolf Spindler

package

FMEstable/ReleaseMeVis

dll

MLDicomPRSave

definition

MLDicomPRSave.def

see also

MultiFileVolumeListPROutput, DicomEnhancedSave, DicomFIDSave, DicomREGSave, DicomSCSave, DicomSEGSave, DicomSRSave, DirectDicomImport, MultiFileVolumeListSROutput, MultiFileVolumeListRTOutput, MultiFileVolumeListWaveformOutput, MultiFileVolumeListIteratorOutput, RTObjectSave

keywords

DICOM, output, save, export, write, files, create, grayscale, softcopy, presentation, state, IOD, PR, graphic, annotations, shutters, base, baseobject, XMarkerList, CSO, StylePalette, private, tag, overlay

Purpose

DicomPRSave creates and composes a DICOM file of a modality/IOD PR (to be more precise Grayscale Softcopy Presentation State IOD) from Base object(s) and provides/composes the necessary tags to fulfill the requirements of the DICOM Standard. As reference for the DICOM standard mainly DICOM PS3.3 2020a, A.33.1 was used. Also the full state of such a Base objects can be stored as private tags such such that they can be restored completely from the generated DICOM file, even if a conversion to graphic annotations or other presentation states might not completely be possible. See corresponding MultiFileVolumeListPROutput for details and for extracting Base objects again and displaying exported files.

Note

  • The module usually provides only interfaces for mandatory or conditionally required DICOM tags. Only in a few cases user tags are provided for convenience.

  • DicomPRSave outputs have been tested only on a few applications (Weasis, Aliza, dicom-scope).

  • Currently only XMarkerList, StylePalette, and CSOList objects are supported as Base objects which can be converted and exported.

  • Generated DICOM files only make use of the most basic attributes of graphic annotations, i.e. only attributes which are also supported by MultiFileVolumeListPROutput:

    • Text Style Sequences(0070,0231), Line Style Sequences(0070,0232), Fill Style Sequences(0070,0233) or Compound Graphic Sequence(0070,0209) are still not used/generated.

  • The order of connected Base objects counts, for example:

    • Base objects stored as private tags are stored in the same order as they are connected. This may become important if they are retrieved with MultiFileVolumeListPROutput.

    • A StylePalette only influences converted Base objects connected after it.

    • A second StylePalette replaces a previously connected one.

    • See baseInput0 for details.

Usage

  1. Connect a DICOM image to input0 (or alternatively select a volume from a connected MultiFileVolumeList at inputBase). From this connected volume the reference DICOM information is extracted, and generated presentation state objects, such as graphical annotations, will “live” on it.

  2. Press Inherit DICOM Information (CTRL+R). This sets up all fields and internals with new settings to match as good as possible the connected input image and DICOM tags.

3a) Optionally modify any settings.

3b) Optionally connect modification plugins to inputModifierList which can modify DICOM tags before they are exported.

  1. Set the the output file name in File Name into which the DICOM file shall be written.

  2. Connect the XMarkerList (or other supported Base object(s)) to be converted to any of the field baseInput0, baseInput1, ….

  3. Press Save (Ctrl+S) to create and export the DICOM file.

  4. Check Status for success (”Output created/saved.”) or possible error messages. If necessary then modify settings to solve the problem and retry saving the file.

Details

Troubleshooting

  • If annotations are not displayed on referenced DICOM data by external tools:

    • Check whether you have inherited all DICOM tags from referenced data before you store your annotations, especially Series Number (0020,0011). See General… -> Series Number and Inherit Series Number for details.

    • Some tools require that display of presentation states or graphical annotations is enabled.

    • It is strongly recommended to inherit and write the Study Instance UID (0020,000D) and not to create a new one, because some viewers apply presentation states only to referenced image if they have the same Study Instance UID (0020,000D). See also Study Instance UID and Auto.

  • Displayed Graphic Annotations (in a DICOM viewer or with MultiFileVolumeListPROutput) are not located at correct positions:

    1. The DICOM/image input connected to input0 or inputBase serves not only as source for DICOM information to set up parameters of DicomPRSave, but also must be reference image for the Base objects (e.g. XMarkerLists or CSOs) to be converted to Presentation States. If Base objects and DicomPRSave have different reference images, DicomPRSave cannot determine coordinate systems and transformations correctly. This may lead to displacements up to complete invisibilities.

    2. As denoted in 1), the reference image used for DicomPRSave and Base objects must be the same. This also means that the connected volume should best be as original as possible. Especially between original import and DicomPRSave there should be no

    • sub-imaging,

    • transformations,

    • resampling,

    • LUT changes,

    • or any other modifications which might make make the volume not compliant with its DICOM information any more. Modules such as ApplyDicomPixelModifiers which synchronously modify image and DICOM tags data, can be used safely.

  • If DicomPRSave refuses exports after inheriting with Inherit DICOM Information (CTRL+R) with the message Directly exporting from enhanced multi-frame files is not possible… means that DicomPRSave requires some proprietary preprocessing on some DICOM inputs to be able to export correctly. This usually is done appropriately with DirectDicomImport, ensure that DirectDicomImport.decomposeMultiFrameFiles is enabled for that purpose.

Windows

Default Panel

../../../Projects/DicomPresentationStates/MLDicomPRSave/Modules/mhelp/Images/Screenshots/DicomPRSave._default.png

Input Fields

input0

name: input0, type: Image

The connector to the image data for which the presentation state file is to be generated. It may also be used as source for DICOM information if Input Selector is ImageConnector. Note that currently no image data itself is converted to DICOM Presentation State objects. The image connector is only used as reference to determine onto which DICOM frames the generated Presentation States objects shall be located. The connected image should also be the one on which the Base objects such as XMarkerLists or CSOs are located. If inputBase is used alternatively, these requirements also hold for that one. See Troubleshooting section in Details for details.

inputBase

name: inputBase, type: DicomTree/MultiFileVolumeListRefCounted(MLBase)

This is a Base connector which can be used to provide DICOM information from which tags can be inherited with Inherit DICOM Information (CTRL+R); it is only used if Input Selector is set to BaseConnector accordingly. It supports DICOM tree and MultiFileVolumeList Base objects as inputs. For image and DICOM information from this input the same requirements hold as for input0.

For accessing this object via scripting, see the Scripting Reference: MLABDicomTree.

inputModifierList

name: inputModifierList, type: DicomModifyList(MLBase)

This is an optional input where modification plugins can be connected. They are applied as last operation on the final DICOM information directly before it is written to file. This can be used, for example, to handle private tags, or to apply final cleanups before the DICOM file is created. See for example DicomModifyTagsPlugin, DicomModifySubTreeSelectorPlugin, or DicomModifyImageTagsPlugin, which are useful for final modifications on the DICOM information.

baseInput0

name: baseInput0, type: CSOList/CurveList/StylePalette/XMarkerList(MLBase)

Connect any Base object to be converted / exported as graphic annotations (currently supported are XMarkerList, StylePalette, and CSOList objects, all other types are ignored). Note that the connection order of these Base objects is preserved in processing, storage in private tags, and in retrieval from private tags with a possibly used MultiFileVolumeListPROutput and its output.

For accessing this object via scripting, see the Scripting Reference: MLCSOListWrapper.

baseInput1

name: baseInput1, type: CSOList/CurveList/StylePalette/XMarkerList(MLBase)

See baseInput0.

For accessing this object via scripting, see the Scripting Reference: MLCSOListWrapper.

baseInput2

name: baseInput2, type: CSOList/CurveList/StylePalette/XMarkerList(MLBase)

See baseInput0.

For accessing this object via scripting, see the Scripting Reference: MLCSOListWrapper.

Parameter Fields

Field Index

#Volumes: Integer

Displayed Voxel Position Components: Enum

Perform stricter checks: Bool

Accession Number: String

Displayed World Position Components: Enum

Post Bad Param Errors: Bool

Add all CSOList data also as private tags: Bool

Draw Mode: Enum

Prefix (vectorLengthAnnotationString): String

Add all XMarkerList data also as private tags: Bool

Dump Private Tag Values: Bool

Prefix (indexAnnotationString): String

Add StylePalette also as private tags: Bool

File Name (unresolvedFileName): String

Prefix (idAnnotationString): String

Annotate: Bool

File Name (fileName): String

Prefix (typeAnnotationString): String

Auto: Bool

Filter: String

Prefix (nameAnnotationString): String

Auto Set Up Presentation Creation Date: Bool

Horizontal Text Alignment: Enum

Prefix (labelAnnotationString): String

Auto Set Up Presentation Creation Time: Bool

Inherit DICOM Information (CTRL+R): Trigger

Prefix (descriptionAnnotationString): String

autoCreateDeviceSerialNumber: Enum

Inherit Series Number: Bool

Prefix (worldPositionAnnotationString): String

autoCreateDeviceSerialNumberForContributedEquipmentSequence: Enum

Inherit Specific Character Set: Bool

Prefix (voxelPositionAnnotationString): String

autoCreateManufacturer: Enum

inheritAndCopyTagsOtherGeneralEquipmentTags: Bool

Prefix (vectorAnnotationString): String

autoCreateManufacturerForContributedEquipmentSequence: Enum

inheritAndCopyTagsOtherGeneralEquipmentTagsForContributedEquipmentSequence: Bool

Presentation Creation Date: String

autoCreateManufacturerModelName: Enum

inheritAndCopyTagsOtherGeneralSeriesTags: Bool

Presentation Creation Time: String

autoCreateManufacturerModelNameForContributedEquipmentSequence: Enum

inheritAndCopyTagsOtherGeneralStudyTags: Bool

Recommended Display CIELab Value: Vector3

autoCreateSeriesInstanceUID: Enum

inheritAndCopyTagsOtherPatientDemographicTags: Bool

Referring Physician Name: String

autoCreateSoftwareVersions: Enum

inheritAndCopyTagsOtherPatientIdentificationTags: Bool

RGB: Color

autoCreateSoftwareVersionsForContributedEquipmentSequence: Enum

inheritAndCopyTagsOtherPatientMedicalTags: Bool

Save (Ctrl+S): Trigger

Body Part Examined: String

inheritAndCopyTagsOtherPatientRelationshipTags: Bool

Series Description: String

bodyPartExaminedValues: String

inheritAndCopyTagsOtherPatientStudyTags: Bool

Series Number: String

Color Mode: Enum

inheritDeviceSerialNumber: Enum

seriesInstanceUID: String

Content Creators Name: String

inheritDeviceSerialNumberForContributedEquipmentSequence: Enum

Set Current Date: Trigger

Content Description: String

inheritManufacturer: Enum

Set Current Time: Trigger

Content Label: String

inheritManufacturerForContributedEquipmentSequence: Enum

Set Default: Trigger

Copy Other Input Tags: Bool

inheritManufacturerModelName: Enum

softwareVersions: String

Create new UID: Trigger

inheritManufacturerModelNameForContributedEquipmentSequence: Enum

softwareVersionsForContributedEquipmentSequence: String

Create Or Extend Contributing Equipment Sequence: Bool

inheritSeriesInstanceUID: Enum

Sop Class UID: String

createDeviceSerialNumber: Trigger

inheritSoftwareVersions: Enum

Sop Instance UID: String

createDeviceSerialNumberForContributedEquipmentSequence: Trigger

inheritSoftwareVersionsForContributedEquipmentSequence: Enum

Specific Character Set: String

createManufacturer: Trigger

InIdx: Integer

Status: String

createManufacturerForContributedEquipmentSequence: Trigger

Input Selector: Enum

Study Date: String

createManufacturerModelName: Trigger

instanceNumber: Integer

Study Description: String

createManufacturerModelNameForContributedEquipmentSequence: Trigger

Laterality: Enum

Study ID: String

createSeriesInstanceUID: Trigger

Laterality Checks: Enum

Study Instance UID: String

createSoftwareVersions: Trigger

Line Length Epsilon: Double

Study Time: String

createSoftwareVersionsForContributedEquipmentSequence: Trigger

manufacturer: String

StylePalette Privat Tag Comment: String

CSOList Privat Tag Comment: String

manufacturerForContributedEquipmentSequence: String

Tag Dump: String

defaultManufacturer: String

manufacturerModelName: String

Tag Dump Size: Integer

defaultManufacturerForContributedEquipmentSequence: String

manufacturerModelNameForContributedEquipmentSequence: String

Text Location: Enum

defaultManufacturerModelName: String

Num Decimal Places: Integer

Text Offset In Pixels: Vector2

defaultManufacturerModelNameForContributedEquipmentSequence: String

Num shown binary bytes: Integer

True File Name: String

deviceSerialNumber: String

Patient Birth Date Day: Enum

Try to convert items even if outside pixel area: Bool

deviceSerialNumberForContributedEquipmentSequence: String

Patient Birth Date Day String: String

Use Empty Laterality Tag If Not Found On Inheritance: Bool

Diameter: Double

Patient Birth Date Month: Enum

Use Index And Type As In View2DMarkerEditor: Bool

Display Description: Bool

Patient Birth Date Month String: String

Use Vector Length As Diameter: Bool

Display Id: Bool

Patient Birth Date Year: Enum

useMMSUIDPrefix: Bool

Display Index: Bool

Patient Birth Date Year String: String

warnDirectoriesOnBrowsing: Bool

Display Label: Bool

Patient ID: String

warnNonExistingFileOnBrowsing: Bool

Display Name: Bool

Patient Inherit Mode: Enum

Write Body Part Examined: Bool

Display Type: Bool

Patient Sex: Enum

Write Specific Character Set: Bool

Display Vector Length: Bool

Patient Sex String: String

XMarkerList Privat Tag Comment: String

Displayed Vector Components: Enum

Patients Name: String

Visible Fields

File Name (unresolvedFileName)

name: unresolvedFileName, type: String

If a loading operation from disk is selected as input in the Input Selector 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

Absolute file path updated from File Name.

Input Selector

name: inputSelector, type: Enum, default: ImageConnector

Selects from which connector a DICOM tree shall be loaded or retrieved.

Values:

Title

Name

Description

​Image Connector

​ImageConnector

​DICOM information is inherited from the input0.

​Base Connector

​BaseConnector

​DICOM information is inherited from the inputBase.

​File

​File

​DICOM information is inherited from the file specified in File Name / True File Name.

InIdx

name: inputVolumeIndex, type: Integer, default: 0, minimum: 0

If a MultiFileVolumeList is connected or loaded then one of multiple volumes can be selected with this field. The number of available volumes is shown in the #Volumes. Otherwise this should always be 0.

#Volumes

name: numVolumes, type: Integer, persistent: no

This read-only field shows the 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 in Input Selector.

Tag Dump Size

name: tagDumpSize, type: Integer, default: 10000

Maximum number of characters shown in the Tag Dump field. Note that 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 bytes 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.

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.

Inherit DICOM Information (CTRL+R)

name: inheritDICOMTags, type: Trigger

If notified then DICOM and image related information is inherited from the input selected in Input Selector. This is principally meant to reduce the work to configure all settings and usually does most set up work needed in DicomPRSave. Note that some DICOM tags of the input may not be inherited, or they are not passed to the exported file to prevent that they cause trouble in the output file. If Perform stricter checks is off then inheriting information from the input may be also performed if no DICOM data is available; then only the connected input image information is used to get as much information as possible. This is especially useful to export non-DICOM files as DICOM.

Copy Other Input Tags

name: copyOtherInputTags, type: Bool, default: FALSE

If disabled then only the required and important DICOM tags are written into the output file. If enabled then all other tags from the input are also copied even if they are not related to the written modality. WARNING: IF THIS IS ENABLED ALSO INAPPROPRIATE TAGS MIGHT BE COPIED TO THE CREATED FILE!

Save (Ctrl+S)

name: save, type: Trigger

If this button is pressed then the given information from inputs and fields are composed to a DICOM file with the modality/IOD PR and then saved in the file determined by File Name. Any same named destination file is overwritten without any notice.

File Name (fileName)

name: fileName, type: String

The path and name of the file to be written.

Post Bad Param Errors

name: postBadParamErrors, type: Bool, default: TRUE

If enabled then bad parameters are posted as ML error, otherwise they are only shown in status field.

Status

name: status, type: String, persistent: no

Shows general information and messages.

Perform stricter checks

name: strictChecks, type: Bool, default: TRUE

If enabled then some additional checks are performed which prevent writing incompliant DICOM tags. When disabling this, the written DICOM file will possibly still be read by PACSs, however, some DICOM information may not be fully available or consistent there.

Draw Mode

name: drawMode, type: Enum, default: POINT

If not overridden by an also connected StylePalette, this field selects how markers shall be converted and later displayed in a DICOM viewer:

  • POINT: Only single points are drawn at displayed marker positions.

  • SQUARE: Displayed marker positions are drawn as squares.

  • CIRCLE: Displayed marker positions are drawn as circles.

  • DISK: Displayed marker positions are drawn as disks.

  • LINE: For XMarkers a line from XMarker.pos is drawn to XMarker.pos+XMarker.vec.

  • VECTOR: Same as line but with an additional arrow indicator at XMarker.pos+XMarker.vec.

  • ASTERISK: Displayed marker positions are drawn as asterisk.

  • TRIANGLE: Displayed marker positions are drawn as triangle.

  • PLUS: Displayed marker positions are drawn as “+”.

  • CROSS: Displayed marker positions are drawn as an “X” like cross.

  • OFF: Marker positions are not annotated with any marker object; this, however, does not influence the display of possible texts and other annotations related to that marker which still might be displayed.

  • BOX: A marker is displayed as box with the two corners XMarker.pos-XMarker.vec and XMarker.pos+XMarker.vec.

Diameter

name: diameter, type: Double, default: 4, minimum: 0.001, maximum: 20

Diameter or length of single drawn XMarkers (does not apply to POINT or LINE) if not overridden by Use Vector Length As Diameter.

Line Length Epsilon

name: epsilon, type: Double, default: 0.0001, minimum: 0

Some DICOM viewers or renderers do not display lines or objects with too short or zero lengths/diameters. To have at least a minimum object (e.g. of the size of a pixel), a minimum length can be specified. If a length or diameter is smaller than Line Length Epsilon, then Line Length Epsilon is used instead. For example, when drawing a line for an XMarker whose XMarker.vec is too short, XMarker.vec + (epsilon, epsilon) is used instead to draw a line.

Color Mode

name: colorMode, type: Enum, default: COLOR_BY_INDEX

Selects how markers shall be drawn: Using their index, type or id to look up an entry from a connected StylePalette, or whether the current settings from DicomPRSave shall be used. In all cases holds: If an index, type, id etc. cannot be cast or converted to point to a valid color table entry, or if the entry is not valid for any reason, or an object does not have its own settings, then the current settings of DicomPRSave are used instead.

  • COLOR_BY_INDEX: The index of the object (if available) is taken for color indexing.

  • COLOR_BY_TYPE: The type of the object (if available) is taken for color indexing.

  • COLOR_BY_ID: The type of the object (if available) is taken for color indexing.

  • COLOR_NO_STYLEPALETTE: The current settings from DicomPRSave are always used.

  • COLOR_FROM_OBJECT: Takes the color from the object itself if it has its own one (e.g. from a CSO).

Mainly affected fields are Draw Mode, Diameter, Recommended Display CIELab Value, Display Name.

RGB

name: rgb, type: Color, default: 1 0.999995980773014 1

A RGB representation of the recommendedDisplayCIELabValue, which, however, is less precise; better make directly use of recommendedDisplayCIELabValue.

Use Vector Length As Diameter

name: useVectorLengthAsDiameter, type: Bool, default: FALSE

Use vector length as marker size if enabled, which then overrides Diameter.

Prefix (vectorLengthAnnotationString)

name: vectorLengthAnnotationString, type: String, default: Length=

The string is added as annotation before possibly displayed length of XMarker.vec; it is not displayed if Display Vector Length is off. In case of an CSO the vector from first and last seed point is used instead.

Display Vector Length

name: displayVectorLength, type: Bool, default: FALSE

If enabled then an additional text is added which displays the length of XMarker.vec as value prefixed with Prefix. In case of an CSO the vector from first and last seed point is used instead.

Prefix (indexAnnotationString)

name: indexAnnotationString, type: String, default: Index=

The prefix to be displayed before a marker Index if Display Index is on, otherwise it is not displayed.

Display Index

name: displayIndex, type: Bool, default: FALSE

If enabled then the Index of a marker is displayed and prefixed with Prefix, otherwise the Index and its prefix are not shown.

Prefix (idAnnotationString)

name: idAnnotationString, type: String, default: Id=

The prefix to be displayed before a marker Id if Display Id is on, otherwise it is not displayed.

Display Id

name: displayId, type: Bool, default: FALSE

If enabled then the Id of a marker is displayed and prefixed with Prefix, otherwise the Id and its prefix are not shown.

Prefix (typeAnnotationString)

name: typeAnnotationString, type: String, default: Type=

The prefix to be displayed before the object type if Display Type is on, otherwise it is not displayed.

Display Type

name: displayType, type: Bool, default: FALSE

If enabled then the type of an object is displayed and prefixed with Prefix, otherwise the type and its prefix are not shown.

Prefix (nameAnnotationString)

name: nameAnnotationString, type: String, default: Name=

The prefix to be displayed before the name of an object if Display Name is on, otherwise it is not displayed. If the item does not have a name then an empty string is used.

Display Name

name: displayName, type: Bool, default: FALSE

If enabled then the object name is displayed and prefixed with Prefix, otherwise the name and its prefix are not shown.

Prefix (labelAnnotationString)

name: labelAnnotationString, type: String, default: Label=

The prefix to be displayed before an object label if Display Label is on, otherwise it is not displayed. If the object does not have a label then an empty string is used.

Display Label

name: displayLabel, type: Bool, default: FALSE

If enabled then the label of an object is displayed and prefixed with Prefix, otherwise the label and its prefix are not shown. If the object does not have a label then an empty string is used.

Prefix (descriptionAnnotationString)

name: descriptionAnnotationString, type: String, default: Description=

The prefix to be displayed before an object description if Display Description is on, otherwise it is not displayed. If the object does not have a label then an empty string is used.

Display Description

name: displayDescription, type: Bool, default: FALSE

If enabled then the description of an object is displayed and prefixed with Prefix, otherwise the Description and its prefix are not shown.

Prefix (worldPositionAnnotationString)

name: worldPositionAnnotationString, type: String, default: World Position=

The string is added as annotation before possibly displayed coordinates of XMarker.pos; it is not displayed if Displayed World Position Components is 0.

Displayed World Position Components

name: displayedWorldPositionComponents, type: Enum, default: 0

Controls the number of displayed components of the XMarker.pos member, 0 disables it at all, also the related Prefix is not displayed; note that the displayed components are from the world coordinates of the marker.

Prefix (voxelPositionAnnotationString)

name: voxelPositionAnnotationString, type: String, default: Voxel Position=

The string added as annotation before possibly displayed voxel coordinates corresponding to XMarker.pos.

Displayed Voxel Position Components

name: displayedVoxelPositionComponents, type: Enum, default: 0

Controls the number of displayed components of the XMarker.pos member, 0 disables it at all, also the related Prefix is not displayed.

Note

  • The displayed components are from the voxel coordinates of the marker.

  • The components 0-2 (x,y,z) are cast to integer coordinates to behave like other MeVisLab modules such as SoView2DMarkerEditor which usually skip decimal places of voxel coordinates.

  • the components 3-5 (c,t,u) are the same as in world coordinates, if displayed.

Prefix (vectorAnnotationString)

name: vectorAnnotationString, type: String, default: Vector=

The string is added as annotation before possibly displayed coordinates of XMarker.vec.; it is not displayed if Displayed Vector Components is 0.

Displayed Vector Components

name: displayedVectorComponents, type: Enum, default: 0

Controls the number of displayed components of for example the XMarker.vec member in case of an XMarker, 0 disables it at all, also the related Prefix is not displayed then. In case of an CSO the vector from first and last seed point is used instead.

Horizontal Text Alignment

name: horizontalTextAlignment, type: Enum, default: LEFT

Only for completeness, currently it can be set but has not effect on rendered text: If any text is displayed inside a bounding box, then this is the used horizontal alignment inside it, i.e. text is drawn left-bounded, right-bounded, or centered on LEFT, RIGHT, CENTER respectively. Currently DicomPRSave still does not make use of bounding boxes.

Text Location

name: textLocation, type: Enum, default: START/POS

If any text is displayed, then this controls where it is displayed regarding position and vector of the XMarker.

  • START/POS draw for example at XMarker.pos (XMarker) or first seed point (CSO),

  • END/TIP draw for example at XMarker.pos+XMarker.vec (XMarker) or last seed point (CSO).

  • MID draw for example at (XMarker.pos+XMarker.vec)/2 (XMarker) or between first and last seed point (CSO).

  • CENTER: draw for example at (XMarker.pos+XMarker.vec)/2 (XMarker) or at center of gravity (CSO).

Num Decimal Places

name: numDecimalPlaces, type: Integer, default: -1, minimum: -1, maximum: 17

If any numbers are converted to displayed text, this controls the number of decimal places after the comma, -1 displays all regarding the available precision of the used value.

Text Offset In Pixels

name: textOffsetInPixels, type: Vector2, default: 0 0

If a text is written next to a coordinate then this is an offset to move it away a few pixels such that it is not rendered over the coordinate.

Add all XMarkerList data also as private tags

name: addXMarkerListAsPrivateTags, type: Bool, default: TRUE

If enabled then the state of the XMarkerList is added as private tags.

XMarkerList Privat Tag Comment

name: privateXMarkerListCommentTag, type: String

Additional user comment for the XMarkerList stored as private tag.

Add StylePalette also as private tags

name: addStylePaletteAsPrivateTags, type: Bool, default: TRUE

If enabled then the state of a possibly connected StylePalette is added as private tags, if no StylePalette is connected then no private tags are written.

StylePalette Privat Tag Comment

name: privateStylePaletteCommentTag, type: String

Additional user comment for the StylePalette stored as private tag.

Try to convert items even if outside pixel area

name: convertItemsOutOfPixelArea, type: Bool, default: FALSE

If enabled then also convert Markers which can be assigned to a frame, but which are outside the pixel area of the frame; technically such annotations can be generated, however, the DICOM standard does not specify what shall happen which such annotations.

Use Index And Type As In View2DMarkerEditor

name: useIndexAndTypeAsInView2DMarkerEditor, type: Bool, default: TRUE

If enabled then offsets calculated from list index of XMarkers or XMarker.type members are calculated as in the SoView2DMarkerEditor where both are increased by 1 before using them; if disabled they are used as they are.

Note

Since there is no valid specification of the zero’th entry in StylePalette, marker indices or types with value 0 will use settings from fields of DicomPRSave instead.

Add all CSOList data also as private tags

name: addCSOListAsPrivateTags, type: Bool, default: TRUE

If enabled then the state of the CSOList is added as private tags.

CSOList Privat Tag Comment

name: privateCSOListCommentTag, type: String

Additional user comment for the CSOList stored as private tag.

Patients Name

name: patientsName, type: String

DICOM tag: The patient name (0010,0010) to be written. Note that DICOM checkers often complain about typically used names. A typical and standard compliant name is, for example, Familyname^Firstname. See http://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html for definition and http://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html#sect_6.2.1.1 for examples.

Patient ID

name: patientID, type: String

DICOM tag: String/number used to identify the patient see tag (0010,0020).

Patient Birth Date Year

name: patientBirthDateYearEnum, type: Enum, default: User Defined

The selectable year of birth of the patient; ‘User Defined’ allows manual specification. See DICOM tag Patient’s Birth Day (0010,0030).

Values:

Title

Name

​User Defined

​User Defined

​1900

​1900

​1901

​1901

​1902

​1902

​1903

​1903

​1904

​1904

​1905

​1905

​1906

​1906

​1907

​1907

​1908

​1908

​1909

​1909

​1910

​1910

​1911

​1911

​1912

​1912

​1913

​1913

​1914

​1914

​1915

​1915

​1916

​1916

​1917

​1917

​1918

​1918

​1919

​1919

​1920

​1920

​1921

​1921

​1922

​1922

​1923

​1923

​1924

​1924

​1925

​1925

​1926

​1926

​1927

​1927

​1928

​1928

​1929

​1929

​1930

​1930

​1931

​1931

​1932

​1932

​1933

​1933

​1934

​1934

​1935

​1935

​1936

​1936

​1937

​1937

​1938

​1938

​1939

​1939

​1940

​1940

​1941

​1941

​1942

​1942

​1943

​1943

​1944

​1944

​1945

​1945

​1946

​1946

​1947

​1947

​1948

​1948

​1949

​1949

​1950

​1950

​1951

​1951

​1952

​1952

​1953

​1953

​1954

​1954

​1955

​1955

​1956

​1956

​1957

​1957

​1958

​1958

​1959

​1959

​1960

​1960

​1961

​1961

​1962

​1962

​1963

​1963

​1964

​1964

​1965

​1965

​1966

​1966

​1967

​1967

​1968

​1968

​1969

​1969

​1970

​1970

​1971

​1971

​1972

​1972

​1973

​1973

​1974

​1974

​1975

​1975

​1976

​1976

​1977

​1977

​1978

​1978

​1979

​1979

​1980

​1980

​1981

​1981

​1982

​1982

​1983

​1983

​1984

​1984

​1985

​1985

​1986

​1986

​1987

​1987

​1988

​1988

​1989

​1989

​1990

​1990

​1991

​1991

​1992

​1992

​1993

​1993

​1994

​1994

​1995

​1995

​1996

​1996

​1997

​1997

​1998

​1998

​1999

​1999

​2000

​2000

​2001

​2001

​2002

​2002

​2003

​2003

​2004

​2004

​2005

​2005

​2006

​2006

​2007

​2007

​2008

​2008

​2009

​2009

​2010

​2010

​2011

​2011

​2012

​2012

​2013

​2013

​2014

​2014

​2015

​2015

​2016

​2016

​2017

​2017

​2018

​2018

​2019

​2019

​2020

​2020

​2021

​2021

​2022

​2022

​2023

​2023

​2024

​2024

​2025

​2025

​2026

​2026

​2027

​2027

​2028

​2028

​2029

​2029

​2030

​2030

​2031

​2031

​2032

​2032

​2033

​2033

​2034

​2034

​2035

​2035

​2036

​2036

​2037

​2037

​2038

​2038

​2039

​2039

​2040

​2040

​2041

​2041

​2042

​2042

​2043

​2043

​2044

​2044

​2045

​2045

​2046

​2046

​2047

​2047

​2048

​2048

​2049

​2049

​2050

​2050

​2051

​2051

​2052

​2052

​2053

​2053

​2054

​2054

​2055

​2055

​2056

​2056

​2057

​2057

​2058

​2058

​2059

​2059

Patient Birth Date Year String

name: patientBirthDateYearString, type: String

The year of the patient birth as string. Can be modified manually only if ‘Patient Sex’ is ‘User Defined’. See DICOM tag Patient’s Birth Day (0010,0030).

Patient Birth Date Month

name: patientBirthDateMonthEnum, type: Enum, default: User Defined

The selectable month of birth of the patient; ‘User Defined’ allows manual specification. See DICOM tag Patient’s Birth Day (0010,0030).

Values:

Title

Name

​User Defined

​User Defined

​01-January

​01-January

​02-February

​02-February

​03-March

​03-March

​04-April

​04-April

​05-May

​05-May

​06-June

​06-June

​07-July

​07-July

​08-August

​08-August

​09-September

​09-September

​10-October

​10-October

​11-November

​11-November

​12-December

​12-December

Patient Birth Date Month String

name: patientBirthDateMonthString, type: String

The month of the patient birth as string. Can be modified manually only if ‘Patient Birth Date Month’ is ‘User Defined’. See DICOM tag Patient’s Birth Day (0010,0030).

Patient Birth Date Day

name: patientBirthDateDayEnum, type: Enum, default: User Defined

The selectable Day of birth of the patient; ‘User Defined’ allows manual specification. See DICOM tag Patient’s Birth Day (0010,0030).

Values:

Title

Name

​User Defined

​User Defined

​01

​01

​02

​02

​03

​03

​04

​04

​05

​05

​06

​06

​07

​07

​08

​08

​09

​09

​10

​10

​11

​11

​12

​12

​13

​13

​14

​14

​15

​15

​16

​16

​17

​17

​18

​18

​19

​19

​20

​20

​21

​21

​22

​22

​23

​23

​24

​24

​25

​25

​26

​26

​27

​27

​28

​28

​29

​29

​30

​30

​31

​31

Patient Birth Date Day String

name: patientBirthDateDayString, type: String

The day of the patient birth as string. Can be modified manually only if ‘Patient Birth Date Day’ is ‘User Defined’. See DICOM tag Patient’s Birth Day (0010,0030).

Patient Sex

name: patientSexEnum, type: Enum, default: Other

The selectable sex of the patient; ‘User Defined’ allows manual specification. See DICOM tag Patient Sex (0010,0040).

Values:

Title

Name

​Other

​Other

​Female

​Female

​Male

​Male

​User Defined

​User Defined

Patient Sex String

name: patientSexString, type: String

The sex of the patient as string. Can be modified manually only if ‘Patient Sex’ is ‘User Defined’. See DICOM tag Patient Sex (0010,0040).

Patient Inherit Mode

name: patientInheritMode, type: Enum, default: InheritFromTopLevel

Controls in which way patient information tags are inherited from input if inheritDICOMTags is triggered.

Values:

Title

Name

​Do Not Inherit

​DoNotInherit

​Inherit From Top Level

​InheritFromTopLevel

Study Instance UID

name: studyInstanceUID, type: String

DICOM tag: Study Instance UID (0020,000D) Unique identifier for the study. If available then see Update Automatically On Changes of StudyInstanceUID and C.12.2 Common Instance Reference Module in the DICOM standard for details and important dependent settings. It is strongly recommended to inherit and write the Study Instance UID (0020,000D) and not to create a new one, because some viewers apply presentation states only to referenced image if they have the same Study Instance UID (0020,000D). Must contain up to 64 characters from ‘0’-‘9’ or ‘.’.

Create new UID

name: createStudyInstanceUID, type: Trigger

Creates a new Study Instance UID.

Auto

name: autoCreateStudyInstanceUID, type: Bool, default: FALSE

If enabled for each written file a new Study Instance UID is created. If disabled the currently set one is used. It is strongly recommended to leave this flag disabled if you want to show saved presentation state information in external viewers because some of them apply presentation states only to referenced images if they have the same Study Instance UID (0020,000D).

Study Date

name: studyDate, type: String

DICOM tag: Study Date (0008,0020). The date the study started. May be empty.

Study Time

name: studyTime, type: String

DICOM tag: Study Time (0008,0030). The time the study started. May be empty.

Referring Physician Name

name: referringPhysicianName, type: String

DICOM tag: Referring Physician’s Name (0008,0090). Name of the patient’s referring physician. May be empty. See Patients Name for details about valid format.

Study ID

name: studyID, type: String

DICOM tag: Study ID (0020,0010). User or equipment generated study ID. May be empty.

Accession Number

name: accessionNumber, type: String

DICOM tag: Accession Number (0008,0050). A RIS generated number that identifies the order of the Study. May be empty.

Study Description

name: studyDescription, type: String

DICOM tag: Study Description (0008,1030). Institution-generated description or classification of the Study (component) performed. Optional, may be empty.

Series Number

name: seriesNumber, type: String

DICOM tag: Series Number (0020,0011). Integer number with at most 12 digits; tag must exist and in most contexts it must have a non-empty value; in a few IODs it is allowed to be empty.

Inherit Series Number

name: inheritSeriesNumber, type: Bool, default: TRUE

Sometimes it is not desired to inherit the Series Number tag from the input, because it’s set by the module user. For this purpose it can be disabled.

Warning

  • If the Series Number tag does not match the tag in the referenced data, most DICOM viewers will not show presentation states silently. Therefore it is strongly recommended to leave this flag enabled.

Laterality

name: laterality, type: Enum, default: DoNotWriteTagValue

DICOM tag: Laterality (0020,0060). Allowed values: ‘L’ (Left), ‘R’ (Right), and empty value (WriteEmptyTagValue). Note that not writing the tag value may violate the DICOM standard under some circumstances.

Values:

Title

Name

​Do Not Write Tag Value

​DoNotWriteTagValue

​Write Empty Tag Value

​WriteEmptyTagValue

​L

​L

​R

​R

Use Empty Laterality Tag If Not Found On Inheritance

name: useEmptyLateralityTagIfNotFoundOnInheritance, type: Bool, default: TRUE

In may contexts the Laterality tag (0020,0060) must be available but is allowed to be empty, however, often it cannot be inherited since it is not part of the DICOM. This field allows to inherit a state that always an empty tag value is written instead of skipping it which perhaps would violate the DICOM standard. Also depends on other Laterality tags.

Laterality Checks

name: lateralityChecks, type: Enum, default: AsWarning

The combinations of values of Laterality tag(s) and BodyPartExamined cannot be checked reliably in all situations; therefore a deactivation or only warning logs may be useful in some cases.

Values:

Title

Name

​As Error

​AsError

​As Warning

​AsWarning

​Ignore

​Ignore

Series Description

name: seriesDescription, type: String

DICOM tag: Series Description (0008,103E). Optional, may be empty.

Write Body Part Examined

name: writeBodyPartExamined, type: Bool, default: FALSE

If enabled then the Body Part Examined (0018,0015) tag is written into output files, otherwise not.

Body Part Examined

name: bodyPartExamined, type: String

DICOM tag: Body Part Examined (0018,0015). Text description of the part of the body examined. See Annex L ‘Correspondence of Anatomic Region Codes and Body Part Examined Defined Terms’ in PS3.16 for Defined Terms

Presentation Creation Date

name: presentationCreationDate, type: String

DICOM tag: Presentation Creation Date (0070,0082). Date on which this presentation was created. This date may be different from the date the DICOM SOP Instance was created, since the presentations state information contained may have been recorded earlier.

Presentation Creation Time

name: presentationCreationTime, type: String

DICOM tag: Presentation Creation Time (0070,0083). Time on which this presentation was created. This time may be different from the time the DICOM SOP Instance was created, since the presentations state information contained may have been recorded earlier.

Auto Set Up Presentation Creation Date

name: autoSetUpPresentationCreationDate, type: Bool, default: TRUE

If enabled then the Presentation Creation Date is set to the current date when pressing Inherit DICOM Information (CTRL+R), otherwise it is left as it is.

Auto Set Up Presentation Creation Time

name: autoSetUpPresentationCreationTime, type: Bool, default: TRUE

If enabled then the Presentation Creation Time is set to the current date when pressing Inherit DICOM Information (CTRL+R), otherwise it is left as it is.

Set Current Date

name: setCurrentDate, type: Trigger

Sets Presentation Creation Date to the current date.

Set Current Time

name: setCurrentTime, type: Trigger

Sets Presentation Creation Time to the current time.

Content Label

name: contentLabel, type: String

DICOM tag: Content Label (0070,0080). A label that is used to identify this SOP instance. Must obey value representation CS (Uppercase characters, ‘0’-‘9’, the SPACE character, and underscore ‘_’, of the Default Character Repertoire, 16 bytes maximum).

Content Description

name: contentDescription, type: String

DICOM tag: Content Description (0070,0081). A description of the content of this SOP instance.

Content Creators Name

name: contentCreatorsName, type: String

DICOM tag: Content Creator’s Name (0070,0084). Name of operator (such as a technologist or physician) creating the content of the SOP instance. May be empty.

Sop Class UID

name: sopClassUID, type: String, persistent: no

Read-only value: Uniquely defines the DICOM SOP class to be written by this module as described in DICOM Standard C.12.1.1.1 SOP Class UID, SOP Instance UID. Must contain up to 64 characters from ‘0’-‘9’ or ‘.’.

Sop Instance UID

name: sopInstanceUID, type: String, persistent: no

Read-only value: Uniquely defines the DICOM SOP Instance UID written by this module as described in DICOM Standard C.12.1.1.1 SOP Class UID, SOP Instance UID. Must contain up to 64 characters from ‘0’-‘9’ or ‘.’.

Specific Character Set

name: specificCharacterSet, type: String, default: ISO_IR 192

Specific Character Set (0008,0005) identifies the Character Set that expands or replaces the Basic Graphic Set (ISO 646) for values of Data Elements that have Value Representation of SH, LO, ST, PN, LT, UC or UT.

Recommended is ISO_IR 192 (which corresponds to the internal MeVisLab representation) or disable tag writing at all which also uses this term.

Enabling this term may cause that inconvertible characters are silently lost.

Currently supported values are

  • ISO_IR 6 // ASCII, not a real term but will drop to default, i.e. no tag will be written.

  • ISO_IR 100 // Latin alphabet No. 1

  • ISO_IR 101 // Latin alphabet No. 2

  • ISO_IR 109 // Latin alphabet No. 3

  • ISO_IR 110 // Latin alphabet No. 4

  • ISO_IR 144 // Cyrillic

  • ISO_IR 127 // Arabic

  • ISO_IR 126 // Greek

  • ISO_IR 138 // Hebrew

  • ISO_IR 148 // Latin alphabet No. 5

  • ISO_IR 13 // Japanese

  • ISO_IR 166 // Thai

  • ISO_IR 192 // Unicode in UTF-8 (multi-byte)

  • GB18030 // Chinese (multi-byte)

  • GBK // Chinese (multi-byte, subset of GB 18030

Write Specific Character Set

name: writeSpecificCharacterSet, type: Bool, default: FALSE

If enabled then Specific Character Set (0008,0005) is written into the output file, otherwise not.

Off is recomended for this field and for ‘Inherit Specific Character Set’ which then automatically uses ISO_IR 192 (=’UTF-8’ which is the internal MeVisLab representation).

Enabling this may cause that inconvertible characters are silently lost during save.

Inherit Specific Character Set

name: inheritSpecificCharacterSet, type: Bool, default: FALSE

If enabled then ‘Specific Character Set (0008,0005)’ and ‘Write specific character set’ are updated on inheritance according to the input data set.

Off is recomended for this field and for ‘Write specific character set’ which then automatically uses ISO_IR 192 (=’UTF-8’ which is the internal MeVisLab representation).

Enabling this may cause that non-ISO_IR 192 character sets are inherited and written and inconvertible characters from input are silently lost.

Set Default

name: setDefaultSpecificCharacterSet, type: Trigger

Sets the recommended ‘ISO_IR 192’ character set as default which matches the internal UTF-8 coding in MeVisLab and reduces risk of losing inconvertible characters.

Create Or Extend Contributing Equipment Sequence

name: createOrExtendContributingEquipmentSequence, type: Bool, default: TRUE

If enabled then a new entry is appended to the inherited Contributing Equipment Sequence (0018,A001) or a new one is generated if there is none in the input. Contributing Equipment Sequence (0018,A001) is of Type 3 (not required) but according to PS3.4 ‘C.3.5 New Instance Creation for Enhanced Multi-Frame Image Conversion’ ‘The new Composite Instance shall contain the Contributing Equipment Sequence (0018,A001)’ e.g. on LegacyEnhanced creation.

Hidden Fields

warnNonExistingFileOnBrowsing

name: warnNonExistingFileOnBrowsing, type: Bool, default: TRUE

Internal field to control whether selected non-existing files are warned or not, not to be used manually.

warnDirectoriesOnBrowsing

name: warnDirectoriesOnBrowsing, type: Bool, default: TRUE

Internal field to control whether selected directories are warned or not, not to be used manually.

inheritAndCopyTagsOtherPatientRelationshipTags

name: inheritAndCopyTagsOtherPatientRelationshipTags, type: Bool, default: TRUE

If enabled then other input Patient Relationship tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

inheritAndCopyTagsOtherPatientIdentificationTags

name: inheritAndCopyTagsOtherPatientIdentificationTags, type: Bool, default: TRUE

If enabled then other input Patient Identification tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

inheritAndCopyTagsOtherPatientDemographicTags

name: inheritAndCopyTagsOtherPatientDemographicTags, type: Bool, default: TRUE

If enabled then other input Patient Demographic tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

inheritAndCopyTagsOtherPatientMedicalTags

name: inheritAndCopyTagsOtherPatientMedicalTags, type: Bool, default: TRUE

If enabled then other input Patient Medical tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

inheritAndCopyTagsOtherGeneralStudyTags

name: inheritAndCopyTagsOtherGeneralStudyTags, type: Bool, default: TRUE

If enabled then other input General Study tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

inheritAndCopyTagsOtherPatientStudyTags

name: inheritAndCopyTagsOtherPatientStudyTags, type: Bool, default: TRUE

If enabled then other input Patient Study tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

seriesInstanceUID

name: seriesInstanceUID, type: String

DICOM tag: Series Instance UID (0020,000E). Unique identifier of the series, must be non-empty in case of some enhanced contexts. Must contain up to 64 characters from ‘0’-‘9’ or ‘.’.

inheritSeriesInstanceUID

name: inheritSeriesInstanceUID, type: Enum, default: CreateNew

Which value to set on inheriting:

DoNotInherit: Do not inherit SeriesInstanceUID from input and leave value unchanged.

InheritFromTopLevel: Inherit SeriesInstanceUID from top level of input DCMTree; value is set empty if not found.

InheritRecursively: Inherit SeriesInstanceUID from recursive search in input DCMTree; value is set empty if not found.

CreateNew: Create a new SeriesInstanceUID instead of inheriting one.

CreateNewIfNeeded: Same as CreateNew, but only if SeriesInstanceUID is empty.

Values:

Title

Name

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateSeriesInstanceUID

name: autoCreateSeriesInstanceUID, type: Enum, default: CreateIfNeeded

DoNotAutoCreate: Do not create a new SeriesInstanceUID whatever happens.

AutoCreateAlways: Always create a new SeriesInstanceUID even if another valid one is set.

CreateIfNeeded: Create a new SeriesInstanceUID if SeriesInstanceUID field is empty.

createSeriesInstanceUID

name: createSeriesInstanceUID, type: Trigger

Creates a new unique SeriesInstanceUID if notified.

bodyPartExaminedValues

name: bodyPartExaminedValues, type: String, default: ABDOMEN,ABDOMENPELVIS,ADRENAL,ANKLE,AORTA,ARM,ATLANTOAXIAL,ATLANTOOCCIPITAL,AXILLA,BACK,BLADDER,BRAIN,BREAST,BRONCHUS,BUTTOCK,CALCANEUS,CALF,CAROTID,CARPUS,CEREBELLUM,CERVIX,CHEEK,CHEST,CHESTABDOMEN,CHESTABDPELVIS,CIRCLEOFWILLIS,CLAVICLE,COCCYX,COLON,CORNEA,CORONARYARTERY,CSPINE,CTSPINE,DIGIT,DISTALPHALANX,DUODENUM,EAR,ELBOW,ESOPHAGUS,EXTREMITY,EYE,EYELID,FACE,FEMUR,FIBULA,FINGER,FOOT,FOREFETLOCK,FOREFOOT,FORENAVICULAR,FOREPASTERN,FRONTALSINUS,GALLBLADDER,HAND,HEAD,HEADNECK,HEART,HINDFETLOCK,HINDFOOT,HINDNAVICULAR,HINDPASTERN,HIP,HUMERUS,IAC,ILEUM,ILIUM,JAW,JEJUNUM,KIDNEY,KNEE,LARYNX,LEG,LEGS,LIVER,LSPINE,LSSPINE,LUNG,MAXILLA,MEDIASTINUM,METACARPUS,METATARSUS,MOUTH,NECK,NECKCHEST,NECKCHESTABDOMEN,NECKCHESTABDPELV,NOSE,ORBIT,OVARY,PANCREAS,PAROTID,PATELLA,PELVIS,PENIS,PHARYNX,PROSTATE,RADIUS,RADIUSULNA,RECTUM,RIB,SCALP,SCAPULA,SCLERA,SCROTUM,SHOULDER,SKULL,SPINE,SPLEEN,SSPINE,STERNUM,STIFLE,STOMACH,SUBMANDIBULAR,TAIL,TARSUS,TESTIS,THIGH,THUMB,THYMUS,THYROID,TIBIA,TIBIAFIBULA,TLSPINE,TMJ,TOE,TONGUE,TRACHEA,TSPINE,UGITRACT,ULNA,URETER,URETHRA,URINARYTRACT,UTERUS,VAGINA,VULVA,WHOLEBODY,WING,WRIST,ZYGOMA

Read-only: hidden field containing allowed values in Body Part Examined.

inheritAndCopyTagsOtherGeneralSeriesTags

name: inheritAndCopyTagsOtherGeneralSeriesTags, type: Bool, default: TRUE

If enabled then other input General Series tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

manufacturer

name: manufacturer, type: String, default: Fraunhofer MEVIS

DICOM tag: Manufacturer (0008,0070). Company creating the DICOM file. In enhanced contexts it must have a value but in some other contexts it may be empty.

Defaults to ‘Fraunhofer MEVIS’ if not set otherwise in hidden defaultManufacturer field.

inheritManufacturer

name: inheritManufacturer, type: Enum, default: InheritFromTopLevel

See inheritSeriesInstanceUID.

Values:

Title

Name

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateManufacturer

name: autoCreateManufacturer, type: Enum, default: DoNotAutoCreate

See autoCreateSeriesInstanceUID.

createManufacturer

name: createManufacturer, type: Trigger

See createSeriesInstanceUID.

defaultManufacturer

name: defaultManufacturer, type: String, default: Fraunhofer MEVIS

This hidden field contains the default value for manufacturer if a new value is created with createManufacturer, during inheritance or saving. It can be changed by the application if the module is run by another manufacturer.

manufacturerModelName

name: manufacturerModelName, type: String, default: MeVisLab

DICOM tag: Manufacturer Model Name (0008,1090) determined by the manufacturer. In enhanced contexts it must have a value but sometimes it may be empty.

inheritManufacturerModelName

name: inheritManufacturerModelName, type: Enum, default: InheritFromTopLevel

See inheritSeriesInstanceUID.

Values:

Title

Name

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateManufacturerModelName

name: autoCreateManufacturerModelName, type: Enum, default: DoNotAutoCreate

See autoCreateSeriesInstanceUID.

createManufacturerModelName

name: createManufacturerModelName, type: Trigger

See createSeriesInstanceUID.

defaultManufacturerModelName

name: defaultManufacturerModelName, type: String, default: MeVisLab

This hidden field contains the default value for manufacturerModelName if a new value is created with createManufacturerModelName, during inheritance or saving. It can be changed by the application if the module is run by another manufacturer an/or on another model.

deviceSerialNumber

name: deviceSerialNumber, type: String

DICOM tag: Device Serial Number (0018,1000). The serial number of the device. In enhanced contexts it must have a value but sometimes it may be empty.

inheritDeviceSerialNumber

name: inheritDeviceSerialNumber, type: Enum, default: InheritFromTopLevel

See inheritSeriesInstanceUID.

Values:

Title

Name

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateDeviceSerialNumber

name: autoCreateDeviceSerialNumber, type: Enum, default: DoNotAutoCreate

See autoCreateSeriesInstanceUID.

createDeviceSerialNumber

name: createDeviceSerialNumber, type: Trigger

See createSeriesInstanceUID.

softwareVersions

name: softwareVersions, type: String

DICOM tag: Manufacturer’s software version (0018,1020). In enhanced contexts it must have a value but sometimes it may be empty.

inheritSoftwareVersions

name: inheritSoftwareVersions, type: Enum, default: InheritFromTopLevel

See inheritSeriesInstanceUID.

Values:

Title

Name

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateSoftwareVersions

name: autoCreateSoftwareVersions, type: Enum, default: DoNotAutoCreate

See autoCreateSeriesInstanceUID.

createSoftwareVersions

name: createSoftwareVersions, type: Trigger

See createSeriesInstanceUID.

inheritAndCopyTagsOtherGeneralEquipmentTags

name: inheritAndCopyTagsOtherGeneralEquipmentTags, type: Bool, default: TRUE

If enabled then other input General Equipment tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the output.

instanceNumber

name: instanceNumber, type: Integer, default: 0

useMMSUIDPrefix

name: useMMSUIDPrefix, type: Bool, default: TRUE

If false then the UID prefix for Fraunhofer MEVIS is used (not recommended), if true (the recommended default) then the MMS prefix is used.

manufacturerForContributedEquipmentSequence

name: manufacturerForContributedEquipmentSequence, type: String, default: Fraunhofer MEVIS

See manufacturer.

inheritManufacturerForContributedEquipmentSequence

name: inheritManufacturerForContributedEquipmentSequence, type: Enum, default: CreateNewIfNeeded

See inheritSeriesInstanceUID.

Values:

Title

Name

​Do Not Inherit

​DoNotInherit

​Inherit From Top Level

​InheritFromTopLevel

​Inherit Recursively

​InheritRecursively

​Create New

​CreateNew

​Create New If Needed

​CreateNewIfNeeded

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateManufacturerForContributedEquipmentSequence

name: autoCreateManufacturerForContributedEquipmentSequence, type: Enum, default: CreateIfNeeded

See autoCreateSeriesInstanceUID.

Values:

Title

Name

​Do Not Auto Create

​DoNotAutoCreate

​Auto Create Always

​AutoCreateAlways

​Create If Needed

​CreateIfNeeded

createManufacturerForContributedEquipmentSequence

name: createManufacturerForContributedEquipmentSequence, type: Trigger

See createSeriesInstanceUID.

defaultManufacturerForContributedEquipmentSequence

name: defaultManufacturerForContributedEquipmentSequence, type: String, default: Fraunhofer MEVIS

See defaultManufacturer.

manufacturerModelNameForContributedEquipmentSequence

name: manufacturerModelNameForContributedEquipmentSequence, type: String, default: MeVisLab

See manufacturerModelName.

inheritManufacturerModelNameForContributedEquipmentSequence

name: inheritManufacturerModelNameForContributedEquipmentSequence, type: Enum, default: CreateNewIfNeeded

See inheritSeriesInstanceUID.

Values:

Title

Name

​Do Not Inherit

​DoNotInherit

​Inherit From Top Level

​InheritFromTopLevel

​Inherit Recursively

​InheritRecursively

​Create New

​CreateNew

​Create New If Needed

​CreateNewIfNeeded

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateManufacturerModelNameForContributedEquipmentSequence

name: autoCreateManufacturerModelNameForContributedEquipmentSequence, type: Enum, default: CreateIfNeeded

See autoCreateSeriesInstanceUID.

Values:

Title

Name

​Do Not Auto Create

​DoNotAutoCreate

​Auto Create Always

​AutoCreateAlways

​Create If Needed

​CreateIfNeeded

createManufacturerModelNameForContributedEquipmentSequence

name: createManufacturerModelNameForContributedEquipmentSequence, type: Trigger

See createSeriesInstanceUID.

defaultManufacturerModelNameForContributedEquipmentSequence

name: defaultManufacturerModelNameForContributedEquipmentSequence, type: String, default: MeVisLab

See defaultManufacturerModelName.

deviceSerialNumberForContributedEquipmentSequence

name: deviceSerialNumberForContributedEquipmentSequence, type: String, default: SN_MEVISLAB_VERSION_2_2-13.3.0_64_18121618296094_FM

See deviceSerialNumber.

inheritDeviceSerialNumberForContributedEquipmentSequence

name: inheritDeviceSerialNumberForContributedEquipmentSequence, type: Enum, default: CreateNew

See inheritSeriesInstanceUID.

Values:

Title

Name

​Do Not Inherit

​DoNotInherit

​Inherit From Top Level

​InheritFromTopLevel

​Inherit Recursively

​InheritRecursively

​Create New

​CreateNew

​Create New If Needed

​CreateNewIfNeeded

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateDeviceSerialNumberForContributedEquipmentSequence

name: autoCreateDeviceSerialNumberForContributedEquipmentSequence, type: Enum, default: CreateIfNeeded

See autoCreateSeriesInstanceUID.

Values:

Title

Name

​Do Not Auto Create

​DoNotAutoCreate

​Auto Create Always

​AutoCreateAlways

​Create If Needed

​CreateIfNeeded

createDeviceSerialNumberForContributedEquipmentSequence

name: createDeviceSerialNumberForContributedEquipmentSequence, type: Trigger

See createSeriesInstanceUID.

softwareVersionsForContributedEquipmentSequence

name: softwareVersionsForContributedEquipmentSequence, type: String, default: MeVisLab MEVISLAB_VERSION_STRING

See softwareVersions.

inheritSoftwareVersionsForContributedEquipmentSequence

name: inheritSoftwareVersionsForContributedEquipmentSequence, type: Enum, default: CreateNew

See inheritSeriesInstanceUID.

Values:

Title

Name

​Do Not Inherit

​DoNotInherit

​Inherit From Top Level

​InheritFromTopLevel

​Inherit Recursively

​InheritRecursively

​Create New

​CreateNew

​Create New If Needed

​CreateNewIfNeeded

​Inherit From Top Level Only If Exists

​InheritFromTopLevelOnlyIfExists

​Inherit Recursively Only If Exists

​InheritRecursivelyOnlyIfExists

autoCreateSoftwareVersionsForContributedEquipmentSequence

name: autoCreateSoftwareVersionsForContributedEquipmentSequence, type: Enum, default: CreateIfNeeded

See autoCreateSeriesInstanceUID.

Values:

Title

Name

​Do Not Auto Create

​DoNotAutoCreate

​Auto Create Always

​AutoCreateAlways

​Create If Needed

​CreateIfNeeded

createSoftwareVersionsForContributedEquipmentSequence

name: createSoftwareVersionsForContributedEquipmentSequence, type: Trigger

See createSeriesInstanceUID.

inheritAndCopyTagsOtherGeneralEquipmentTagsForContributedEquipmentSequence

name: inheritAndCopyTagsOtherGeneralEquipmentTagsForContributedEquipmentSequence, type: Bool, default: FALSE

If enabled then other input General Equipment tags are buffered during Inherit DICOM Information (CTRL+R) and added to the output during Save (Ctrl+S); otherwise only the mandatory tags and/or fields are added to the the new entry of the Contributing Equipment Sequence.