|
![]() |
||||||
PREV NEXT | FRAMES NO FRAMES |
You can use the Merge DICOM Toolkit "out of the box" by using its supplied utility programs and sample applications. In this section we discuss how to configure the toolkit and to use the utility programs. The sample applications are described in the provided source code.
Merge DICOM toolkit is highly configurable, and understanding its configuration files is critical to using the library effectively. Four configuration files are used by the toolkit: an initialization file, an application profile, a system profile, and a service profile.
Each of the four toolkit initialization files follows the same format. The format of the initialization files is the same format that is used by others in the industry. Configuration files are broken down into sections for easier organization and grouping of parameters. Each section has a section heading enclosed in square brackets. Next, parameters are defined by putting the parameter name to the left of an equal sign and its initial value to the right. Zero of more spaces may precede and follow the equal sign. Figure 9 illustrates the format of an ini file.
Notice that parameter names are relative to their header sections. For example, PARAMETER_1 and PARAMETER_2 are defined twice in the above example "ini" file. But, since each is defined in a different section, they are considered different entities.
Each of the four configuration files are discussed separately below. Only the key configurable parameters are summarized here. For detailed descriptions of all configuration files and their parameters, scroll down to the appropriate section of this page.
Initialization File
The Merge DICOM Initialization File (usually called merge.ini) provides the DICOM Toolkit with its top-level configuration. It specifies the location of the other three configuration files, along with message and error logging characteristics.
All Merge DICOM applications require access to the Initialization File. Your Java programs access the Initialization File differently than do C applications, such as the utility programs distributed with the Merge DICOM Toolkit.
The C utility programs access the merge.ini file by accessing the MERGE_INI environment variable. You must set the MERGE_INI environmental variable to point to the Initialization File.
Merge DICOM applications written in Java do not use the MERGE_INI environment variable. Instead, they determine the location of the Initialization File in any way that is appropriate and then pass the location to the Class Library, using the static initialize() method of the MC class.
The initialization file contains one [MergeCOM3] section that points to the location of the other three Merge DICOM initialization files, specifies characteristics of the message/error log kept by the DICOM Toolkit library, turns particular types of logging on and off, and specifies where the messages are logged (file, screen, both, or neither). In most cases the INFO, WARNING, and ERROR messages will be sufficient. The Tn_MESSAGE settings (where n is an integer between 1 and 9 ) turn on lower-level protocol tracing capabilities. These capabilities can prove useful when running into difficulties communicating with other implementations of DICOM over a network and can be used by Merge OEM service engineers in diagnosing lower-level network problems.
Note: The trace logging levels are intended strictly for debugging purposes. If left on, they can seriously degrade toolkit performance. In particular, the T2, T7 and T9 levels should be turned off in normal operation.
The following parameters are recognized by Merge DICOM toolkit in the initialization file.
Name | Section | Description |
---|---|---|
BLANK_FILL_LOG_FILE | MergeCOM3 |
This parameter informs the toolkit whether or not to expand the log file to its maximum size on initialization. Setting this value to 'NO' will decrease the time spent in the initialization call but increase the time spent doing actual logging while the application is running. DEFAULT: YES |
ERROR_MESSAGE | MergeCOM3 | This parameter instructs the toolkit to which destination (File, Screen and/or Memory) to log error messages. |
INFO_MESSAGE | MergeCOM3 | This parameter instructs the toolkit to which destination (File, Screen and/or Memory or none) to log information messages. |
LOG_FILE | MergeCOM3 |
This is the name of the Merge DICOM message log file. The file will be [re-]created by Merge DICOM toolkit when the it is initialized.
The path to the file can be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. DEFAULT: ./merge.log |
LOG_FILE_BACKUP | MergeCOM3 |
This is a boolean parameter that tells Merge DICOM toolkit to create a backup of the log file before starting a new log. If “ON”, any existing log file is renamed with a file extension of .Lnn where nn is an integer number between 01 and 99. DEFAULT: OFF. |
LOG_FILE_LINE_LENGTH | MergeCOM3 |
This option specifies the number of characters that occur on a line within the merge.log file. DEFAULT: 78 MINIMUM: 16 MAXIMUM: 254 |
LOG_FILE_SIZE | MergeCOM3 |
This is the number of lines which will be created for the log file. If BLANK_FILL_LOG_FILE is set to YES, the file is initialized to all binary zeros before the first message is logged. DEFAULT: 1000 MINIMUM: 100 MAXIMUM: 30720 (30 * 1024) |
LOG_MEMORY_SIZE | MergeCOM3 |
This is the number of lines of length equal to LOG_FILE_LINE_LENGTH which will be created for the memory log. Note that this option is ignored when using the Java Class Library. DEFAULT: 1024 |
MERGECOM_3_APPLICATIONS | MergeCOM3 |
File containing the Merge DICOM application configurations.
The path to the file can be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. |
MERGECOM_3_PROFILE | MergeCOM3 |
File containing the Merge DICOM system profile parameters.
The path to the file can be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. |
MERGECOM_3_SERVICES | MergeCOM3 |
File containing the Merge DICOM system service and message definitions.
The path to the file can be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. |
NUM_HISTORICAL_LOG_FILES | MergeCOM3 | This parameter informs the toolkit of the number of historical log files to keep. The valid range of number for this parameter is 1 - 99. The historical log files are named basename .L01 to basename .L XX where basename .L XX is the latest log file. The basename is determined by the LOG_FILE parameter. When the maximum number of historical log files is met, the oldest log file is deleted and the log files are renamed. Note that a new log file is created each time the library is initialized. This parameter is only used when LOG_FILE_BACKUP is set to YES. |
T2_MESSAGE | MergeCOM3 | This level logs the entire contents of messages sent or received over the network in a text format. |
T3_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to association negotiation. |
T4_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages when incoming associations are automatically rejected. |
T5_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to regular and extended validation. |
T6_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to configuration. |
T7_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to logging of command level attributes in messages sent or received. |
T8_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to the streaming in and out of messages and file objects. |
T9_MESSAGE | MergeCOM3 | This logging level parameter informs the toolkit to log messages relating to PDU’s sent and received. NOTE: Receipt and transmission of P-DATA PDU’s are logged; not the actual PDU itself. |
WARNING_MESSAGE | MergeCOM3 | This parameter instructs the toolkit to which destination (File, Screen and/or Memory or none) to log warning messages. |
Application Profile
The Merge DICOM Application Profile (usually called mergecom.app) specifies the characteristics of your own application entity and the AE's your application will connect with over a network. The name and location of this file is specified in the [MergeCOM3] section of the Merge DICOM initialization file.
DICOM AE Title
When your application acts as a client (SCU), you must specify in the Application Profile the network address of the server (SCP) Application Entities you wish to connect (open an association) with. Your client refers to the application entity by a DICOM Application Entity Title and this is the same way it is referred to in the application profile. The AE title consists of a string of characters containing no spaces and having a length of 16 characters or less. A section of the profile exists for each Server AE you wish to connect with.
For example, if your application is an image source and also performs query and retrieval of images from two separate DICOM AE's, it might contain sections like the following:
[Acme_Store_SCP]
PORT_NUMBER = 104
HOST_NAME = acme_sun1
SERVICE_LIST = Storage_Service_List
[Acme_QR_SCP]
PORT_NUMBER = 104
HOST_NAME = acme_hp2
SERVICE_LIST = Query_Service_List
Acme_Store_SCP and Acme_QR_SCP are the AE titles for the applications you wish to connect with. The storage server runs on a computer having the host name acme_sun1, while the query/retrieve server runs on a computer with the host name acme_hp2. Both servers listen on port 104 (the standard DICOM listen port). The host name and port combined, make up the TCP/IP network address for a listening server application.
Service List
The SERVICE_LIST is set to the name of another section in the application profile that lists the DICOM services that will be negotiated with that application entity. For example, in this case these sections might look like:
[Storage_Service_List]
SERVICES_SUPPORTED = 11 # Services in list
SERVICE_1 = STANDARD_MR
SERVICE_2 = STANDARD_CR
SERVICE_3 = STANDARD_CT
SERVICE_4 = STANDARD_CURVE
SERVICE_5 = STANDARD_MODALITY_LUT
SERVICE_6 = STANDARD_OVERLAY
SERVICE_7 = STANDARD_SEC_CAPTURE
SERVICE_8 = STANDARD_US
SERVICE_9 = STANDARD_US_MF
SERVICE_10 = STANDARD_VOI_LUT
SERVICE_11 = STANDARD_NM
[Query_Service_List]
SERVICES_SUPPORTED = 2 # Services in list
SERVICE_1 = STUDY_ROOT_FIND
SERVICE_2 = STUDY_ROOT_MOVE
[Storage_Service_List] lists the storage services that will be requested, while [Query_Service_List] lists the type of query/retrieve that will be requested. These service names are the strings used in Merge DICOM Toolkit to identify standard DICOM services. Any services listed must be defined in the Service Profile, discussed below.
Dynamic Service Lists
You may also dynamically create service lists at run time, using the methods of the MCproposedContext and MCproposedContextList classes. This is discussed in more detail in the Association Management section.
A service list also needs to be defined for each of your own server AE's. Even though you do not need a section for your server AE Title (since it is running on your local machine), you do need to specify a service list that your application supports as an SCP. If your application also acts as a storage server, for example, it could use [Storage_Service_List]. You also need to specify a listen port for your server AE in the System Profile, which is discussed below.
Transfer Syntax List
For DICOM Toolkit users, Merge DICOM toolkit allows for the defining of the transfer syntaxes supported for each service in a service list. This functionality is implemented through the use of transfer syntax lists. The basic service lists discussed above can be modified to include these transfer syntax lists. The following is an example service list that has transfer syntaxes specified for each service:
[Storage_Service_List]
SERVICES_SUPPORTED = 3 # Services in list
SERVICE_1 = STANDARD_MR
SYNTAX_LIST_1 = MR_Syntax_List
SERVICE_2 = STANDARD_US
SYNTAX_LIST_2 = US_Syntax_List
SERVICE_3 = STANDARD_CT
SYNTAX_LIST_3 = CT_Syntax_List
[MR_Syntax_List]
SYNTAXES_SUPPORTED = 4 # Number of Syntaxes
SYNTAX_1 = JPEG_BASELINE
SYNTAX_2 = EXPLICIT_BIG_ENDIAN
SYNTAX_3 = EXPLICIT_LITTLE_ENDIAN
SYNTAX_4 = IMPLICIT_LITTLE_ENDIAN
[US_Syntax_List]
SYNTAXES_SUPPORTED = 2 # Number of Syntaxes
SYNTAX_1 = RLE
SYNTAX_2 = IMPLICIT_LITTLE_ENDIAN
[CT_Syntax_List]
SYNTAXES_SUPPORTED = 2 # Number of Syntaxes
SYNTAX_1 = EXPLICIT_LITTLE_ENDIAN
SYNTAX_2 = IMPLICIT_LITTLE_ENDIAN
[Storage_Service_List] lists some standard storage service class services used by Merge DICOM toolkit. The SYNTAX_LIST_N parameter has been added to this example to specify a transfer syntax list for each service. This optional parameter is set to the name of another section in the application profile which lists a group of DICOM transfer syntaxes to be negotiated. When this parameter is not set, the default non-compressed transfers syntaxes (implicit VR little endian, explicit VR little endian, and explicit VR big endian) are negotiated.
The [MR_Syntax_List], [US_Syntax_List], and [CT_Syntax_List] sections each define a separate transfer syntax list for the MR, US, and CT services respectively. Merge DICOM Toolkit currently supports all transfer syntaxes specified in the DICOM standard. The names used for these transfer syntaxes are defined in the System profile parameters table below.
The MCtransferSyntax and MCtransferSyntaxList classes can be used to create dynamic transfer syntax lists or to obtain information from the configuration files. This is discussed in more detail in the Association Management section.
Transfer syntax priority during association negotiation
For server (SCP) applications, the order in which transfer syntaxes are specified in a transfer syntax list dictates the priority Merge DICOM toolkit places on them during association negotiation. For example, in the [US_Syntax_List] specified above, if a client (SCU) proposed the Ultrasound storage service with the RLE compressed transfer syntax and the implicit VR little endian transfer syntax, Merge DICOM toolkit would select the RLE transfer syntax because it was listed first in the transfer syntax list.
When a transfer syntax list is not specified in a service list the priority Merge DICOM Toolkit places on transfer syntaxes during association negotiation is dependant on the hardware platform. On little endian machines (Intel and DEC Alpha based systems) the priority order is: Explicit VR Little Endian, Implicit VR Little Endian, and Explicit VR Big Endian. On big endian machines the priority order is: Explicit VR Big Endian, Explicit VR Little Endian, and Implicit VR Little Endian.
Role negotiation
Merge DICOM toolkit also supports DICOM role negotiation through its service lists. Whereas in previous examples, the same service list could be used for both client (SCU) and server (SCP), these service lists are specific to the role to be negotiated for each service.
[SCU_Service_List]
SERVICES_SUPPORTED = 1 # Services in list
SERVICE_1 = STORAGE_COMMITMENT_PUSH
ROLE_1 = SCU
[SCP_Service_List]
SERVICES_SUPPORTED = 1 # Services in list
SERVICE_1 = STORAGE_COMMITMENT_PUSH
ROLE_1 = SCP
In this case, the [SCU_Service_List] supports the Storage Commitment Push SOP class as an SCU and the [SCP_Service_List] supports the Storage Commitment Push SOP class as an SCP. Merge DICOM toolkit will negotiate the association based on the settings for these roles.
The role for a service can be defined as SCU, SCP, BOTH, or be undefined. The following table contains a complete listing of configurable roles for both requestors and acceptors along with the resultant negotiated roles. Note that in some cases a service will be rejected because the roles being negotiated do not match.
Requestor’s Configured Role | Acceptor’s Configured Role | Requestor’s Negotiated Role | Acceptor’s Negotiated Role |
---|---|---|---|
SCU | SCP | SCU | SCP |
SCU | Rejected | Rejected | |
BOTH | SCU | SCP | |
NOT DEFINED | SCU | SCP | |
SCP | SCP | Rejected | Rejected |
SCU | SCP | SCU | |
BOTH | SCP | SCU | |
NOT DEFINED | Rejected | Rejected | |
BOTH | SCP | SCU | SCP |
SCU | SCP | SCU | |
BOTH | BOTH | BOTH | |
NOT DEFINED | SCP | SCP | |
NOT DEFINED | SCP | SCU | SCP |
SCU | Rejected | Rejected | |
BOTH | SCU | SCP | |
NOT DEFINED | SCU | SCP |
Application Profile Sections
The application profile contains the following sections:
Section | Description |
<remote_application_title> | Section describing a remote DICOM Application Entity title(s). The remote Application Entity titles listed here must be 1 to 16 bytes in length with no embedded spaces. Simply, this section is where you list the DICOM applications you want to communicate with. |
<service_list_name> | List(s) of DICOM services that will be provided by the Application Entities listed in the [<remote_application_title>] sections. The service names listed here must be 1 to 33 bytes in length with no embedded spaces. Simply, this section is where you list the services that are provided by the remote DICOM applications. |
<syntax_list_name> | List(s) of DICOM transfer syntaxes that will be supported by the services listed in the [<service_list_name>] sections. |
Application Profile Parameters
The application profile contains the following parameters:
Parameter | Section | Description |
---|---|---|
PORT_NUMBER | <remote_application_title> | This parameter is the TCP/IP port on which the remote DICOM system listens for connections. The commonly used port number is 104. |
HOST_NAME | <remote_application_title> | This parameter is the name of the remote host as it is known to your TCP/IP system. The parameters value must be 1 to 19 bytes in length with no embedded spaces. NOTE that a numeric internet address may be used: e.g. 192.204.32.1 |
SERVICE_LIST | <remote_application_title> | This parameter is the name of a section in the application profile which provides a list of services for which local applications will negotiate when attempting to establish an association. The parameters value names must be 1 to 33 bytes in length with no embedded spaces. |
The SERVICE_LIST section of the Application Profile is used to describe the DICOM services that will be negotiated by the listed Application Entity. The parameter values are text strings recognizable by the Merge DICOM toolkit. These strings are defined in detail in message.txt file included in the distribution. The following is a list of currently supported services:
Merge DICOM Service Parameter | DICOM Service Class |
ACQUISITION_CONTEXT_SR | Storage |
ADVANCED_BLENDING_PRESENTATION_STATE | Storage |
ARTERIAL_PULSE_WAVEFORM | Storage |
AUTOREFRACTION_MEASUREMENTS | Storage |
BASIC_ANNOTATION_BOX | Print Management |
BASIC_COLOR_IMAGE_BOX | Print Management |
BASIC_FILM_BOX | Print Management |
BASIC_FILM_SESSION | Print Management |
BASIC_GRAYSCALE_IMAGE_BOX | Print Management |
BASIC_PRINT_IMAGE_OVERLAY_BOX | Print Management |
BASIC_STRUCTURED_DISPLAY | Storage |
BODY_POSITION_WAVEFORM | Storage |
BREAST_IMAGING_RPI_QUERY | Relevant Patient Information Query |
BREAST_PROJ_PRESENT | Storage |
BREAST_PROJ_PROCESS | Storage |
BREAST_TOMO_IMAGE_STORAGE | Storage |
C_ARM_PHOTON_ELECTRON_RADIATION | Storage |
C_ARM_PHOTON_ELECTRON_RADIATION_RECORD | Storage |
CARDIAC_RPI_QUERY | Relevant Patient Information Query |
CHEST_CAD_SR | Storage |
COLON_CAD_SR | Storage |
COLOR_PALETTE_FIND | Query/Retrieve |
COLOR_PALETTE_GET | Query/Retrieve |
COLOR_PALETTE_MOVE | Query/Retrieve |
COLOR_PALETTE_STORAGE | Storage |
COMPOSITE_INST_RET_NO_BULK_GET | Query/Retrieve |
COMPOSITE_INSTANCE_ROOT_RET_GET | Query/Retrieve |
COMPOSITE_INSTANCE_ROOT_RET_MOVE | Query/Retrieve |
COMPOSITING_PLANAR_MPR_VOLUMETRIC_PS | Storage |
COMPREHENSIVE_3D_SR | Storage |
CONTENT_ASSESSMENT_RESULTS | Storage |
CORNEAL_TOPOGRAPHY_MAP | Storage |
CT_DEFINED_PROCEDURE_PROTOCOL | Storage |
CT_PERFORMED_PROCEDURE_PROTOCOL | Storage |
DEFINED_PROCEDURE_PROTOCOL_FIND | Query/Retrieve |
DEFINED_PROCEDURE_PROTOCOL_GET | Query/Retrieve |
DEFINED_PROCEDURE_PROTOCOL_MOVE | Query/Retrieve |
DEFORMABLE_SPATIAL_REGISTRATION | Storage |
DERMOSCOPIC_PHOTOGRAPHY_IMAGE | Storage |
DETACHED_INTERP_MANAGEMENT | Results Management |
DETACHED_PATIENT_MANAGEMENT | Patient Management |
DETACHED_RESULTS_MANAGEMENT | Results Management |
DETACHED_STUDY_MANAGEMENT | Study Management |
DETACHED_VISIT_MANAGEMENT | Patient Management |
DICOMDIR | Media Storage |
DISPLAY_SYSTEM | Display System Management |
ELECTROMYOGRAM_WAVEFORM | Storage |
ELECTROOCULOGRAM_WAVEFORM | Storage |
ENCAPSULATED_CDA | Storage |
ENCAPSULATED_MTL | Storage |
ENCAPSULATED_OBJ | Storage |
ENCAPSULATED_STL | Storage |
ENHANCED_CONTINUOUS_RT_IMAGE | Storage |
ENHANCED_CT_IMAGE | Storage |
ENHANCED_MR_COLOR_IMAGE | Storage |
ENHANCED_MR_IMAGE | Storage |
ENHANCED_PET_IMAGE | Storage |
ENHANCED_RT_IMAGE | Storage |
ENHANCED_US_VOLUME | Storage |
ENHANCED_XA_IMAGE | Storage |
ENHANCED_XRAY_RADIATION_DOSE_SR | Storage |
ENHANCED_XRF_IMAGE | Storage |
EXTENSIBLE_SR | Storage |
G_P_PERFORMED_PROCEDURE_STEP_RETIRED | Study Management |
G_P_SCHEDULED_PROCEDURE_STEP_RETIRED | Study Management |
G_P_WORKLIST_RETIRED | Basic Worklist Management |
GENERAL_AUDIO_WAVEFORM | Storage |
GENERAL_RPI_QUERY | Relevant Patient Information Query |
GENERIC_IMPLANT_TEMPLATE | Storage |
GENERIC_IMPLANT_TEMPLATE_FIND | Query/Retrieve |
GENERIC_IMPLANT_TEMPLATE_GET | Query/Retrieve |
GENERIC_IMPLANT_TEMPLATE_MOVE | Query/Retrieve |
GRAYSCALE_PLANAR_MPR_VOLUMETRIC_PS | Storage |
HANGING_PROTOCOL | Hanging Protocol Storage |
HANGING_PROTOCOL_FIND | Hanging Protocol Query/Retrieve |
HANGING_PROTOCOL_GET | Hanging Protocol Query/Retrieve |
HANGING_PROTOCOL_MOVE | Hanging Protocol Query/Retrieve |
IMAGE_OVERLAY_BOX_RETIRED | Print Management |
IMPLANT_ASSEMBLY_TEMPLATE | Storage |
IMPLANT_ASSEMBLY_TEMPLATE_FIND | Query/Retrieve |
IMPLANT_ASSEMBLY_TEMPLATE_GET | Query/Retrieve |
IMPLANT_ASSEMBLY_TEMPLATE_MOVE | Query/Retrieve |
IMPLANT_TEMPLATE_GROUP | Storage |
IMPLANT_TEMPLATE_GROUP_FIND | Query/Retrieve |
IMPLANT_TEMPLATE_GROUP_GET | Query/Retrieve |
IMPLANT_TEMPLATE_GROUP_MOVE | Query/Retrieve |
IMPLANTATION_PLAN_SR_DOCUMENT | Storage |
INSTANCE_AVAIL_NOTIFICATION | Instance Availability Notification |
INTRAOCULAR_LENS_CALCULATIONS | Storage |
INVENTORY | Storage |
INVENTORY_CREATION | Storage Management |
INVENTORY_FIND | Query/Retrieve |
INVENTORY_GET | Query/Retrieve |
INVENTORY_MOVE | Query/Retrieve |
KERATOMETRY_MEASUREMENTS | Storage |
KEY_OBJECT_SELECTION_DOC | Storage |
LEGACY_CONVERTED_ENHANCED_CT_IMAGE | Storage |
LEGACY_CONVERTED_ENHANCED_MR_IMAGE | Storage |
LEGACY_CONVERTED_ENHANCED_PET_IMAGE | Storage |
LENSOMETRY_MEASUREMENTS | Storage |
MACULAR_GRID_THIICKNESS_VOLUME | Storage |
MAMMOGRAPHY_CAD_SR | Storage |
MEDIA_CREATION_MANAGEMENT | Media Creation Management |
MICROSCOPY_BULK_SIMPLE_ANNOTATIONS | Storage |
MODALITY_WORKLIST_FIND | Modality Worklist |
MR_SPECTROSCOPY | Storage |
MULTI_CHANNEL_RESPIRATORY_WAVEFORM | Storage |
MULTIPLE_VOLUME_RENDERING_VOLUMETRIC_PRESENTATION_STATE | Storage |
OPHT_VIS_FIELD_STATIC_PERIM_MEAS | Storage |
OPHTHALMIC_AXIAL_MEASUREMENTS | Storage |
OPHTHALMIC_OCT_BSCAN_VOLUME_ANALYSIS | Storage |
OPHTHALMIC_OCT_EN_FACE_IMAGE | Storage |
OPHTHALMIC_TOMOGRAPHY_IMAGE | Storage |
OPM_THICKNESS_MAP | Storage |
PARAMETRIC_MAP | Storage |
PATIENT_RADIATION_DOSE_SR | Storage |
PATIENT_ROOT_QR_FIND | Query/Retrieve |
PATIENT_ROOT_QR_GET | Query/Retrieve |
PATIENT_ROOT_QR_MOVE | Query/Retrieve |
PATIENT_STUDY_ONLY_QR_FIND_RETIRED | Query/Retrieve |
PATIENT_STUDY_ONLY_QR_GET_RETIRED | Query/Retrieve |
PATIENT_STUDY_ONLY_QR_MOVE_RETIRED | Query/Retrieve |
PERFORMED_IMAGING_AGENT_ADMINISTRATION_SR | Storage |
PERFORMED_PROCEDURE_STEP | Study Management |
PERFORMED_PROCEDURE_STEP_NOTIFY | Study Management |
PERFORMED_PROCEDURE_STEP_RETRIEVE | Study Management |
PLANNED_IMAGING_AGENT_ADMINISTRATION_SR | Storage |
PRESENTATION_LUT | Print Management |
PRINT_JOB | Print Management |
PRINT_QUEUE_MANAGEMENT | Print Management |
PRINTER | Print Management |
PRINTER_CONFIGURATION | Print Management |
PROCEDURAL_EVENT_LOGGING | Application Event Logging |
PROCEDURE_LOG | Storage |
PRODUCT_CHARACTERISTICS_QUERY | Query/Retrieve |
PROTOCOL_APPROVAL | Storage |
PROTOCOL_APPROVAL_FIND | Query/Retrieve |
PROTOCOL_APPROVAL_GET | Query/Retrieve |
PROTOCOL_APPROVAL_MOVE | Query/Retrieve |
PULL_PRINT_REQUEST | Print Management |
RADIOPHARMACEUTICAL_RADIATION_DOSE_SR | Print Management |
RAW_DATA | Storage |
REAL_WORLD_VALUE_MAPPING | Storage |
REFERENCED_IMAGE_BOX | Print Management |
REPOSITORY_QUERY | Query/Retrieve |
RESPIRATORY_WAVEFORM | Storage |
ROBOTIC_ARM_RADIATION | Storage |
ROBOTIC_ARM_RADIATION_RECORD | Storage |
ROUTINE_SCALP_ELECTROENCEPHALOGRAM_WAVEFORM | Storage |
RT_BEAMS_DELIVERY_INSTRUCTION | Storage |
RT_BRACHY_APP_SETUP_DELIVERY_INSTR | Storage |
RT_CONVENTIONAL_MACHINE_VERIFICATION | Verification |
RT_ION_MACHINE_VERIFICATION | Verification |
RT_PATIENT_POSITION_ACQUISITION_INSTRUCTION | Storage |
RT_PHYSICIAN_INTENT | Storage |
RT_RADIATION_RECORD_SET | Storage |
RT_RADIATION_SALVAGE_RECORD | Storage |
RT_RADIATION_SET | Storage |
RT_RADIATION_SET_DELIVERY_INSTRUCTION | Storage |
RT_SEGMENT_ANNOTATION | Storage |
RT_TREATMENT_PREPARATION | Storage |
SC_MULTIFRAME_GRAYSCALE_BYTE | Storage |
SC_MULTIFRAME_GRAYSCALE_WORD | Storage |
SC_MULTIFRAME_SINGLE_BIT | Storage |
SC_MULTIFRAME_TRUE_COLOR | Storage |
SEGMENTATION | Storage |
SEGMENTED_VOLUME_RENDERING_VOLUMETRIC_PRESENTATION_STATE | Storage |
SIMPLIFIED_ADULT_ECHO_SR | Storage |
SLEEP_ELECTROENCEPHALOGRAM_WAVEFORM | Storage |
SPATIAL_FIDUCIALS | Storage |
SPATIAL_REGISTRATION | Storage |
SPECTACLE_PRESCRIPTION_REPORT | Storage |
STANDARD_BASIC_TEXT_SR | Storage |
STANDARD_BLENDING_SOFTCOPY_PS | Storage |
STANDARD_COLOR_SOFTCOPY_PS | Storage |
STANDARD_COMPREHENSIVE_SR | Storage |
STANDARD_CR | Storage |
STANDARD_CT | Storage |
STANDARD_CURVE | Storage |
STANDARD_DX_PRESENT | Storage |
STANDARD_DX_PROCESS | Storage |
STANDARD_ECHO | Verification |
STANDARD_ENCAPSULATED_PDF | Storage |
STANDARD_ENHANCED_SR | Storage |
STANDARD_GRAYSCALE_SOFTCOPY_PS | Storage |
STANDARD_HARDCOPY_COLOR | Storage |
STANDARD_HARDCOPY_GRAYSCALE | Storage |
STANDARD_IO_PRESENT | Storage |
STANDARD_IO_PROCESS | Storage |
STANDARD_IVOCT_PRESENT | Storage |
STANDARD_IVOCT_PROCESS | Storage |
STANDARD_MG_PRESENT | Storage |
STANDARD_MG_PROCESS | Storage |
STANDARD_MODALITY_LUT | Storage |
STANDARD_MR | Storage |
STANDARD_NM | Storage |
STANDARD_NM_RETIRED | Storage |
STANDARD_OPHTHALMIC_16_BIT | Storage |
STANDARD_OPHTHALMIC_8_BIT | Storage |
STANDARD_OVERLAY | Storage |
STANDARD_PET | Storage |
STANDARD_PET_CURVE | Storage |
STANDARD_PRINT_STORAGE | Storage |
STANDARD_PSEUDOCOLOR_SOFTCOPY_PS | Storage |
STANDARD_RT_BEAMS_TREAT | Storage |
STANDARD_RT_BRACHY_TREAT | Storage |
STANDARD_RT_DOSE | Storage |
STANDARD_RT_IMAGE | Storage |
STANDARD_RT_ION_BEAMS_TREAT | Storage |
STANDARD_RT_ION_PLAN | Storage |
STANDARD_RT_PLAN | Storage |
STANDARD_RT_STRUCTURE_SET | Storage |
STANDARD_RT_TREAT_SUM | Storage |
STANDARD_SEC_CAPTURE | Storage |
STANDARD_US | Storage |
STANDARD_US_MF | Storage |
STANDARD_US_MF_RETIRED | Storage |
STANDARD_US_RETIRED | Storage |
STANDARD_VIDEO_ENDOSCOPIC | Storage |
STANDARD_VIDEO_MICROSCOPIC | Storage |
STANDARD_VIDEO_PHOTOGRAPHIC | Storage |
STANDARD_VL_ENDOSCOPIC | Storage |
STANDARD_VL_MICROSCOPIC | Storage |
STANDARD_VL_PHOTOGRAPHIC | Storage |
STANDARD_VL_SLIDE_MICROSCOPIC | Storage |
STANDARD_VOI_LUT | Storage |
STANDARD_WAVEFORM_12_LEAD_ECG | Storage |
STANDARD_WAVEFORM_AMBULATORY_ECG | Storage |
STANDARD_WAVEFORM_BASIC_VOICE_AUDIO | Storage |
STANDARD_WAVEFORM_CARDIAC_EP | Storage |
STANDARD_WAVEFORM_GENERAL_ECG | Storage |
STANDARD_WAVEFORM_HEMODYNAMIC | Storage |
STANDARD_XRAY_ANGIO | Storage |
STANDARD_XRAY_ANGIO_BIPLANE | Storage |
STANDARD_XRAY_RF | Storage |
STEREOMETRIC_RELATIONSHIP | Storage |
STORAGE_COMMITMENT_PULL | Storage Commitment |
STORAGE_COMMITMENT_PUSH | Storage Commitment |
STUDY_COMPONENT_MANAGEMENT | Study Management |
STUDY_CONTENT_NOTIFICATION | Study Content Notification |
STUDY_ROOT_QR_FIND | Query/Retrieve |
STUDY_ROOT_QR_GET | Query/Retrieve |
STUDY_ROOT_QR_MOVE | Query/Retrieve |
SUBJ_REFRACTION_MEASUREMENTS | Storage |
SUBSTANCE_ADMIN_LOGGING | Storage |
SUBSTANCE_APPROVAL_QUERY | Storage |
SURFACE_SCAN_MESH | Storage |
SURFACE_SCAN_POINT_CLOUD | Storage |
SURFACE_SEGMENTATION | Storage |
TOMOTHERAPEUTIC_RADIATION | Storage |
TOMOTHERAPEUTIC_RADIATION_RECORD | Storage |
TRACTOGRAPHY_RESULTS | Storage |
UPS_EVENT_SOP | Unified Procedure Step Management |
UPS_EVENT_SOP_TRIAL_RETIRED | Unified Procedure Step Management |
UPS_PULL_SOP | Unified Procedure Step Management |
UPS_PULL_SOP_TRIAL_RETIRED | Unified Procedure Step Management |
UPS_PUSH_SOP | Unified Procedure Step Management |
UPS_PUSH_SOP_TRIAL_RETIRED | Unified Procedure Step Management |
UPS_QUERY_SOP | Unified Procedure Step Management |
UPS_WATCH_SOP | Unified Procedure Step Management |
UPS_WATCH_SOP_TRIAL_RETIRED | Unified Procedure Step Management |
VARIABLE_MODALITY_LUT_SOFTCOPY_PRESENTATION_STATE | Storage |
VISUAL_ACUITY_MEASUREMENTS | Storage |
VL_WHOLE_SLIDE_MICROSCOPY_IMAGE | Storage |
VOI_LUT_BOX | Print Management |
VOLUME_RENDERING_VOLUMETRIC_PRESENTATION_STATE | Storage |
WIDE_FIELD_OPHTHALMIC_PHOTO_3D_COORDINATES | Print Management |
WIDE_FIELD_OPHTHALMIC_PHOTO_STEREOGRAPHIC_PROJ | Print Management |
XA_DEFINED_PROCEDURE_PROTOCOL | Print Management |
XA_PERFORMED_PROCEDURE_PROTOCOL | Print Management |
XA_XRF_GRAYSCALE_SOFTCOPY_PS | Storage |
XRAY_3D_ANGIO_IMAGE | Storage |
XRAY_3D_CRANIO_IMAGE | Storage |
XRAY_RADIATION_DOSE_SR | Storage |
BASIC_COLOR_PRINT_MANAGEMENT (META_SOP) | Print Management |
BASIC_GRAYSCALE_PRINT_MANAGEMENT (META_SOP) | Print Management |
DETACHED_PATIENT_MANAGEMENT_META (META_SOP) | Patient Management |
DETACHED_RESULTS_MANAGEMENT_META (META_SOP) | Results Management |
G_P_WORKLIST_MANAGEMENT_META_RETIRED (META_SOP) | Basic Worklist Management |
PULL_STORED_PRINT_MANAGEMENT (META_SOP) | Print Management |
REF_COLOR_PRINT_MANAGEMENT (META_SOP) | Print Management |
REF_GRAYSCALE_PRINT_MANAGEMENT (META_SOP) | Print Management |
STUDY_MANAGEMENT (META_SOP) | Study Management |
Transfer syntax lists are contained in the service lists. The following is a list of the currently supported transfer syntaxes:
Merge DICOM Transfer Syntax Parameter | Description |
DEFLATED_EXPLICIT_LITTLE_ENDIAN | Deflated Explicit VR Little Endian |
EXPLICIT_BIG_ENDIAN | Explicit VR Big Endian |
EXPLICIT_LITTLE_ENDIAN | Explicit VR Little Endian |
HEVC_H265_M10P_LEVEL_5_1 | HEVC/H.265 Main 10 Profile / Level 5.1 |
HEVC_H265_MP_LEVEL_5_1 | HEVC/H.265 Main Profile / Level 5.1 |
IMPLICIT_BIG_ENDIAN | Implicit VR Big Endian |
IMPLICIT_LITTLE_ENDIAN | Implicit VR Little Endian: Default Transfer Syntax for DICOM |
JPEG_2000 | JPEG 2000, Lossless or Lossy |
JPEG_2000_LOSSLESS_ONLY | JPEG 2000, Lossless |
JPEG_2000_MC | JPEG 2000 Part 2 Multi-component Image Compression |
JPEG_2000_MC_LOSSLESS_ONLY | JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only) |
JPEG_BASELINE | JPEG Baseline (Process 1): Default Transfer Syntax for Lossy JPEG 8 Bit Image Compression |
JPEG_EXTENDED_2_4 | JPEG Extended (Process 2 & 4): Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression (Process 4 only) |
JPEG_EXTENDED_3_5 | JPEG Extended (Process 3 & 5) |
JPEG_EXTENDED_HIER_16_18 | JPEG Extended, Hierarchical (Process 16 & 18) |
JPEG_EXTENDED_HIER_17_19 | JPEG Extended, Hierarchical (Process 17 & 19) |
JPEG_FULL_PROG_HIER_24_26 | JPEG Full Progression, Hierarchical (Process 24 & 26) |
JPEG_FULL_PROG_HIER_25_27 | JPEG Full Progression, Hierarchical (Process 25 & 27) |
JPEG_FULL_PROG_NON_HIER_10_12 | JPEG Full Progression, Non-Hierarchical (Process 10 & 12) |
JPEG_FULL_PROG_NON_HIER_11_13 | JPEG Full Progression, Non-Hierarchical (Process 11 & 13) |
JPEG_LOSSLESS_HIER_14 | JPEG Lossless, Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression |
JPEG_LOSSLESS_HIER_28 | JPEG Lossless, Hierarchical (Process 28) |
JPEG_LOSSLESS_HIER_29 | JPEG Lossless, Hierarchical (Process 29) |
JPEG_LOSSLESS_NON_HIER_14 | JPEG Lossless, Non-Hierarchical (Process 14) |
JPEG_LOSSLESS_NON_HIER_15 | JPEG Lossless, Non-Hierarchical (Process 15) |
JPEG_SPEC_HIER_20_22 | JPEG Spectral Selection, Hierarchical (Process 20 & 22) |
JPEG_SPEC_HIER_21_23 | JPEG Spectral Selection, Hierarchical (Process 21 & 23) |
JPEG_SPEC_NON_HIER_6_8 | JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8) |
JPEG_SPEC_NON_HIER_7_9 | JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9) |
JPEG_LS_LOSSLESS | JPEG LS Lossless |
JPEG_LS_LOSSY | JPEG LS Lossy (Near-Lossless) |
MPEG2_MPHL | MPEG2 Main Profile / High Level |
MPEG2_MPML | MPEG2 Main Profile / Main Level |
MPEG4_AVC_H264_BDC_HP_LEVEL_4_1 | MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1 |
MPEG4_AVC_H264_HP_LEVEL_4_1 | MPEG-4 AVC/H.264 High Profile / Level 4.1 |
MPEG4_AVC_H264_HP_LEVEL_4_2_2D | MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video |
MPEG4_AVC_H264_HP_LEVEL_4_2_3D | MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video |
MPEG4_AVC_H264_STEREO_HP_LEVEL_4_2 | MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 |
PRIVATE_SYNTAX_1 | Private transfer syntax 1 with the characteristics specified by the PRIVATE_SYNTAX_1_LITTLE_ENDIAN, PRIVATE_SYNTAX_1_EXPLICIT_VR, and PRIVATE_SYNTAX_1_ENCAPSULATED configuration options. |
PRIVATE_SYNTAX_2 | Private transfer syntax 2 with the characteristics specified by the PRIVATE_SYNTAX_2_LITTLE_ENDIAN, PRIVATE_SYNTAX_2_EXPLICIT_VR, and PRIVATE_SYNTAX_2_ENCAPSULATED configuration options. |
RLE | Run length Encoding |
SMPTE_ST_2110_20_UNCOMPRESSED_INTERLACED_ACTIVE_VIDEO | SMPTE ST 2110-20 Uncompressed Interlaced Active Video |
SMPTE_ST_2110_20_UNCOMPRESSED_PROGRESSIVE_ACTIVE_VIDEO | SMPTE ST 2110-20 Uncompressed Progressive Active Video |
SMPTE_ST_2110_30_PCM_DIGITAL_AUDIO | SMPTE ST 2110-30 PCM Digital Audio |
System Profile
The Merge DICOM System Profile (usually called mergecom.pro) contains configuration parameters for the DICOM Toolkit Library itself. The name and location of this file are specified in the [MergeCOM3] section of the Merge DICOM initialization file.
Many of these parameters should never need to be modified by the user, including low-level protocol settings such as time-outs. Only the parameters that should be understood by every user of the toolkit are discussed here; for a description of all parameters, see the tables below.
The following are a few notes to keep in mind concerning the System Profile.
- You must specify your own unique DICOM Implementation Class UID and place it in this file along with an optional Implementation Version. These need to be documented in your DICOM conformance statement.
- There are several exception options specified at both the association and DIMSE levels of DICOM communication. You should not have to
modify these options in normal circumstances and doing so could make your application non DICOM conformant.
- The DICOM Upper Layer section network time-outs can be modified. This is useful on slower or less-predictable networks (e.g. WAN’s).
- The section of the System Profile dealing with transport parameters is important. This is where you specify the TCP/IP listen port for a
DICOM server (SCP) application.
Most importantly, you must place the license number you received when you purchased the toolkit in the [ASSOC_PARMS] section of the system profile. For example, if the license you received with your toolkit was DA53-31D34 you would need to set it in the [ASSOC_PARMS] section as follows:
[ASSOC_PARMS]
LICENSE = DA53-31D34
IMPLEMENTATION_CLASS_UID = 2.16.840.1.113669.2.1.2
IMPLEMENTATION_VERSION = MyApp_v2.3.4
ACCEPT_MUTLPLE_PRES_CONTEXTS = Yes
The toolkit sample applications, and your own applications that use the DICOM Toolkit Library will not work without a valid license number.
The above example of the [ASSOC_PARMS] section of the system profile also contains example implementation class UID and implementation version configuration values. The implementation class UID is intended by the DICOM standard to be unique for major revisions of an application entity. The implementation version is intended to be unique for the minor revisions of an application entity. These configuration values are used during association negotiation by Merge DICOM toolkit and are intended to aid in tracking versions of applications in the field.
The ACCEPT_MULTIPLE_PRES_CONTEXTS configuration value is used by server (SCP) applications. This value determines if multiple presentation contexts can be negotiated for a single DICOM Service. This option is discussed below.
As mentioned earlier, a listen port must be identified for your server AE. Port 104 is the standard DICOM listen port. This, along with the number of simultaneous connections you wish your server to support, is specified in the [TRANSPORT_PARMS] section. MAX_PENDING_CONNECTIONS specifies the number of outstanding connection requests that can be queued before they are serviced. This setting does not limit the number of actual connections the toolkit can handle simultaneously. The number of simultaneous incoming or outgoing connections is limited only by the local system's available resources. If an application intends to limit the number of simultaneous connections, it must implement the logic to do so.
[TRANSPORT_PARMS]
TCPIP_LISTEN_PORT = 104
MAX_PENDING_CONNECTIONS = 5
An important section of the System Profile is the [MESSAGE_PARMS]section:
[MESSAGE_PARMS]
LARGE_DATA_STORE = FILE # | MEM Default = FILE
LARGE_DATA_SIZE = 200
OBOW_BUFFER_SIZE = 4096
DICTIONARY_FILE = /users/mc3adv/mrgcom3.dct
MSG_INFO_FILE = /users/mc3adv/mrgcom3.msg
TEMP_FILE_DIRECTORY = /users/mc3adv/tmp_files/
Dealing with large data
The LARGE_DATA_STORE parameter informs the toolkit where it should store large data; either in memory, or in temporary files on disk. Large data is defined as a value for an attribute larger than LARGE_DATA_SIZE bytes.
If you are running your process on a resource rich system that supplies plenty of physical and virtual memory, you should select LARGE_DATA_STORE = MEM to improve the performance. On resource poor systems or the messages the application processes contain very large values, LARGE_DATA_STORE = FILE should be used to avoid "out of memory" conditions. In this case, the DICOM Toolkit will manage the large data in temporary files located in the TEMP_FILE_DIRECTORY you specify.
Custom Value Storage
Large data that is of value representation OB (Other string of Bytes) or OW (Other string of 16-bit Words) or OF (Other Float String) is treated specially by the toolkit. Pixel Data, Curves, and Overlays are composed of this type of data. You can let the toolkit manage OB/OW/OL data for you like any other large data, or register your own value storage to deal with such data as it is being received or transmitted over the network. The use of custom value storage is covered in the "Developing DICOM applications" section.
The OBOW_BUFFER_SIZE is used to tell the toolkit what size ‘chunks’ in bytes of OB/OW/OF data it should read in before either writing the data to a temporary file or passing it to your Callback Class. Choosing a large number for OBOW_BUFFER_SIZE means less time spent by your application process writing to temporary files or making callbacks, but results in a larger process size. If you need to use temporary files or callbacks, you should tune this parameter to maximize performance within the constraints of your runtime environment.
The DICTIONARY_FILE parameter specifies the location and name of the DICOM Data Dictionary used by the toolkit. If the path specified by this setting is relative the toolkit considers it relative to the location of the toolkit's initialization file.
Another binary file supplied with the toolkit is the message info file. This file contains binary encoded message object models and is accessed when the toolkit validates a message. The message info file is a binary file supplied with your toolkit with the default name of mrgcom3.msg. The MSG_INFO_FILE parameter specifies the location and name of the message info file.
It is often useful to capture the raw data that is transmitted across the network to help determine exactly what each side of an association is sending. Network sniffer programs are often used to capture this data, but they are often not useful when the data is being transmitted over a secure network connection, as the data is often encrypted. Merge DICOM toolkit provides a network capture facility that will capture network data as it is sent or received. The data that is captured to one or more files and is formatted such that it can be analyzed using the MergeDPM© utility.
Refer to the table below for a description of the configuration parameters that are used to configure the network capture facility. They are included in the [TRANSPORT_PARMS] section.
The following 6 tables contain the lists of parameters supported in each section of the system profile:
Name | Description |
---|---|
ACCEPT_ANY_APPLICATION_TITLE † |
If set to YES, the remote system need not specify a correct DICOM application title when requesting an association. If set to NO a correct application title must be used. When this value is set to YES, the toolkit will report the remote application as connecting to the first application registered.
DEFAULT: NO |
ACCEPT_ANY_CONTEXT_NAME † |
If set to YES, the remote system need not specify the LOCAL_APPL_CONTEXT_NAME when requesting an association. If set to NO, the correct context name must be used.
DEFAULT: NO |
ACCEPT_ANY_HOSTNAME |
If set to YES, the toolkit will not check if applications connecting to an SCP can have their hostname resolved through the SCP’s hostfile or domain name server. If set to NO, the toolkit will automatically reject associations from unknown hosts.
DEFAULT: NO |
ACCEPT_ANY_PRESENTATION_CONTEXT † |
If set to YES, the toolkit will not validate that the presentation context ID contained in a message’s PDU header information matches the ID of the presentation context negotiated for the type of message contained in the PDU. If set to NO, the toolkit will abort associations when these values do not match.
DEFAULT: NO |
ACCEPT_DIFFERENT_IC_UID † |
If set to NO, the remote system must specify the local IMPLEMENTATION_CLASS_UID when requesting an association. If set to YES, a different implementation class UID may be used.
DEFAULT: YES |
ACCEPT_DIFFERENT_VERSION † |
If set to NO, the remote system must specify the local IMPLEMENTATION_VERSION when requesting an association. If set to YES, a different implementation version may be used.
DEFAULT: YES |
ACCEPT_LIST_OF_APPLICATION_TITLES |
List of AE titles which the remote system might use when requesting an association. The parameters line should contain all AE titles separated by one of predefined delimiters: ',' '\' '/' ';'. The length of each AE title can not exceed 16 characters. Example: ACCEPT_LIST_OF_APPLICATION_TITLES = MERGE_STORE_SCP/MERGE_STORE_SCU/MERGE_STORE_RQ DEFAULT: <none> |
ACCEPT_MULTIPLE_PRES_CONTEXTS |
If set to YES, SCP applications will allow multiple presentation contexts to be negotiated for a single DICOM service. If set to NO, an SCP will only accept a single presentation context for a DICOM service.
DEFAULT: YES |
ACCEPT_RELATED_GENERAL_SERVICES |
This parameter sets the Merge DICOM Toolkit behavior in regards to support for DICOM Supplement 90. Supplement 90 defines a method for association requestors to specify the generalized version of a SOP Class. When set to YES, Merge DICOM Toolkit will allow association acceptors to accept a presentation context whose generalized SOP Class is supported; however, the customized SOP Class is not specifically supported.
DEFAULT: NO |
ACCEPT_STORAGE_SERVICE_CONTEXTS |
This parameter sets the Merge DICOM Toolkit behavior in regards to support for DICOM Supplement 90. When set to YES, Merge DICOM Toolkit will accept any presentation context which is defined as a Storage Service Class SOP Class.
DEFAULT: NO |
ALLOW_EMPTY_PDV_LENGTH |
The DICOM standard specifies that PDVs shall not be sent without any content in the fragment. The toolkit however can send and accept empty PDVs. To enforce the standard requirement, this setting should be set to No.
DEFAULT: YES |
AUTO_ECHO_SUPPORT |
If set to YES, the toolkit automatically handles C-ECHO requests when the application doesn't explicitly include STANDARD_ECHO in its supported service list. If set to NO, the toolkit rejects C-ECHO requests when the application doesn't explicitly include STANDARD_ECHO in its supported service list.
DEFAULT: YES |
DEFLATED_EXPLICIT_LITTLE_ENDIAN_SYNTAX |
This value defines the UID of the Deflated explicit VR little endian transfer syntax.
DEFAULT: 1.2.840.10008.1.2.1.99 |
DESIRED_LAST_PDU_SIZE |
This parameter allows the user to configure the length of the last PDU sent. This allows for interoperability with other DICOM implementations that may be intolerant with either a zero or two byte final PDU length. The default value used is 8.
Note: Starting with release 3.5.1, this configuration option has a limited effect. |
EXPLICIT_BIG_ENDIAN_SYNTAX |
This value defines the UID of the explicit VR big endian transfer syntax.
DEFAULT: 1.2.840.10008.1.2.2 |
EXPLICIT_LITTLE_ENDIAN_SYNTAX |
This value defines the UID of the explicit VR little endian transfer syntax.
DEFAULT: 1.2.840.10008.1.2.1 |
HARD_CLOSE_TCP_IP_CONNECTION |
This parameter specifies how TCP/IP connections are closed by the toolkit. When set to YES, TCP/IP connections are instantaneously closed with an RST packet. When set to NO, TCP/IP connections are closed gracefully with a FIN packet. Note, that in the NO case the toolkit must wait for an operating system dependent amount of time for the response to the FIN packet.
DEFAULT: YES |
HEVC_H265_M10P_LEVEL_5_1_SYNTAX |
This value defines the UID for HEVC/H.265 Main 10 Profile / Level 5.1 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.108 |
HEVC_H265_MP_LEVEL_5_1_SYNTAX |
This value defines the UID for HEVC/H.265 Main Profile / Level 5.1 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.107 |
IMPLEMENTATION_CLASS_UID | The DICOM Implementation Class UID (as specified in your DICOM conformance statement). |
IMPLEMENTATION_VERSION | The Implementation Version Number (as specified in your DICOM conformance statement). |
IMPLICIT_BIG_ENDIAN_SYNTAX |
The implicit big endian transfer syntax is not defined by the DICOM standard. This value is provided to supply compatibility with private implementations.
DEFAULT: <none> |
IMPLICIT_LITTLE_ENDIAN_SYNTAX |
The implicit little endian transfer syntax is the default network transfer syntax of the DICOM standard. The implicit little endian transfer syntax must always be defined.
DEFAULT: 1.2.840.10008.1.2 |
JPEG_2000_LOSSLESS_ONLY_SYNTAX |
This value defines the UID for JPEG 2000, Lossless transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.90 |
JPEG_2000_MC_LOSSLESS_ONLY_SYNTAX |
This value defines the UID for JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.92 |
JPEG_2000_MC_SYNTAX |
This value defines the UID for JPEG 2000 Part 2 Multi-component Image Compression transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.93 |
JPEG_2000_SYNTAX |
This value defines the UID for JPEG 2000 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.91 |
JPEG_BASELINE_SYNTAX |
This value defines the UID for JPEG Baseline (Process 1) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.50 |
JPEG_EXTENDED_2_4_SYNTAX |
This value defines the UID for JPEG Extended (Process 2 & 4) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.51 |
JPEG_EXTENDED_3_5_SYNTAX |
This value defines the UID for JPEG Extended (Process 3 & 5) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.52 |
JPEG_EXTENDED_HIER_16_18_SYNTAX |
This value defines the UID for JPEG Extended, Hierarchical (Process 16 & 18) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.59 |
JPEG_EXTENDED_HIER_17_19_SYNTAX |
This value defines the UID for JPEG Extended, Hierarchical (Process 17 & 19) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.60 |
JPEG_FULL_PROG_HIER_24_26_SYNTAX |
This value defines the UID for JPEG Full Progression, Hierarchical (Process 24 & 26) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.63 |
JPEG_FULL_PROG_HIER_25_27_SYNTAX |
This value defines the UID for JPEG Full Progression, Hierarchical (Process 25 & 27) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.64 |
JPEG_FULL_PROG_NON_HIER_10_12_SYNTAX |
This value defines the UID for JPEG Full Progression, Non-Hierarchical (Process 10 & 12) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.55 |
JPEG_FULL_PROG_NON_HIER_11_13_SYNTAX |
This value defines the UID for JPEG Full Progression, Non-Hierarchical (Process 11 & 13) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.56 |
JPEG_LOSSLESS_HIER_14_SYNTAX |
This value defines the UID for JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14, Selection Value 1) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.70 |
JPEG_LOSSLESS_HIER_28_SYNTAX |
This value defines the UID for JPEG Lossless, Hierarchical (Process 28) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.65 |
JPEG_LOSSLESS_HIER_29_SYNTAX |
This value defines the UID for JPEG Lossless, Hierarchical (Process 29) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.66 |
JPEG_LOSSLESS_NON_HIER_14_SYNTAX |
This value defines the UID for JPEG Lossless, Non-Hierarchical (Process 14) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.57 |
JPEG_LOSSLESS_NON_HIER_15_SYNTAX |
This value defines the UID for JPEG Lossless, Non-Hierarchical (Process 15) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.58 |
JPEG_LS_LOSSLESS_SYNTAX |
This value defines the UID for JPEG LS Lossless transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.80 |
JPEG_LS_LOSSY_SYNTAX |
This value defines the UID for JPEG LS Lossy (Near Lossless) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.81 |
JPEG_SPEC_HIER_20_22_SYNTAX |
This value defines the UID for JPEG Spectral Selection, Hierarchical (Process 20 & 22) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.61 |
JPEG_SPEC_HIER_21_23_SYNTAX |
This value defines the UID for JPEG Spectral Selection, Hierarchical (Process 21 & 23) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.62 |
JPEG_SPEC_NON_HIER_6_8_SYNTAX |
This value defines the UID for JPEG Spectral Selection, Non Hierarchical (Process 6 & 8) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.53 |
JPEG_SPEC_NON_HIER_7_9_SYNTAX |
This value defines the UID for JPEG Spectral Selection, Non Hierarchical (Process 7 & 9) transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.54 |
JPIP_REFERENCED_DEFLATE_SYNTAX |
This value defines the UID for JPIP Referenced Deflate transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.95 |
JPIP_REFERENCED_SYNTAX |
This value defines the UID for JPIP Referenced transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.94 |
LICENSE | The Merge DICOM Toolkit license number that was supplied when the toolkit was purchased. |
LOCAL_APPL_CONTEXT_NAME |
The DICOM Application Context Name (UID) (as specified in the DICOM Standard).
DEFAULT: 1.2.840.10008.3.1.1.1 |
MPEG2_MPHL_SYNTAX |
This value defines the UID for MPEG2 Main Profile @ High Level transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.101 |
MPEG2_MPML_SYNTAX |
This value defines the UID for MPEG2 Main Profile @ Main Level transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.100 |
MPEG4_AVC_H264_BDC_HP_LEVEL_4_1_SYNTAX |
This value defines the UID for MPEG-4 AVC/H.264 BD compatible High Profile / Level 4.1 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.103 |
MPEG4_AVC_H264_HP_LEVEL_4_1_SYNTAX |
This value defines the UID for MPEG-4 AVC/H.264 High Profile / Level 4.1 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.102 |
MPEG4_AVC_H264_HP_LEVEL_4_2_2D_SYNTAX |
This value defines the UID for MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.104 |
MPEG4_AVC_H264_HP_LEVEL_4_2_3D_SYNTAX |
This value defines the UID for MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.105 |
MPEG4_AVC_H264_STEREO_HP_LEVEL_4_2_SYNTAX |
This value defines the UID for MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2 transfer syntax.
DEFAULT: 1.2.840.10008.1.2.4.106 |
PDU_MAXIMUM_LENGTH * |
The maximum size of Protocol Data Units that can be received by this Merge DICOM Toolkit implementation. This value will also place a limit on how large PDU values being sent can be. Setting this so that a PDU fits within an even multiple of the default TCP/IP MSS (Maximum Segment Size) of 1460 will optimize network performance. Note that 6 bytes for the PDU header must be added to the configured maximum PDU size when calculating a multiple of the MSS.
Note also to see the TCPIP_SEND_BUFFER_SIZE and TCPIP_RECEIVE_BUFFER_SIZE configuration values for improving performance. Example: (1460*44)-6 = 64234 PDU Size DEFAULT: 64234MINIMUM: 4K MAXIMUM: NONE |
PRIVATE_SYNTAX_1_ENCAPSULATED |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 1 as having its pixel data tag (7fe0,0010) being encoded as undefined length in the same manner as the JPEG and RLE transfer syntaxes are encoded.
DEFAULT: NO |
PRIVATE_SYNTAX_1_EXPLICIT_VR |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 1 as being encoded in explicit VR format.
DEFAULT: YES |
PRIVATE_SYNTAX_1_LITTLE_ENDIAN |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 1 as being encoded in little endian format.
DEFAULT: YES |
PRIVATE_SYNTAX_1_SYNTAX |
The unique identifier (UID) Merge DICOM Toolkit will use to identify private transfer syntax 1. When this value is set to “ DEFAULT: <none> |
PRIVATE_SYNTAX_2_ENCAPSULATED |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 2 as having its pixel data tag (7fe0,0010) being encoded as undefined length in the same manner as the JPEG and RLE transfer syntaxes are encoded.
DEFAULT: NO |
PRIVATE_SYNTAX_2_EXPLICIT_VR |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 2 as being encoded in explicit VR format.
DEFAULT: YES |
PRIVATE_SYNTAX_2_LITTLE_ENDIAN |
When set to YES, Merge DICOM Toolkit will interpret private transfer syntax 2 as being encoded in little endian format.
DEFAULT: YES |
PRIVATE_SYNTAX_2_SYNTAX |
The unique identifier (UID) Merge DICOM Toolkit will use to identify private transfer syntax 2. When this value is set to “ DEFAULT: <none> |
RLE_SYNTAX |
This value defines the UID of the RLE Lossless transfer syntax.
DEFAULT: 1.2.840.10008.1.2.5 |
SMPTE_ST_2110_20_UNCOMPRESSED_INTERLACED_ACTIVE_VIDEO_SYNTAX |
This value defines the UID for SMPTE ST 2110-20 Uncompressed Interlaced Active Video transfer syntax.
DEFAULT: 1.2.840.10008.1.2.7.2 |
SMPTE_ST_2110_20_UNCOMPRESSED_PROGRESSIVE_ACTIVE_VIDEO_SYNTAX |
This value defines the UID for SMPTE ST 2110-20 Uncompressed Progressive Active Video transfer syntax.
DEFAULT: 1.2.840.10008.1.2.7.1 |
SMPTE_ST_2110_30_PCM_DIGITAL_AUDIO_SYNTAX |
This value defines the UID for SMPTE ST 2110-30 PCM Digital Audio transfer syntax.
DEFAULT: 1.2.840.10008.1.2.7.3 |
† These options allow for non-standard DICOM operations. Such exceptions, if used, should be noted in your DICOM conformance statement. |
* Performance tuning. |
Name | Description |
---|---|
INITIATOR_NAME † |
The DICOM standard has retired the old ACR/NEMA Initiator Name attribute in command messages. To generate such an attribute in command messages, specify an initiator name. <none> means do not put initiator name in messages.
DEFAULT: <none> |
RECEIVER_NAME † |
The DICOM standard has retired the old ACR/NEMA Receiver Name attribute in command messages. To generate such an attribute in command messages, specify a receiver name. <none> means do not put receiver name in messages.
DEFAULT: <none> |
SEND_ECHO_PRIORITY † |
The DICOM standard has retired the message priority attribute in echo command messages. To generate such an attribute in command messages, specify YES. To NOT use message priority in echo messages, specify NO.
DEFAULT: NO |
SEND_LENGTH_TO_END † |
The DICOM standard has retired the old Group-Length-To-End attribute in command messages. To generate such an attribute in command messages, specify YES. If you do not want to generate Group Length To End, specify NO.
DEFAULT: NO |
SEND_MSG_ID_RESPONSE † |
The DICOM standard has retired the message ID attribute in response command messages. To generate such an attribute in command messages, specify YES. To NOT use message ID in response messages, specify NO.
DEFAULT: NO |
SEND_RECOGNITION_CODE † |
The DICOM standard has retired the old Recognition Code attribute in command messages. To generate such an attribute in command messages, specify YES. If you do not want to generate such an attribute, specify NO.
DEFAULT: NO |
SEND_RESPONSE_PRIORITY † |
The DICOM standard has retired the message priority attribute in response messages. To generate such an attribute in response messages, specify YES. To NOT use message priority in response messages, specify NO.
DEFAULT: NO |
SEND_SOP_CLASS_UID † |
Certain DICOM service classes demand that the affected SOP class UID be present in the message. To prevent the library from ensuring that this is done, specify NO. To ensure that Affected SOP class UID is present, specify YES.
DEFAULT: YES |
SEND_SOP_INSTANCE_UID † |
Certain DICOM service classes demand that the affected SOP instance UID be present in the message. To prevent the library from ensuring that this is done, specify NO. To ensure that Affected SOP instance UID is present, specify YES.
DEFAULT: YES |
† These options allow for non-standard DICOM operations. Such exceptions, if used, should be noted in your DICOM conformance statement. |
Name | Description |
---|---|
ARTIM_TIMEOUT |
The number of seconds to use as a time out waiting for an association request or waiting for the peer to shut down an association.
DEFAULT: 30 |
ASSOC_REPLY_TIMEOUT |
The number of seconds to wait for a reply to an associate request.
DEFAULT: 15 |
CONNECT_TIMEOUT |
The number of seconds to wait for a network connect to be accepted.
DEFAULT: 15 |
INACTIVITY_TIMEOUT |
The number of seconds to wait in between packets of data received over the network after the initial packet of data in a message is received. Used by read-to-stream methods.
DEFAULT: 15 |
INSURE_EVEN_UID_LENGTH † |
Set to NO, if odd-length UIDs in PDU’s should NOT be padded with a NULL to ensure even length unique Ids. Set to YES to ensure even UIDs in PDUs.
DEFAULT: NO |
RELEASE_TIMEOUT |
The number of seconds to wait for a reply to an associate release.
DEFAULT: 15 |
WRITE_TIMEOUT |
The number of seconds to wait for a network write to be accepted.
DEFAULT: 15 |
† These options allow for non-standard DICOM operations. Such exceptions, if used, should be noted in your DICOM conformance statement. |
Name | Description |
---|---|
DICOMDIR_STREAM_STORAGE |
When set to yes, DICOMDIRs read in leave their directory records internally in “stream” format and are not parsed until the directory record is referenced. This can greatly reduce memory usage when reading in large DICOMDIRs when the entire DICOMDIR is not referenced.
DEFAULT: NO |
EXPORT_GROUP_LENGTHS_TO_MEDIA * |
When set to NO, do not write group length attributes with MC_Write_File() and MC_Write_File_By_Callback().
DEFAULT: YES |
EXPORT_PRIVATE_ATTRIBUTES_TO_MEDIA |
When set to NO, disable the exporting of private attributes to DICOM media files.
DEFAULT: YES |
EXPORT_UN_VR_TO_MEDIA |
When set to NO, disable the exporting of attributes with a VR of UN to DICOM media files.
DEFAULT: YES |
EXPORT_UNDEFINED_LENGTH_SQ_IN_DICOMDIR * |
When set to NO, DICOMDIRs files are created with their sequence attributes having defined lengths. Setting this option to Yes will increase performance.
DEFAULT: YES |
* Performance tuning. |
Name | Description |
---|---|
ALLOW_COMMA_IN_DS_FL_FD_STRINGS |
When set to Yes, a comma or a period will be allowed String values for attributes with a VR of DS, FL or FD. When set to No, only a period will be acceptable as a decimal separator. Note that the toolkit will always ensure that DS attributes use a period decimal separator when streaming to the network or to a file, regardless of current locale settings.
DEFAULT: NO |
ALLOW_INVALID_PRIVATE_ATTRIBUTES |
When reading messages or file objects, this parameter specifies if private attributes encoded in an invalid format should be ignored or parsed.
DEFAULT: NO |
ALLOW_INVALID_PRIVATE_CREATOR_CODES |
When reading messages or file objects, this parameter specifies if private creator codes encoded with invalid characters should be ignored or parsed.
DEFAULT: NO |
ALLOW_OUT_OF_RANGE_BITS_JPEG_LOSSLESS |
During decompression of JPEG lossless images, the Pegasus decompressor may discover that the original compressor had failed to mask off the out-of-range bits for the image bit depth. However, if all other lossless JPEG computations are correct, the original image, including such incorrect out-of-range bits, can be losslessly recovered. The Pegasus decompressor will return a warning status, along with the fully decoded image.
If this flag is set by the application, the out-of-range bits in output pixels will not be masked off, but returned in the decoded image. Without this flag, out-of-range bits will be masked off to keep pixel values in range. DEFAULT: NO |
ATT_00081190_USE_UT_VR |
In the 2014b edition of the DICOM Standard, the value representation of attribute (0008,1190) Retrieve URL was changed from UT to the newly introduced UR. For backward compatibility, this parameter specifies that, when reading messages or file objects, the attribute is expected to have the old UT value representation.
DEFAULT: NO |
ATT_00287FE0_USE_UT_VR |
In the 2014b edition of the DICOM Standard, the value representation of attribute (0028,7FE0) Pixel Data Provider URL was changed from UT to the newly introduced UR. For backward compatibility, this parameter specifies that, when reading messages or file objects, the attribute is expected to have the old UT value representation.
DEFAULT: NO |
ATT_0040E010_USE_UT_VR |
In the 2014b edition of the DICOM Standard, the value representation of attribute (0040,E010) Retrieve URI was changed from UT to the newly introduced UR. For backward compatibility, this parameter specifies that, when reading messages or file objects, the attribute is expected to have the old UT value representation.
DEFAULT: NO |
ATT_0074100A_USE_ST_VR |
In the 2014b edition of the DICOM Standard, the value representation of attribute (0074,100A) Contact URI was changed from ST to the newly introduced UR. For backward compatibility, this parameter specifies that, when reading messages or file objects, the attribute is expected to have the old ST value representation.
DEFAULT: NO |
CALCULATE_DEFINED_LENGTH_FOR_CB |
This parameter is applied when a registered callback function expects the data length to be provided to it and the data length is undefined. If the parameter is set to No, the undefined length will be passed as is to the callback function. If the parameter value is Yes, the toolkit will calculate the actual value of the data length before passing it tot the callback function.
DEFAULT: NO |
CALLBACK_MIN_DATA_SIZE |
When using a value storage object to store large data such as pixel data, this option specifies the minimum size of value for which the callback function should be used. This option was specifically added so pixel data contained in icons are not managed with a callback function.
DEFAULT: 1 |
COMPRESSION_ALLOW_FRAGS |
Configuration Parameter for the standard (default) compressor. The Pegasus libraries allow compressed image data to be returned as it continues to compress more image data. This may result in an image frame having one or more fragments. This is perfectly legal, however some viewers may not be able to display the image if they do not support multiple fragments per frame.
DEFAULT: YES |
COMPRESSION_CHROM_FACTOR |
Configuration Parameter for the standard (default) compressor. Values 0 through 255. The chrominance compression factor is used to adjust the default chrominance quantization table values. When ChromFactor is 32, the default chrominance quantization table values are used as is. A value of 255 corresponds to high compression, low quality.
DEFAULT: 32 |
COMPRESSION_J2K_LOSSY_QUALITY |
Configuration Parameter for the standard (default) compressor. When JPEG_2000 with COMPRESSION_WHEN_J2K_USE_LOSSY = Yes, and COMPRESSION_J2K_LOSSY_USE_QUALITY = Yes, a quality can be specified. Valid values are 1 to 10, 1 being highest quality image.
DEFAULT: 1 |
COMPRESSION_J2K_LOSSY_RATIO |
Configuration Parameter for the standard (default) compressor. When JPEG_2000 with COMPRESSION_WHEN_J2K_USE_LOSSY = Yes, and COMPRESSION_J2K_LOSSY_USE_QUALITY = No, a ratio can be specified. The compressor attempts to reduce the image size to 1/COMPRESSION_J2K_LOSSY_RATIO.
DEFAULT: 10 |
COMPRESSION_J2K_LOSSY_USE_QUALITY |
Configuration Parameter for the standard (default) compressor. When JPEG_2000 with COMPRESSION_WHEN_J2K_USE_LOSSY = Yes, this indicates which metric should be used for lossy compression, ratio or quality.
DEFAULT: YES |
COMPRESSION_LUM_FACTOR |
Configuration Parameter for the standard (default) compressor. Values 0 through 255. 0 is the highest quality, giving a quantization table of all 1’s. 32 corresponds to the standard quantization tables. For values between 0 and 128, the standard tables are scaled linearly. For values between 128 and 255, the standard tables are scaled non-linearly and the compression increases (and the quality decreases) by a very large amount.
DEFAULT: 32 |
COMPRESSION_RGB_TRANSFORM_FORMAT |
This parameter allows the user to select the output format when doing Lossy JPEG compression of RGB images. The value can be set to YBR_FULL or YBR_FULL_422 to specifiy what photometric interpretion Merge DICOM Toolkit should compress into when compressing RGB images.
DEFAULT: YBR_FULL_422 |
COMPRESSION_USE_HEADER_QUERY |
If set to YES, it instructs the toolkit to give precedence to the image parameters (rows, columns, etc.) from the JPEG header, in case disagreement is suspected between the the DICOM header the JPEG header. If set to NO, the DICOM header will be used.
DEFAULT: NO |
COMPRESSION_WHEN_J2K_USE_LOSSY |
Configuration Parameter for the standard (default) compressor. When JPEG_2000 is used as a transfer syntax, this could mean either lossy or lossless compression. This parameter specifies the intended syntax.
DEFAULT: No |
CREATE_OFFSET_TABLE |
This parameter specifies if an offset table is created when MCattributeSet.duplicate() is used to compress a DICOM message or file. It also specifies if an offset table is created when the MCattributeSet.addEncapsulatedFrame() method is used.
DEFAULT: Yes |
DECODER_TAG_FILTER |
Specifies the list of tags to be ignored when reading DICOM files or messages. The values are separated by commas and can be specified in different formats:
DEFAULT: (empty) |
DECODER_PRIVATE_TAG_WHITELIST |
Specifies the list of private tags to be allowed during reading DICOM files or messages. The values are separated by commas and can be specified in different formats:
DEFAULT: (empty) |
DEFLATE_ALLOW_FLUSH |
Allows deflate to flush data occasionally to limit buffering.
DEFAULT: Yes |
DEFLATE_COMPRESSION_LEVEL |
Allows the compression level of deflate to be specified when using deflated explicit VR little endian transfer syntax. 0 is no compression, 1 is fastest, and 9 compresses best.
DEFAULT: -1 |
DICTIONARY_ACCESS |
This parameter specifies whether or not the DICOM dictionary is to be loaded into memory or accessed from the dictionary file. FILE means access information directly from the dictionary file. MEM means load the dictionary into memory and access it there.
Note: Starting with the 3.5.1 Merge DICOM Toolkit release, dictionary access is always memory based and can no longer be file based. This option is now ignored.
DEFAULT: MEM |
DICTIONARY_FILE |
This parameter specifies the name (path) of the DICOM dictionary. An absolute or relative path may be specified.
The path to the file can also be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. Note: This parameter is ignored if the dictionary has been pre-compiled. DEFAULT: ../mc3msg/mrgcom3.dct |
DUPLICATE_ENCAPSULATED_ICON |
When duplicating to an encapsulated transfer syntax, this configuration value specifies whether an ICON IMAGE SEQUENCE should also be encapsulated.
DEFAULT: NO |
ELIMINATE_ITEM_REFERENCES * |
This parameter specifies the behavior of the message/item/file handling methods MCattributeSet.dispose() and MCattributeSet.clear(). If this parameter is set to YES, the above methods will search for references in every currently open object to delete when they encounter an item to free within an object.
DEFAULT: NO |
EMPTY_PRIVATE_CREATOR_CODES |
If set to NO, private creator codes contained in messages are not emptied when the MC_Empty_Message() or MC_Empty_File() function calls are made.
Note: This setting has no effect in the Java version of the Merge DICOM Toolkit.
DEFAULT: YES |
EXPLICIT_VR_TO_UN_FOR_LENGTH_GT_64K |
If set to YES, the toolkit will allow encoding in explicit VR of data elements whose VR is none of OB, OW, OD, OF, SQ or UT and whose value length exceeds 65534 bytes by effectively changing the VR to UN (as per CP-1066). If set to NO, the attempt to encode such date elements will result in an MC_INVALID_LENGTH_FOR_VR error.
DEFAULT: NO |
EXPORT_EMPTY_PRIVATE_CREATOR_CODES |
If set to NO it prevents the toolkit from exporting private creator data elements which don't have any private attributes in the private block. If set to YES, exporting private creator data elements with empty private blocks is allowed.
DEFAULT: YES |
EXPORT_GROUP_LENGTHS_TO_NETWORK * |
When set to NO, the toolkit does not export group length attributes when streaming messages to network.
DEFAULT: YES |
EXPORT_PRIVATE_ATTRIBUTES_TO_NETWORK |
When set to NO, disable the exporting of private attributes when streaming messages to network.
DEFAULT: YES |
EXPORT_UN_VR_TO_NETWORK |
When set to NO, disable the exporting of attributes with a VR of UN when streaming messages to network.
DEFAULT: YES |
EXPORT_UNDEFINED_LENGTH_SQ * |
If YES, messages transferred over the network or written to disk have their sequence attributes encoded as undefined length. This increases performance of the library.
DEFAULT: NO |
FLATE_GROW_OUTPUT_BUF_SIZE * |
The size that the output buffer of deflate or inflate should grow to when its size is insufficient. An Info message is logged each time the buffer grows.
DEFAULT: 1024 |
FORCE_JAVA_BIG_ENDIAN |
If set to YES, OW/OF/OD data are delivered in Big Endian to Java; otherwise in the endian of the host machine.
DEFAULT: YES |
FORCE_OPEN_EMPTY_ITEM * |
When set to YES, MCitem() constructor will create the new attribute set empty. The up-front performance cost of the call will be reduced, but so will be the amount of validation done when adding tags to the item. Setting this value to YES will also improve the performance of the DICOMDIR directory classes.
DEFAULT: NO |
IGNORE_JPEG_BAD_SUFFIX |
Configuration Parameter for MC_Standard_Decompressor to deal with lossless JPEG images whose suffix have been invalidly written according to the JPEG specification. These images have a 16-zero-bit suffix following a -32768 prefix where the JPEG spec says the suffix is omitted following a -32768 prefix. The following are the valid settings:
-1 = Default, fail on these images 0 = Ignore when user detects such images 1 = Let the toolkit detect and ignore automatically |
LARGE_DATA_SIZE |
Defines “Large Data” to the toolkit. “Large Data” is defined as an attribute value which has a length of LARGE_DATA_SIZE or more.
DEFAULT: 200 |
LARGE_DATA_STORE |
This parameter specifies where “Large Data” values should be stored. FILE means store the values in temporary files. MEM means store the values in memory.
Note: Embedded systems should ignore this parameter and always use MEM.
DEFAULT: MEM |
LIST_SQ_DEPTH_LIMIT |
Limit the depth of sequences listing. This parameter should be set to the maximum number of levels any sequence should be listed.
DEFAULT: is 0 - means do not limit the listing of sequences |
LIST_UN_ATTRIBUTES |
If No, attributes with Unknown VR will not be listed by MCattributeSet.list() and T2 logging option.
DEFAULT: Yes |
LIST_VALUE_LIMIT |
Limit the size of listed values by MCattributeSet.list() or T2 logging option. This parameter should be set to the maximum number of lines to be printed for any attribute in the list.
DEFAULT: 0 - means show the whole value. |
MSG_FILE_ITEM_OBJ_TRACE |
This parameter allows the tracking of the creation, referencing and freeing of message, file and item objects. This option can be used if the user suspects a memory leak in their application from not freeing one of these object types. The logging is done at the T1 trace level which must be enabled in the merge.ini file.
DEFAULT: NO |
MSG_INFO_FILE |
This parameter specifies the name (path) of the DICOM message information file. An absolute or relative path may be specified.
The path to the file can also be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. Note: This parameter is ignored if the message database has been pre-compiled. DEFAULT: ../mc3msg/mrgcom3.msg |
NULL_TYPE3_VALIDATION |
This parameter specifies how the toolkit will validate a single NULL value in a type 3 attribute with VM > 1. Valid values are ERR, WARN and INFO.
DEFAULT: ERR |
OBOW_BUFFER_SIZE |
This parameter specifies the number of bytes of “Large Data” that should be buffered before they are written to disk. This value is only used when the parameter LARGE_DATA_STORE is set to FILE.
DEFAULT: 4096 |
PEGASUS_DISP_REG_NAME | When using your own Pegasus license to remove the 3 frames/second limitation, this should have the company name that was used to generate your Pegasus license. |
PEGASUS_DISP_REGISTRATION | When using your own Pegasus license to remove the 3 frames/second limitation, this should have the registration code that goes with the Pegasus dispatcher. |
PEGASUS_NUMBER_OF_THREADS |
Certain Pegasus opcodes can operate in a multithreaded manner. Use this setting to specify the number of threads to be used by the opcode.
DEFAULT: 1 |
PEGASUS_OP_*_NAME | When using your own Pegasus license to remove the 3 frames/second limitation, this should have the company name that was used to generate your Pegasus license. |
PEGASUS_OP_*_REGISTRATION | When using your own Pegasus license to remove the 3 frames/second limitation, this should have the registration code that goes with its respective PEGASUS_OP_*_NAME. |
PEGASUS_OPCODE_PATH |
This parameter specifies the directory where Pegasus opcode DLLs are to be loaded from. The opcode DLL refers to files like picn6220 and not the dispatcher DLL picn20. If the option is empty, the SSM/DLL is loaded from the same directory as the dispatcher DLL. If these files are not found, opcode SSM/DLL is loaded using the directory order Windows uses when loading DLLs. The SSM/DLL is loaded from the current directory if ‘.’ is specified.
DEFAULT: (empty) |
REJECT_INVALID_VR |
This parameter specifies whether or not to reject invalid VR values in DICOM messages. If set to Yes, the parsing is aborted and the data set is rejected with a status of MC_INVALID_VR. This is useful in some scenarios when invalid attribute VR and length can result in runaway read/copy operations which may lead to crashes.
DEFAULT: No |
RELEASE_SQ_ITEMS |
If set to NO, existing item IDs will not be freed when setting a null value or an empty value or a new value to a sequence attribute. Setting it to YES will allow sequence items that have no other references to be freed.
DEFAULT: No |
REMOVE_PADDING_CHARS |
When set to Yes, Merge DICOM Toolkit will remove space padding characters from all text based attributes. This removal will occur when the attribute is encoded with one of the MCattributeSet class setValue() or addValue() methods, or when the attribute is read with one of the streaming or network read methods.
DEFAULT: No |
REMOVE_SINGLE_TRAILING_SPACE |
If set to YES, the toolkit will strip a single trailing padding space character from an attribute value of string type. Otherwise it will not.
DEFAULT: YES |
RETURN_COMMA_IN_DS_FL_FD_STRINGS |
When set to Yes, Merge DICOM Toolkit will return a comma character as a decimal separator when a String value is requested for an attribute with a VR of DS, FL, or FD. When set to No, a period will always be returned for the decimal separator. Note that DS values will always be properly encoded with a period in DICOM message objects.
DEFAULT: No |
TEMP_FILE_DIRECTORY |
This parameter specifies the directory in which temporary files should be created. This parameter is used only if LARGE_DATA_STORE = FILE. An absolute or relative path may be specified.
The path to the directory can also be specified using environment variables (including the pseudo environment variable MC3INIDIR which does not need to be set as the toolkit will resolve it internally to the directory where the merge.ini file resides). Unicode paths can now be specified through the environment variables. Both Windows style (%) and Unix style ($) notations for the environment variables are accepted. DEFAULT: ./ |
TOLERATE_INVALID_IN_DEFAULT_CHARSET |
This parameter specifies if non-ASCII characters are to be tolerated in the default repertoire. When set to Yes, the validation of the attribute/message will not be enforced, but a warning message will still be logged.
DEFAULT: Yes |
UN_VR_CODE |
VR Code to use for attributes with unknown VRs. This may be set to ‘OB’ if an implementation does not understand ‘UN’.
DEFAULT: UN VALID VALUES: UN, OB |
UPDATE_GROUP_0028_ON_DUPLICATE |
When set to Yes, the group 0028 attributes within a message will be updated when duplicating a message or file with MCattributeSet.duplicate() and the standard compressor or decompressor. The Photometric Interpretation will be updated as appropriate, and the Lossy Image Compression, Lossy Image Compression Ratio and Lossy Image Compression Method tags will be updated if Lossy Image Compression was applied to the image.
DEFAULT: No |
USE_FREE_DATA_CALLBACK |
If set to Yes, the MCvalueStorage.reset() method is called when the memory associated with the storage is to be freed, because the enclosing message, file, or item is being freed.
DEFAULT: No |
WORK_BUFFER_SIZE * |
This parameter specifies the amount of data that is buffered in the toolkit before being stored internally or passed to the application.
Setting this option to values larger than 28K will in most cases cause the toolkit to use the operating system‘s memory management scheme instead of the toolkit’s internal mechanism.
DEFAULT: 28K |
* Performance tuning. |
Name | Description |
---|---|
CAPTURE_FILE |
This parameter specifies the base name to use for capture files. (Capture files are generated if the NETWORK_CAPTURE value is set to Yes.) If only one capture file is requested (see NUMBER_OF_CAP_FILES), the capture file will have the name specified. If more than one is requested, nnn will be appended to the base file name specified (e.g. merge001.cap)
DEFAULT: merge.cap (in the current directory) Note: Use of this parameter is deprecated. |
CAPTURE_FILE_SIZE |
This parameter specifies the maximum size (in kilobytes) that capture files are allowed to grow (capture files are generated if the NETWORK_CAPTURE value is set to Yes). If more than one capture file is requested (see NUMBER_OF_CAP_FILES), each file generated will have this maximum size. If a value less than 1 is specified only one capture file of unlimited length will be generated.
DEFAULT: 0 Note: Use of this parameter is deprecated. |
COMBINE_DATA_WITH_HEADER | This parameter specifies if you would like the 12 byte PDU header combined with the PDU data. This is only for data given to the network layer that is <= 256 bytes. Note: Starting with release 3.5.1, this configuration option no longer has an effect. All PDU headers and data are now combined. |
IP_TYPE |
This parameter specifies the preferred IP type for network communications. When set to IPV4, Merge DICOM Toolkit will attempt to utilize only IPV4 network connections. When set to IPV6, Merge DICOM Toolkit will attempt to use only IPV6 network connections. When set to AVAILABLE in an SCP, Merge DICOM Toolkit will prefer IPV6 if it is enabled in the operating system over IPV4. If IPV6 is used, the socket is put into dual stack mode, if supported by the operating system, to accept connections from both IPV4 and IPV6. When set to AVAILABLE in an SCU, Merge DICOM Toolkit will use the available type of IP networking.
DEFAULT: AVAILABLE
VALID VALUES: AVAILABLE, IPV4, IPV6 |
MAX_PENDING_CONNECTIONS |
This parameter specifies the maximum number of open listen channels. Its value is used as the second argument of a TCP listen() call.
DEFAULT: 5 |
NETWORK_CAPTURE |
This parameter specifies whether or not network data should be captured in files suitable to be read by the MergeDPM utility. Use these parameters to customize the network capture:
Note: As the MergeDPM utility has long been retired, use of all these parameters related to network capture is deprecated. |
NUMBER_OF_CAP_FILES |
This parameter specifies the number of capture files to generate (capture files are generated if the NETWORK_CAPTURE value is set to Yes). Each capture file generated will have maximum size specified by CAPTURE_FILE_SIZE. If CAPTURE_FILE_SIZE is less than 1 (unlimited size) this parameter’s value is ignored.
DEFAULT: 1 Note: Use of this parameter is deprecated. |
REWRITE_CAPTURE_FILES |
This parameter specifies whether or not the capture files should be rewritten when all files have reached the maximum size specified by CAPTURE_FILE_SIZE (capture files are generated if the NETWORK_CAPTURE value is set to Yes). If Yes is specified, the oldest file will be rewritten. If No is specified and all requested files have been written (see NUMBER_OF_CAP_FILES), no more data will be captured.
DEFAULT: Yes Note: Use of this parameter is deprecated. |
TCPIP_DISABLE_NAGLE |
This parameter specifies if the Nagle Algorithm should be used when sending packets at the TCP/IP level. Most operating systems enable this by default. It allows small segments of data to delay sending a fixed amount of time to possibly be combined with other small segments and be sent as one larger packet. Disabling this may cause high network traffic.
DEFAULT: NO |
TCPIP_LISTEN_PORT |
This parameter specifies the TCP/IP port on which server applications are to listen for associate requests.
DEFAULT: 104 |
TCPIP_RECEIVE_BUFFER_SIZE * |
This parameter specifies the TCP/IP receive buffer size for each connection. Note that the maximum values for this constant and TCPIP_SEND_BUFFER_SIZE are operating system dependent. If the values of these options are set too high, a message will be logged to the toolkit's log files, although no errors will be returned through the toolkit's API.
Larger values for these constants will greatly improve network performance on networks with minimal network activity. Note that for optimum performance, these values should be at least slightly larger than the PDU_MAXIMUM_LENGTH configuration value. Note also that setting these values to an even multiple of the TCP/IP MSS (Maximum Segment Size) of 1460 bytes can help increase performance. Note also that some operating systems such as Linux have auto¬¬-tuning of TCP/IP buffer sizes implemented when an explicit TCP/IP Send and Receive buffer size are not set. These options can be set to zero to disable Merge DICOM Toolkit's setting of each buffer size.DEFAULT: 131400 MAXIMUM: Operating System dependent |
TCPIP_SEND_BUFFER_SIZE * |
This parameter specifies the TCP/IP send buffer size for each connection. Note that the maximum values for this constant and TCPIP_RECEIVE_BUFFER_SIZE are operating system dependent. If the values of these options are set too high, a message will be logged to the toolkit's log files, although no errors will be returned through the toolkit's API.
Larger values for these constants will greatly improve network performance on networks with minimal network activity. Note that for optimum performance, these values should be at least slightly larger than the PDU_MAXIMUM_LENGTH configuration value. Note also that setting these values to an even multiple of the TCP/IP MSS (Maximum Segment Size) of 1460 bytes can help increase performance. Note also that some operating systems such as Linux have auto-tuning of TCP/IP buffer sizes implemented when an explicit TCP/IP Send and Receive buffer size are not set. These options can be set to zero to disable Merge DICOM Toolkit's setting of each buffer size.DEFAULT: 131400 MAXIMUM: Operating System dependent |
* Performance tuning. |
Service Profile
The Service Profile (usually called mergecom.srv) informs the toolkit what types of services and commands it supports, and what the corresponding message info files are. This file also lists the meta-services and items supported by the toolkit. Items are the nested ‘sub-messages’ contained within attributes of a message having the VR Sequence of Item (SQ) and will be discussed in greater detail later. The name and location of the service profile are specified in the [MergeCOM3] section of the Merge DICOM initialization file.
The service profile, along with the data dictionary and message info files, is generated from the Merge DICOM Database and should be modified by other means only by very experienced or specialized users.
In most cases, it will not be necessary to modify the Service Profile. However, if you are using an extended toolkit to create your own private services, you will need to add specifications for these private services to the Service Profile.
The location of the Service Profile is provided by the MERGECOM_3_SERVICES parameter of the [MergeCOM3] section of the MERGE.INI file.
The Service Profile contains the following sections:
Name | Description |
[SERVICE_TABLE] | List of service names and numbers. This list registers every service available to an Application Entity. The parameters associated with [SERVICE_LIST] are NUMBER_OF_SERVICES_SUPPORTED (the number of service names that will be listed immediately following NUMBER_OF_SERVICES_SUPPORTED) and one entry for each supported service. |
[<service_number>] | One section number for each of the above services registered in [SERVICE_TABLE]. Each section contains a Service Name, a DICOM SOP Class UID for the Service, a flag that tells whether it is a BASE or META Service (SOP) and a list of commands supported for that service. |
[ITEM_TABLE] | One item name and number for each DICOM item that can be encoded in an attribute of Value representation SQ (Sequence of Items). |
|
Copyright © 2023 Merge Healthcare Solutions Inc. All Rights Reserved. | ||||||
PREV NEXT | FRAMES NO FRAMES |