ITKv4 DICOM Communications Discussion: Difference between revisions
Line 26: | Line 26: | ||
For an explanation of how to use DICOM to query a PACS, please see this page: [[DICOM_QueryRetrieve_Explained]] | For an explanation of how to use DICOM to query a PACS, please see this page: [[DICOM_QueryRetrieve_Explained]] | ||
= Early design = | |||
To clear things, an initial implementation has been uploaded to github as a started: | |||
* http://github.com/malaterre/ITKDICOM | |||
C-Move is missing, but is required. |
Revision as of 16:24, 10 August 2010
Use this page to discuss and capture scenarios for using DICOM Query/Retrieve (Q/R) to load images from source (PACS) systems.
Scenarios
- User wants to query a PACS system for a particular series. The user only knows the Patient ID, Date of Exam and Series Description to look for. Ultimately, the user wants this loaded in memory as an ITK Image object.
Standards
Most of the documentation for Verification, Storage and Query/Retrieve functionality can be found in Part 4 of the DICOM Standard.
Toolkits
- GDCM is currently used for DICOM File I/O. At this time it does not support the communications aspects of DICOM, such as StoreSCU/StoreSCP, C-FIND, C-MOVE, etc. Are there plans to add this functionality to GDCM?
- DCMTK contains the code needed for DICOM communications. It is currently not integrated into the ITK toolkit. Should it be?
- It is huge! So, maybe ITK should access it as an optional ExternalProject?
- DCMTK has adopted CMake for its build process
- CTK is accessing DCMTK as an ExternalProject
- ExternalProject is a relatively new feature in CMake that allows CMake to git/svn/cvs checkout a project and build it, during the build process of the parent project.
- It is huge! So, maybe ITK should access it as an optional ExternalProject?
Service Classes
Verification
The Verification class uses the C-ECHO service to verify that an endpoint is alive and accepting DICOM requests. This is similar to a ping request for TCP/IP.
Storage
The C-STORE service is used to store DICOM images. To receive images, the system is set up as a Service Class Provider (SCP). The device sending the images is set up as a C-STORE Service Class User (SCU).
Query/Retrieve
The Query/Retrieve (Q/R) class is used to find images on a server and request them to be sent to a destination.
For an explanation of how to use DICOM to query a PACS, please see this page: DICOM_QueryRetrieve_Explained
Early design
To clear things, an initial implementation has been uploaded to github as a started:
C-Move is missing, but is required.