DicomTool¶
-
MacroModule
¶ genre DICOM
author MeVis Medical Solutions AG
package MeVisLab/Standard
definition dicommacros.def see also OpenImage
,SaveImage
,DicomUIDGenerator
,DicomTagModify
,DicomTagViewer
keywords UID
,C-STORE
,C-ECHO
,storescu
,dcmsend
,echoscu
,tag
,modify
Purpose¶
The module DicomTool
combines several often needed DICOM tools. It allows you to
- Save a dataset as single DICOM slices.
- Send a dataset to a PACS system using C-STORE.
- Change, delete and add DICOM Tags before saving/storing.
- Verify basic DICOM connectivity using C-ECHO.
Usage¶
DICOM Save¶
This tool allows you to save a selected subset of slices from the input image to a directory on disk. The name of the export directory can be automatically generated using PatientName, Study UID and Series UID to create useful directory structures for multiple patients/studies/series.
- Connect an image to the input of the module.
- Enter the name of a directory in the Base Directory field, or use the Browse… button to select a directory.
- Optionally check any or all of the Append: options. This allows you to create deep directory hierarchies in the form
c:\ExportDir\PatientName\StudyUID\SeriesUID
and simplifies the saving of images from different patients because it automatically creates new directories as needed. - If necessary, adjust the options in the Settings box:
- Specify a Comment included in all DICOM slices.
- Select which slices and time points you want to export. The default is to export the whole dataset, but you can choose to only export one time point or all time points for one slice etc. When the All check boxes are checked, the From and To values are not used, instead, the whole range is selected internally.
- Specify whether to create new DICOM Series and Study UIDs for the generated DICOM slices.
- Check the Restore frame specific option if you want to export the individual DICOM slices with the original frame specific tags obtained when importing the original DICOM data. This is only possible if the 3D/4D structure of the image to be exported matches the structure of the original datasets, i.e. number of spatial and temporal positions has not been changed. The check box Frame specific tags valid indicates whether this is the case. If Restore frame specific is selected and there is a mismatch between the image properties and the structure of the stored frame specific tags, a warning is displayed and the Save and Store buttons on the DICOM Save and DICOM Store panels, resp., are disabled.
- If Export as DERIVEDSECONDARY is enabled (default), the DICOM tags of the exported images are changed to be conform to a secondary DICOM capture object. In particular, the ‘ImageType’ tag value will be set to DERIVEDSECONDARY.
- Use the Store Time Info field to specify whether the time dimension info (as displayed by the
Info
module) should be stored in the DICOM acquisition and/or content time tags of the exported slices.
- Press the Save DICOM Slices button so save the images.
Tips:
- Check the box next to Create New Series to store the DICOM images in a new series. This prevents mixing of original images and images which were changed in MeVisLab when you store the images into a remote PACS system.
- Check the box next to Create New Study to store the DICOM images in a new study. This prevents mixing of original images and images which were changed in MeVisLab when you store the images into a remote PACS system.
DICOM Send¶
The DICOM Send tool is an interface to the storescu
and dcmsend
applications by OFFIS. It allows to send DICOM images to a DICOM Storage Service Class Provider (aka PACS).
- To use this tool, you must first define the DICOM Settings of the DICOM Application Entity you want to send the image to. When you have entered the settings, they will appear in the top part of the panel.
- Connect an image to the input of the module.
- Optionally select the application that should send the DICOM images.
dcmsend
is a newer and much faster implementation that sends all images at once. - Optionally select the slices and time points you want to send and other options in the DICOM Save panel.
- Press the Store button.
- When you have enabled the Verbose or Debug flags, the output of the
storescu
ordcmsend
command will be shown in the DICOM console.
The images will first be saved to a temporary directory on disk and the be sent to the DICOM Server.
Tips:
The storescu
application itself is explained here, while dcmsend
is described here. Note that none of the other options available are used here, only -aec (Calling AET), -aet (Called AET), peer (Hostname) and port and -d (Debug) and -v (Verbose).
DICOM Tags¶
The DICOM Tags tool can be used to
- View the DICOM Tags of the input image.
- Change, delete and add DICOM tags.
- View all changed DICOM Tags between input and output.
The tool is divided into two parts: Display Tags shows the DICOM Tags of the input or output image(s), Modify Tags allows to change DICOM Tags.
For more information on how to use these sub-tabs, refer to the documentation of the DicomTagViewer
and DicomTagModify
modules.
Tips:
Set the Tag List Subset parameter of the Display Tags panel to NON_ROOT to see all the changed/added tags.
Known Bugs:
- The Output Tags panel does really show all changed DICOM Tags because:
- The Series Instance UID is only created when you really Save or Store the images.
- If Export as DERIVEDSECONDARY is enabled, the
ImageSave
module itself adds and changes several DICOM Tags so that the exported DICOM files conform to a secondary capture object. These changed tags will not be visible in the panel because they are not created until the files are really written to disk.
DICOM Settings¶
This tool allows you to define the parameters of a DICOM Entity and save them to configuration file on disk.
- Enter the parameters which are needed for DICOM communication. The parameters are:
- Name: A name to identify the setup. You can enter any string which helps you to remember to which DICOM Entity this setup refers.
- Type: Define if this setup is a (remote) PACS or a Local Server. Currently, this value is just for your information, it is not used programmatically.
- Calling AET: The Application Entity Title which is used by the caller (e.g. the
storescu
application. Some PACS systems only allow certain AETs to connect, so you can enter something here which your PACS allows. (not needed for Local Server) - Called AET: The Application Entity Title which is used by your remote PACS system. If you use the wrong AET here, communication will most likely fail. For a Local Server entry, this is the AE Title used by the local
storescp
process to receive images. - Hostname: The Hostname or IP Address of the PACS system. (not needed for Local Server)
- Port: The port on which the PACS Server listens.
- Press the Save button to save these settings into a file in your MeVisLab settings directory ($HOMEMeVisLabSettings). The file is called DICOMSettings.xml.
- Press the Load button to load previously saved settings from your settings directory.
- You can save multiple Configuration sets into the DICOMSettings.xml file. To do this, just define a new configuration by entering a new Name and press the Save button.
- You can select a configuration set to be currently active by selecting it from the drop-down menu.
- The Delete button allows you to remove a configuration set from your list. Make sure to press Save to store these changes.
- If the Auto load check box is checked, the module automatically tries to load the configuration file DICOMSettings.xml during startup. Uncheck this box if you want the configuration values fixed in your network.
- Check the low-level DICOM connectivity with the DICOM Echo tool.
DICOM Echo¶
The DICOM Echo tool is an interface to the echoscu
application by OFFIS. It allows to check the basic DICOM connectivity to a remote DICOM Entity. The echoscu
application sends a DICOM C-ECHO message to a Service Class Provider (SCP) and waits for a response (this is similar to checking the TCP/IP connectivity with the ping command).
- To use this tool, you must first define the DICOM Settings of the DICOM Application Entity you want to check. When you have entered the settings, they will appear in the top part of the panel.
- Press the Ping button. A new window will pop up and show you the result of the
echoscu
call. - You can use the Verbose and Debug checkmarks to get more information from the
echoscu
application output to the DICOM console.
Tips:
The echoscu
application itself is explained here. Note that none of the other options available are used here, only -aec (Calling AET), -aet (Called AET), peer (Hostname) and port.
Here is some example output which can help you to diagnose problems. Without any of the Verbose and Debug options, you can expect the following results:
Good:
Starting Task:
Task finished.
Bad:
Starting Task:
echoscu: Association Request Failed:
0006:031b Failed to establish association
0006:0317 Peer aborted Association (or never connected)
0006:0320 Attempt to connect to unknown host: lokix.cevis.uni-bremen.de
Task finished.
The host was not found at all. Check the entered host name or IP address.
Bad:
Starting Task:
echoscu: Association Request Failed:
0006:031b Failed to establish association
0006:0317 Peer aborted Association (or never connected)
0006:031c TCP Initialization Error: No error
Task finished.
The DICOM communication failed, a possible problem is that you entered the wrong DICOM port.
Console¶
The Console displays the output generated by the echoscu
or storescu
applications. Depending on the Verbose and Debug options, you get more or less output
- Use the Clear button to clear the console
- The Auto clear flag clears the DICOM console before each run of a new command (
echoscu
orstorescu
) to prevent overfilling of the console which slows down MeVisLab. It is recommended that you set this flag.
Parameter Fields¶
Field Index¶
addFilenameExtension : Bool |
maxUsedSlice : Integer |
canCancel : Bool |
maxUsedTime : Integer |
dicomConfigList : String |
minUsedSlice : Integer |
dicomOutput : String |
minUsedTime : Integer |
exportDir : String |
print : Trigger |
exportNameTemplate : String |
progress : Float |
hasSeriesUID : Bool |
saveEnabled : Bool |
hasStudyUID : Bool |
status : String |