DicomPRSave¶
- MLModule¶
 genre
author
package
dll
definition
see also
MultiFileVolumeListPROutput,DicomEnhancedSave,DicomFIDSave,DicomREGSave,DicomSCSave,DicomSEGSave,DicomSRSave,DirectDicomImport,MultiFileVolumeListSROutput,MultiFileVolumeListRTOutput,MultiFileVolumeListWaveformOutput,MultiFileVolumeListIteratorOutput,RTObjectSavekeywords
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.
DicomPRSaveoutputs 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
baseInput0for details.
Usage¶
Connect a DICOM image to
input0(or alternatively select a volume from a connected MultiFileVolumeList atinputBase). From this connected volume the reference DICOM information is extracted, and generated presentation state objects, such as graphical annotations, will “live” on it.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
inputModifierListwhich can modify DICOM tags before they are exported.
Set the the output file name in
File Nameinto which the DICOM file shall be written.Connect the XMarkerList (or other supported Base object(s)) to be converted to any of the field
baseInput0,baseInput1, ….Press
Save (Ctrl+S)to create and export the DICOM file.Check
Statusfor 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 NumberandInherit Series Numberfor 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 UIDandAuto.
Displayed Graphic Annotations (in a DICOM viewer or with
MultiFileVolumeListPROutput) are not located at correct positions:The DICOM/image input connected to
input0orinputBaseserves not only as source for DICOM information to set up parameters ofDicomPRSave, but also must be reference image for the Base objects (e.g. XMarkerLists or CSOs) to be converted to Presentation States. If Base objects andDicomPRSavehave different reference images,DicomPRSavecannot determine coordinate systems and transformations correctly. This may lead to displacements up to complete invisibilities.As denoted in 1), the reference image used for
DicomPRSaveand Base objects must be the same. This also means that the connected volume should best be as original as possible. Especially between original import andDicomPRSavethere 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
ApplyDicomPixelModifierswhich synchronously modify image and DICOM tags data, can be used safely.
If
DicomPRSaverefuses exports after inheriting withInherit DICOM Information (CTRL+R)with the message Directly exporting from enhanced multi-frame files is not possible… means thatDicomPRSaverequires some proprietary preprocessing on some DICOM inputs to be able to export correctly. This usually is done appropriately withDirectDicomImport, ensure thatDirectDicomImport.decomposeMultiFrameFilesis enabled for that purpose.
Windows¶
Default Panel¶
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 Selectoris 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. IfinputBaseis 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 ifInput Selectoris 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 forinput0.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, orDicomModifyImageTagsPlugin, 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
MultiFileVolumeListPROutputand 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¶
Visible Fields¶
File Name (unresolvedFileName)¶
- name: unresolvedFileName, type: String¶
 If a loading operation from disk is selected as input in the
Input Selectorthen the file name from which the DICOM tree shall be loaded is specified here. Otherwise this field is insensitive.
True 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   | 
Base Connector  | 
BaseConnector  | 
DICOM information is inherited from the   | 
File  | 
File  | 
DICOM information is inherited from the file specified in   | 
InIdx¶
#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¶
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 Sizeand 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 inDicomPRSave. 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. IfPerform stricter checksis 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.
Save (Ctrl+S)¶
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, thenLine Length Epsilonis 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
DicomPRSaveshall 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 ofDicomPRSaveare 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
DicomPRSaveare 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.
Recommended Display CIELab Value¶
- name: recommendedDisplayCIELabValue, type: Vector3, default: 100.000003866667 -1.66666661582937e-05 6.66666646331748e-06¶
 The values of the Recommended Display CIE Lab Value; note that this field displays original CIELab values in ranges [0,100], [-128,127], and [-128,127] while are stored, while the corresponding DICOM tag Recommended Display CIE Lab Value (0062,000D) stores values scaled to [0,65535].
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¶
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 Lengthis off. In case of an CSO the vector from first and last seed point is used instead.
Display Vector Length¶
Prefix (indexAnnotationString)¶
- name: indexAnnotationString, type: String, default: Index=¶
 The prefix to be displayed before a marker Index if
Display Indexis on, otherwise it is not displayed.
Display Index¶
Prefix (idAnnotationString)¶
- name: idAnnotationString, type: String, default: Id=¶
 The prefix to be displayed before a marker Id if
Display Idis on, otherwise it is not displayed.
Display Id¶
Prefix (typeAnnotationString)¶
- name: typeAnnotationString, type: String, default: Type=¶
 The prefix to be displayed before the object type if
Display Typeis on, otherwise it is not displayed.
Display Type¶
Prefix (nameAnnotationString)¶
- name: nameAnnotationString, type: String, default: Name=¶
 The prefix to be displayed before the name of an object if
Display Nameis on, otherwise it is not displayed. If the item does not have a name then an empty string is used.
Display Name¶
Prefix (labelAnnotationString)¶
- name: labelAnnotationString, type: String, default: Label=¶
 The prefix to be displayed before an object label if
Display Labelis on, otherwise it is not displayed. If the object does not have a label then an empty string is used.
Display Label¶
Prefix (descriptionAnnotationString)¶
- name: descriptionAnnotationString, type: String, default: Description=¶
 The prefix to be displayed before an object description if
Display Descriptionis on, otherwise it is not displayed. If the object does not have a label then an empty string is used.
Display Description¶
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 Componentsis 0.
Displayed World Position Components¶
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
Prefixis 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
SoView2DMarkerEditorwhich 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 Componentsis 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
Prefixis 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
DicomPRSavestill 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.
XMarkerList Privat Tag Comment¶
- name: privateXMarkerListCommentTag, type: String¶
 Additional user comment for the XMarkerList stored as private tag.
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
SoView2DMarkerEditorwhere 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 ofDicomPRSaveinstead.
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 Namefor 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 Dateis set to the current date when pressingInherit 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 Timeis set to the current date when pressingInherit DICOM Information (CTRL+R), otherwise it is left as it is.
Set Current Date¶
- name: setCurrentDate, type: Trigger¶
 Sets
Presentation Creation Dateto the current date.
Set Current Time¶
- name: setCurrentTime, type: Trigger¶
 Sets
Presentation Creation Timeto 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.