Description:
Development fully functional DICOM API for file handling and network communication. The features and functions similar to dcm4che toolkit and dcmtk.
There will be at least 3 major components and we want working right away: 1 is file handling, 2 is image data, 3 is network communication
General API:
– Written in C++, must be able to be compiled using GNU g++ and Microsoft Visual C
– Full API documentation with examples
– Must be thread safe
– API must use original code, open source code and be reverse engineered
File Handling:
– Read and validate DICOM files, including current and pass revisions of the DICOM standard
– Able to read public and private DICOM tags, including different types of SOP classes and transfer syntaxes
– Proper handling of value representations (VR) including implicit types and unknown types
– Able to create DICOM files using the current DICOM standard
– Must be able to modify and create public and private DICOM tags
– Properly handle invalid and improper DICOM files, API can’t crash, must display what is invalid
Pixel Data Processing:
– Able to process image data using the various transfer syntaxes
– Must be able to process uncompressed and compress image data, including but not limited to RLE, JPEG and JPEG 2000
– Handle multi-frame DICOM files
– Properly decode RGB, YBR, and other color pixel data
– Able to extract encapsulated data like movie and PDF files
Network Communication:
– Able to send C-ECHO, C-FIND, C-MOVE, C-STORE, to any DICOM service class provider (SCP)
– Able to receive C-ECHO, C-FIND, C-MOVE, C-STORE, from any DICOM service class user (SCU)
– C-FIND must work with query for studies on different levels, patient, study, series, and instance level.
– C-Find must also be able to query a modality work-list
– Must implement association accept and reject
– Able to send and receive HL7 messages