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.
  • 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 Post Bad Param Errors: Bool
Accession Number: String Displayed World Position Components: Enum Prefix (vectorLengthAnnotationString): String
Add all CSOList data also as private tags: Bool Draw Mode: Enum Prefix (indexAnnotationString): String
Add all XMarkerList data also as private tags: Bool Dump Private Tag Values: Bool Prefix (idAnnotationString): String
Add StylePalette also as private tags: Bool File Name (unresolvedFileName): String Prefix (typeAnnotationString): String
Annotate: Bool File Name (fileName): String Prefix (nameAnnotationString): String
Auto: Bool Filter: String Prefix (labelAnnotationString): String
Auto Set Up Presentation Creation Date: Bool Horizontal Text Alignment: Enum Prefix (descriptionAnnotationString): String
Auto Set Up Presentation Creation Time: Bool Inherit DICOM Information (CTRL+R): Trigger Prefix (worldPositionAnnotationString): String
autoCreateDeviceSerialNumber: Enum Inherit Series Number: Bool Prefix (voxelPositionAnnotationString): String
autoCreateDeviceSerialNumberForContributedEquipmentSequence: Enum Inherit Specific Character Set: Bool Prefix (vectorAnnotationString): String
autoCreateManufacturer: Enum inheritAndCopyTagsOtherGeneralEquipmentTags: Bool Presentation Creation Date: String
autoCreateManufacturerForContributedEquipmentSequence: Enum inheritAndCopyTagsOtherGeneralEquipmentTagsForContributedEquipmentSequence: Bool Presentation Creation Time: String
autoCreateManufacturerModelName: Enum inheritAndCopyTagsOtherGeneralSeriesTags: Bool Recommended Display CIELab Value: Vector3
autoCreateManufacturerModelNameForContributedEquipmentSequence: Enum inheritAndCopyTagsOtherGeneralStudyTags: Bool Referring Physician Name: String
autoCreateSeriesInstanceUID: Enum inheritAndCopyTagsOtherPatientDemographicTags: Bool RGB: Color
autoCreateSoftwareVersions: Enum inheritAndCopyTagsOtherPatientIdentificationTags: Bool Save (Ctrl+S): Trigger
autoCreateSoftwareVersionsForContributedEquipmentSequence: Enum inheritAndCopyTagsOtherPatientMedicalTags: Bool Series Description: String
Body Part Examined: String inheritAndCopyTagsOtherPatientRelationshipTags: Bool Series Number: String
bodyPartExaminedValues: String inheritAndCopyTagsOtherPatientStudyTags: Bool seriesInstanceUID: String
Color Mode: Enum inheritDeviceSerialNumber: Enum Set Current Date: Trigger
Content Creators Name: String inheritDeviceSerialNumberForContributedEquipmentSequence: Enum Set Current Time: Trigger
Content Description: String inheritManufacturer: Enum Set Default: Trigger
Content Label: String inheritManufacturerForContributedEquipmentSequence: Enum softwareVersions: String
Copy Other Input Tags: Bool inheritManufacturerModelName: Enum softwareVersionsForContributedEquipmentSequence: String
Create new UID: Trigger inheritManufacturerModelNameForContributedEquipmentSequence: Enum Sop Class UID: String
Create Or Extend Contributing Equipment Sequence: Bool inheritSeriesInstanceUID: Enum Sop Instance UID: String
createDeviceSerialNumber: Trigger inheritSoftwareVersions: Enum Specific Character Set: String
createDeviceSerialNumberForContributedEquipmentSequence: Trigger inheritSoftwareVersionsForContributedEquipmentSequence: Enum Status: String
createManufacturer: Trigger InIdx: Integer Study Date: String
createManufacturerForContributedEquipmentSequence: Trigger Input Selector: Enum Study Description: String
createManufacturerModelName: Trigger instanceNumber: Integer Study ID: String
createManufacturerModelNameForContributedEquipmentSequence: Trigger Laterality: Enum Study Instance UID: String
createSeriesInstanceUID: Trigger Laterality Checks: Enum Study Time: String
createSoftwareVersions: Trigger Line Length Epsilon: Double StylePalette Privat Tag Comment: String
createSoftwareVersionsForContributedEquipmentSequence: Trigger manufacturer: String Tag Dump: String
CSOList Privat Tag Comment: String manufacturerForContributedEquipmentSequence: String Tag Dump Size: Integer
defaultManufacturer: String manufacturerModelName: String Text Location: Enum
defaultManufacturerForContributedEquipmentSequence: String manufacturerModelNameForContributedEquipmentSequence: String Text Offset In Pixels: Vector2
defaultManufacturerModelName: String Num Decimal Places: Integer True File Name: String
defaultManufacturerModelNameForContributedEquipmentSequence: String Num shown binary bytes: Integer Try to convert items even if outside pixel area: Bool
deviceSerialNumber: String Patient Birth Date Day: Enum Use Empty Laterality Tag If Not Found On Inheritance: Bool
deviceSerialNumberForContributedEquipmentSequence: String Patient Birth Date Day String: String Use Index And Type As In View2DMarkerEditor: Bool
Diameter: Double Patient Birth Date Month: Enum Use Vector Length As Diameter: Bool
Display Description: Bool Patient Birth Date Month String: String useMMSUIDPrefix: Bool
Display Id: Bool Patient Birth Date Year: Enum warnDirectoriesOnBrowsing: Bool
Display Index: Bool Patient Birth Date Year String: String warnNonExistingFileOnBrowsing: Bool
Display Label: Bool Patient ID: String Write Body Part Examined: Bool
Display Name: Bool Patient Sex: Enum Write Specific Character Set: Bool
Display Type: Bool Patient Sex String: String XMarkerList Privat Tag Comment: String
Display Vector Length: Bool Patients Name: String  
Displayed Vector Components: Enum Perform stricter checks: Bool  

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: 1900

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, default: 1900

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: 01-January

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, default: 01-January

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: 01

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, default: 01

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, default: Other

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).

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. 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: TRUE

If enabled for each written file a new Study Instance UID is created. If disabled the currently set one is used.

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.

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

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.

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

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.

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.

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.

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

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

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

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

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

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

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

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

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.