LEADTOOLS DICOM C++ Class Library Introduction
The DICOM C++ Class Library provides functions that enable the incorporation of DICOM support into an application.
Basic DICOM Features
Support for the DICOM 3 (2011) base standard, including:
- Automatic DICOM file recognition, including Little-Endian/Big-Endian, Implicit/Explicit VR, and others.
- All standard IOD classes and modalities such as CR, CT, MR, NM, US, RF, SC, and VL.
- All standard data element tags.
- All standard Value Representations (VRs), including Other Float String.
- Ophthalmic Refractive Structured Reports.
- Enhanced PET Image Storage SOP Class.
Simplified data handling:
- High-level and low-level functions for easy navigation and manipulation (insert, delete, modify) of Data Sets.
- Context Groups support. The use of Coded Concepts in DICOM facilitates unambiguous communication of concepts or terms. LEADTOOLS supports all the context groups defined by the DICOM Content Mapping Resource (DCMR) specified by PS 3.16 of the DICOM Standard.
- Automatic addition of Item Delimitation Item (FFFE, E00D), and Sequence Delimitation Item (FFFE, E0DD) (VR of "SQ").
- Easy-to-manipulate ordinal positioning of Items (FFFE,E000).
- Handling of repeating groups with multiple overlays and curve data.
- Interface for private IODs.
- Interface for Private tags.
Robust image handling and processing:
- Support for 1, 8, 10, 12, 16, 32-bit grayscale and 24-bit color images including:
- JPEG (8, 10, 12, 16-bit Lossless grayscale, 8, 12 bit lossy grayscale, 24-bit lossless and lossy color).
- JPEG2000 (including lossy and lossless 8-16 bit grayscale images and 24-bit color).
- Photometric Interpretation (Monochrome1, Monochrome2, Palletized, RGB, ARGB, CMYK, YBR Full 422, YBR Full, YBR_RCT, and YBR_ICT).
- Run Length
- Uncompressed (1, 8, 10, 12, 16, 32 grayscale and 24 bit color).
- Single or multi-frame images (compressed or uncompressed).
- Encapsulated or Native encoding of pixel data for single or multi-frame compressed or uncompressed images.
- Store/retrieve DICOM annotations from a dataset and convert them to LEAD Annotation objects (and vice versa). Annotations can also be converted to regions of interest for additional statistical calculations and for storing to DICOM Presentation State.
Easy implementation and high-level support. for:
- DICOM Encapsulated CDA (Clinical Document Architecture).
- Raw Data encapsulation and retrieval.
- DICOM Encapsulated PDF.
- DICOM Waveforms, including electrocardiography (ECG), hemodynamic curve data, cardiac electrophysiology, and audio signals (WAV files).
- DICOM Basic Directory. Create DICOMDIR in few lines of code.
- Overlay Planes (including support for embedded overlay bit in pixel data).
- Annotation and Graphics objects.
- Shared Functional Groups and Per-Frame Functional Groups.
- Change between transfer syntaxes with one function call.
- DICOM Digital Signature Profile support to ensure that data has not been tampered with. Includes support for Base RSA, Creator RSA, and Authorization RSA digital signature profiles.
- Window Leveling. Window leveling is a linear conversion from stored pixel values to values to be displayed. LEADTOOLS can map the stored pixel values of interest, using a user defined color map (using a LUT or Palette) or linear gray LUT.
- DICOM LUT/Overlay/Palette support. The high-level support for Modality LUT, VOI LUT, Palette Color Image in LEADTOOLS Medical means developers can implement DICOM Presentation states into an application with ease. LEADTOOLS can also apply the Modality LUT to the image data to further simplify image processing and statistical calculations.
- Cut-and-paste source code and ready-to-use executables.
- Multiple programming interfaces.
DICOM File Support
- Support all standard IOD classes and modalities (CR, CT, MR, NM, US, RF, SC, VL, etc.) and DICOM Basic Directory support.
- Simply create/initialize complete Data Sets (all modules and elements) for any IOD class.
- Load and save Data Sets with or without headers, using any Transfer Syntax.
- Get, set and insert single or multiframe images (compressed or uncompressed).
DICOM LUT/Overlay/Palette support.
- Detect and set LowBit and HighBit for image data, display images with automatic LUT intensity expansion.
- Set LUT entries and ranges with specific values and gradients.
- Apply the Modality LUT to the image data to further simplify image processing and statistical calculations.
- Display images through the LUT without changing data, or process the image data using the LUT.
Maneuver through the IOD table.
- Search the IOD table.
- Insert and delete IODs.
- Modify an existing IOD.
- Set the default IOD table.
Maneuver through the Data Element Tag table.
- Search the Data Element Tag table.
- Insert and delete tags.
- Modify an existing tag.
- Set the default Data Element Tag table.
Maneuver through the UID table.
- Search the UID table.
- Insert and delete UIDs.
- Modify an existing UID.
- Set the default UID table.
Maneuver through the Value Representation table.
- Search the Value Representation table.
- Insert and delete Value Representations.
- Modify an existing Value Representation.
- Set the default Value Representation table.
Maneuver through a Data Set in tree or list mode.
- Search a Data Set.
- Insert and delete Data Set members.
- Get and set Data Element values.
- Get and set Data Set information.
Maneuver through basic directory Data Sets in tree or list mode.
- Insert and delete keys in a Basic Directory Data Set.
- Get and set keys in a Basic Directory Data Set.
- High-level objects to create DICOMDIR in few lines of code.
DICOM Communications Support
- TCP/IP support for the communication of medical data using the DICOM 3.0 protocol.
- Powerful high-level features that simplify the creation of DICOM client/server applications.
- High-level functions for initiating and terminating associations (connections between DICOM applications).
- Complete support for Message Exchange, including DIMSE (DICOM Message Service Element) service user and provider, and Message Exchange Upper Layer Protocol.
- Automatic processing for filling out PDU structures (Protocol Data Units).
- Automatic and transparent conversion of DICOM Data Sets to/from the specific Transfer Syntax required by the associated Application Entities (the connected DICOM client(s) and server(s)).
- Create and initialize a DICOM Network Connection.
- Retrieve information about the DICOM Network Connection.
- Create a DICOM Associate Connection to allow the transfer of data and messages.
- Customize the DICOM Associate Connection for the type of data you wish to transfer and the manner in which to transfer the data.
- Retrieve information about the DICOM Associate Connection.
- Send and receive messages using either high-level or low-level functions.
- Support for all DICOM Message Service Elements (DIMSE)
Full Support for all Service Classes: Easy to implement all possible DICOM Service Classes as client (SCU) and/or server (SCP)
- Study Content Notification
- Patient Management
- Study Management
- Results Management
- Print Management
- Media Storage
- Storage Commitment
- Basic Worklist Management
- Queue Management
Support for DIMSE-C services associated with composite SOP Classes:
- C Store Request
- C Store Response
- C Find Request
- C Find Response
- C Get Request
- C Get Response
- C Move Request
- C Move Response
- C Cancel Request
- C Echo Request
- C Echo Response
Support for DIMSE-N services associated with normalized SOP Classes and provide an extended set of operations and notifications:
- N Event Report Request
- N Event Report Response
- N Get Request
- N Get Response
- N Set Request
- N Set Response
- N Action Request
- N Action Response
- N Create Request
- N Create Response
- N Delete Request
- N Delete Response
When using DICOM Messages, AE's can serve in one of two roles:
- Invoking DIMSE-service-user (SCU)
- Performing DIMSE-service-user (SCP)
- Supports the Secure Transport Connection Profiles as specified in part 15 of the DICOM standard.
- Support for both the TLS secure transport connection profile and also the ISCL Secure transport connection profile.
- Eliminates the need of a VPN (virtual private network) for secure communication to comply with HIPAA regulations.
- Encrypt sensitive data between user developed DICOM nodes or existing nodes that support TLS or ISCL connection profiles.
- Monitor and control the certificate exchange/verification phase of TLS DICOM Security negotiation through a verification callback.
HIPAA Privacy and Security required compliance by April 14, 2003 with standards for guarding data integrity, confidentiality and availability for any application that maintains or transmits individual health data.
These standards are addressed by the LEADTOOLS DICOM Security for efficient 128-bit encryption implementation. LEADTOOLS DICOM Security allows for quick, accurate, and complete implementation of security functions that ensure an application connected to the internet will be HIPAA-compliant.
TLS Connection Profile
|Area at Risk
||LEADTOOLS Medical Security Solution
||DES Encryption & 3DES Encryption
||Secure Hash Algorithm Ciphersuite Negotiation
||MORE ABOUT TLS
ISCL Connection Profile
|Area at Risk
||LEADTOOLS Medical Security Solution
||DES-CBC Encryption. This is a 56-bit effective key length in a 64-bit key encryption cipher in block chaining mode.
||DESMAC (64-bit) and DES-encrypted MD5 (128-bit) message authentication codes.
||MORE ABOUT ISCL
LEADTOOLS Medical Imaging Features
The LEADTOOLS Medical Imaging product line includes everything programmers need to develop a complete DICOM Medical Imaging Solution.
In medical environments, DICOM Standards facilitate the interoperability of medical imaging systems, related images, and related information. They define protocols for exchanging digital information between medical imaging equipment (such as CT and MR scanners) and other systems, with strong emphasis on diagnostic medical imaging as practiced in radiology, cardiology and related disciplines.
LEAD Technologies, Inc. is committed to full and complete support for these industry-standard medical imaging protocols, providing programmers access to medical images retrieved from the widest possible variety of digital imaging modalities. LEAD's Medical Imaging toolkit includes the richest DICOM support in the industry.
Class Library Overview
Programming with LEADTOOLS DICOM
DICOM Annotation Object support
LEADTOOLS DICOM Communications
LEADTOOLS DICOM Security
Overview of the DICOM File Format
DICOM Network Communication Support Environment
Adding Security to a DICOM Connection
Working with Digital Signatures
DICOM Network Communication Support for Message Exchange
Files To Be Included With Your Application
LEADTOOLS DICOM C++ Class Library Changes