Prefetch WADO Bulkdata - dcm4che/dcm4chee-arc-light GitHub Wiki
This use case specifies how one can enable pre-fetch of objects' JPEG image data only.
Configure an Exporter as described below. Add an exporter descriptor by :
-
Go to
Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects -> Exporter Descriptor (Add)
-
Configure following fields for the Export Descriptor
- Upto archive version 5.23.1
Exporter ID : WADO-JPEG Queue Name : Export2 URI : wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3] Archive Application Entity (AE) title : DCM4CHEE Exporter Description : Prefetch WADO JPEG Property : Cache-Control=no-cache Property : StorageID=wado-jpeg Property : KeycloakClientID=wado-export
- Archive version 5.23.2 onwards
Exporter ID : WADO-JPEG Queue Name : Export2 URI : wado:DCM4CHEE-WADO Archive Application Entity (AE) title : DCM4CHEE Exporter Description : Prefetch WADO bulkdata Property : Cache-Control=no-cache Property : StorageID=wado-jpeg Property : WadoService=?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]
Create a LDIF file (e.g.)
- Upto archive version 5.23.1
dn: dcmExporterID=WADO-JPEG,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmExporter
dcmExporterID: WADO-JPEG
dcmQueueName: Export2
dcmURI: wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]&contentType=image/jpeg
dcmProperty: Cache-Control=no-cache
dcmProperty: StorageID=wado-jpeg
dcmProperty: KeycloakClientID=wado-export
dicomAETitle: DCM4CHEE
dicomDescription: Prefetch WADO metadata
- Archive version 5.23.2 onwards
dn: dcmExporterID=WADO-JPEG,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmExporter
dcmExporterID: WADO-JPEG
dcmQueueName: Export2
dcmURI: wado:DCM4CHEE-WADO
dcmProperty: Cache-Control=no-cache
dcmProperty: StorageID=wado-jpeg
dcmProperty: WadoService=?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]&contentType=image/jpeg
dicomAETitle: DCM4CHEE
dicomDescription: Prefetch WADO bulkdata
and import it to the LDAP Server by using the ldapmodify command line utility.
One may refer to Exporter Descriptor to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
Note : In the above configurations :
- Upto archive version 5.23.1
-
Properties
KeycloakClientID=wado-export
is OPTIONAL. Refer Keycloak Client if the additional functionality provided by this property is required by your application. -
One may choose to add additional optional properties
TLSAllowAnyHostname
andTLSDisableTrustManager
with values astrue
orfalse
(eg.Property : TLSAllowAnyHostname=true
) if you choose to invoke WADO services over secured http. i.e.URI : wado:https://localhost:8443/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]
-
Brief Overview & Short Description of dcmURI parameters : To identify a DICOM Object, only one UID is required, because any UID is globally unique. However, the standard requires that the UID of the higher levels in the DICOM Information Model are specified (i.e., series and study), in order to support the use of DICOM devices that support only the baseline hierarchical (rather than extended relational) Query/Retrieve model, which requires the Study Instance UID and Series Instance UID to be defined when retrieving an SOP Instance.
- studyUID - This parameter is REQUIRED. Should be the Study Instance UID.
- seriesUID - This parameter is REQUIRED. Should be the Series Instance UID.
- objectUID - This parameter is REQUIRED. Should be the SOP Instance UID.
- frameNumber - This parameter is OPTIONAL. Specifies that the single frame with that number within a multi-frame image object shall be returned.
- contentType - This parameter is OPTIONAL. Its value shall contain one or more media types.
-
One may optionally choose to return image heights and widths by using optional query parameters in the URL as
dcmURI: wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]&rows=64&columns=64&contentType=image/jpeg
wherein :
- rows : The value shall be expressed as an integer, representing the image height to be returned.
- columns : The value shall be expressed as an integer, representing the image width to be returned.
-
- Archive version 5.23.2 onwards
- Property
WadoService
is REQUIRED with relative URL value specified as the URI Service - See point 2 in invocation of WADO service over secured http and/or invoking WADO service of a secured archive if required by your application.
- Property
- Refer Storage w.r.t. property
StorageID=wado-jpeg
- The HTTP header fields can be defined in dcmProperty.
- Cache-Control=no-cache indicates that whenever there is change in study, the cache will be invalidated and WADO data should be reloaded again from archive.
Configure an Export Rule as well if this prefetch shall be triggered on receive of studies by the archive. Add an export rule by :
-
Go to
Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects -> Export Rule (Add)
-
Configure following fields for the Export Rule
Name : Cache WADO JPEG Entity : Series Exporter ID : WADO-JPEG Export Delay : PT1M
Create a LDIF file (e.g.):
dn: cn=Cache WADO JPEG,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmExportRule
cn: Cache WADO JPEG
dcmEntity: Series
dcmExporterID: WADO-JPEG
dcmDuration: PT1M
and import it to the LDAP Server by using the ldapmodify command line utility.
One may refer to Export Rule to understand the description of attributes.
Refer ISO-8601 Duration format for more know-how on Durations.
Reasons as to why the pre-fetch of WADO objects' JPEG image data is not done on :
- STUDY level : When a new Series of the study is received, say after a day (for eg. Structured Reports), then for the whole study the pre-fetch is done again.
- INSTANCE level : To avoid costly database operations.