DicomEnhancedSave¶
-
MLModule
¶ genre DICOM
author Wolf Spindler
package FMEstable/ReleaseMeVis
dll MLDicomOutputs
definition MLDicomOutputs.def see also MultiFileVolumeListFIDOutput
,DicomSCSave
,DicomSRSave
,DicomREGSave
,RTObjectSave
,WEMDicomSave
,ImageSave
,DirectDicomImport
,itkImageFileWriter
,MultiFileVolumeListImageOutput
,MultiFileVolumeListSROutput
,MultiFileVolumeListRTOutput
,MultiFileVolumeListWaveformOutput
,MultiFileVolumeListIteratorOutput
keywords DICOM
,output
,save
,export
,file
,create
,enhanced
,legacy
,converted
Purpose¶
DicomEnhancedSave
creates and composes a DICOM file of a modality/IOD defined in Export as
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 was used.
Currently Export as
only supports Legacy Converted Enhanced MR as described in the DICOM standard in section A.71. This is generally meant to compose several MR (single frame) files in single files to reduce the amount of files to be transferred. Future versions may also support other IODs or legacy converted modalities.
Nevertheless the module can also be used to export non-DICOM or data from other modalities/IODs as Legacy Converted Enhanced MR if Perform stricter checks
is disabled. Although this should be used with care, it is a powerful option to convert any image data to PACS compatible DICOM files.
Note
- The module usually provides only interfaces for required or conditionally required tags. Only in a few cases User tags are provided for convenience. Tags directly derived from input data such as pixel or image properties (Row, Colunm, pixel data content etc.) are not presented at the user interface, but exported without the option to modify them before exporting them.
- The module is in an early development stage and there is not much experience with the acceptance in PACSs or in standard compliance. Especially references to other SOP instances or classes as well as derivation information should be observed carefully for correctness. The acceptance of files created with compression Transfer Syntaxes (
Transfer Syntax UID
) should be tested whether the recipient supports it. - Exported DICOM files do not necessarily fit exactly the stored files when reimporting them. Reasons are, for example, that the configuration how the original data was created may differ from the one used when storing and reimporting it. This can include changes in precision of numerical tag or pixel values, minimum/maximum values, voxel sizes and many other tags. Stored minimum and maximum values are always calculated from the image data and incoming ones from the image properties are ignored.
- A variety of tags can/are be inherited/copied from input slices and transferred unchanged to the output files if optional flags (such as
inheritAndCopyTagsOtherGeneralSeriesTags
orinheritAndCopyTagsOtherGeneralEquipmentTags
) are checked. These tags and their contents are not (and cannot be) checked for correctness and will be transferred to the output as they are.
Usage¶
- Connect the image to be exported to
input0
. - If the image connected to
input0
does not contain the DICOM information for the image then connect it toinputBase
and setInput Selector
to BaseConnector. - Press
Inherit DICOM Information (CTRL+R)
. This sets up all fields and internals with new settings to matching 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.
- Set the the output file name in
File Name
into which the DICOM file shall be written. - Press
Save (Ctrl+S)
to create and export the DICOM file. - 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.
Input Fields¶
input0¶
-
name:
input0
, type:
Image
¶ The connector to the image data to be exported. It may also be used as source for DICOM information if
Input Selector
is ImageConnector.
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 Selector
is set to BaseConnector accordingly. It supports DICOM tree and MultiFileVolumeList Base objects as inputs.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.
Parameter Fields¶
Field Index¶
Visible Fields¶
File Name (unresolvedFileName)¶
-
name:
unresolvedFileName
, type:
String
, deprecated name:
unresolvedDcmInputFileName
¶ 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¶
Input Selector¶
-
name:
inputSelector
, type:
Enum
, default:
ImageConnector
, deprecated name:
inheritanceInput
¶ 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¶
#Volumes¶
-
name:
numVolumes
, type:
Integer
, persistent:
no
, deprecated name:
numDDIVolumes
¶ 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 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 inDicomEnhancedSave
. 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 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)¶
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.
Export as¶
-
name:
supportedIODs
, type:
Enum
, default:
LegacyConvertedEnhancedMR
¶ List of supported IODs:
Legacy Converted Enhanced MR: Exports enhanced MR according to A.71 Legacy Converted Enhanced MR Image IOD in DICOM Standard
Transfer Syntax UID¶
-
name:
compression
, type:
Enum
, default:
Explicit VR Little-endian, no compression
¶ List of supported Transfer Syntax UIDs:
- Note: Compressing binary segmentation data is only supported by
- ‘1.2.840.10008.1.2.1.99, Deflated Explicit VR Little Endian’.
1.2.840.10008.1.2.1, Explicit VR Little-endian: The normally used one, no compression.
1.2.840.10008.1.2.1.2, Explicit VR Big-endian: Normally rarely used, no compression.
1.2.840.10008.1.2, Implicit VR-Litte-endian: The only mandatory one but also the worst, no compression.
1.2.840.10008.1.2.4.70, JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Shall always be supported according to Part 5, 10.2 Transfer Syntax for a DICOM Default of Lossless JPEG Compression Slightly faster than 1.2.840.10008.1.2.4.57, same algorithm, lower compression, only other predictor.
1.2.840.10008.1.2.4.80, JPEG-LS Lossless Image Compression: Modern compression, usually best good compression and speed, however, perhaps no good real-world support. Best trade off if supported by recipients.
1.2.840.10008.1.2.4.57, JPEG Lossless, Non-Hierarchical (Process 14): Marked as slightly faster than 1.2.840.10008.1.2.4.70, perhaps less real-world support.
1.2.840.10008.1.2.5, RLE Lossless: Widely supported, however, usually no good compression.
1.2.840.10008.1.2.1.99, Deflated Explicit VR Little Endian: Deflate-algorithm based codec which compresses the entire data set regardless of its contents, i.e. it is well suited for non-image data compression, floating point or binary pixel data which may not be supported by many other transfer syntaxes. Usually reaches best compression ratios if the size of pixel data is not the largest part of the written data set.
Suppress Unassigned Content Write¶
-
name:
suppressUnassignedContentWrite
, type:
Bool
, default:
FALSE
¶ If true then no contents are written into Unassigned[PerFrame|Shared]ConvertedAttributesSequence in LegacyConvertedEnhanced IODs even there are any; basically this is for testing since some tools complain about them; for proper operation, however, this flag always should be disabled.
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. For example that:
- MIXED value is correctly used in Image Type (0008,0008) tag.
- Input modality matches the aimed Modality (0008,0060) (for example that input is of Modality MR when Legacy Converted Enhanced MR is exported).
- Input DICOM information contains only one C.7.3.1 General Series Module (or to be more precise that there are no frame specific Series Instance UID (0020,000E) tags).
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 ‘.’.
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
, deprecated name:
studyUID
¶ 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:
FALSE
¶ 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.
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
Frame Of Reference UID¶
-
name:
frameOfReferenceUID
, type:
String
¶ Unique ID referencing the DICOM frame on which the saved data set is based. It should reference the UID of the frame on which this file ‘bases’; usually derived from the ‘FrameOfReferenceUID’ tag of the connected input image. Must contain up to 64 characters from ‘0’-‘9’ or ‘.’.
Position Reference Indicator¶
-
name:
positionReferenceIndicator
, type:
String
¶ Part of the imaging target used as a reference. See C.7.4.1.1.2 in DICOM standard; usually derived from the ‘PositionReferenceIndicator’ tag of the connected input image.
Content Date¶
-
name:
contentDate
, type:
String
¶ DICOM tag: Content Date (0008,0023). The date the image pixel data creation started. May be empty in some contexts, but not in all.
Content Time¶
-
name:
contentTime
, type:
String
¶ DICOM tag: Content Time (0008,0033). The time the image pixel data creation started. May be empty in some contexts, but not in all.
Always write PresentationLUTShape (2050,0020)¶
-
name:
alwaysWritePresentationLUTShape
, type:
Bool
, default:
FALSE
¶ Flag to enable writing of PresentationLUTShape (2050,0020) even if not needed. This may be of interest to satisfy some IOD checkers which also want the tag if PhotometricInterpretation (0028,0004) is not MONOCHROME2, which, however, is too strict in some IODs (for example LegacyConvertedEnhancedMR) where the Enhanced MR Image macro requires it only if PhotometricInterpretation (0028,0004) is MONOCHROME2.
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.