See: Description
Package | Description |
---|---|
com.merge.mcw |
The com.merge.mcw package provides the core API that implements version independent DICOM functionality.
|
com.merge.mcw.dataset |
The com.merge.mcw.dataset package provides functionality for DICOM Information Object specific handling of data sets.
|
com.merge.mcw.sr |
The com.merge.mcw.sr package provides DICOM structured report support.
|
Merge provides a powerful and simplified interface to DICOM. It lets developers focus on the important details of the application and immediate needs of the end users, rather than the often complex and confusing details of the DICOM Standard.
The goal of this documentation is to give a basic understanding of DICOM and a clear understanding of the DICOM Toolkit.
The following topics provide helpful information for application developers using the Merge DICOM Java toolkit:
Merge DICOM Java Toolkit provides a generalized implementation of DICOM in a Java Class Library that you can use with your application. This Java version toolkit makes use of the run-time library of the Merge DICOM C/C++ Toolkit. As such, it benefits from the power of that library while providing a complete Java Class Library interface. You use methods of the Class Library to open connections with other DICOM devices on a network, and to build and exchange DICOM messages or DICOM files.
Figure 2 presents a pictorial representation of a DICOM Application Entity; Merge DICOM Java Toolkit implements for you everything in Parts 5, 6, 7, 8, and 10 of the DICOM Standard. It also makes it much easier for your application to implement according to Parts 3 and 4 by supplying many tools for the management of DICOM messages, and to Part 12 by supplying ‘hooks’ to your applications underlying file system.
The DICOM Toolkit also supplies useful utility programs for testing a DICOM network connection, creating sample DICOM messages and writing them to a file, and for validating and listing the contents of DICOM messages.
Finally, sample application along with sample working source code give you valuable examples to work from when developing your own DICOM applications.
The DICOM Standard and Merge DICOM Toolkits allow applications to add private information to a DICOM message or file. For most application developers, this is more than sufficient. For applications that need to define their own nonstandard private network or file services, an optional Merge DICOM Extended Toolkit is available
To use the Merge DICOM Java Toolkit, you must run on a supported computing platform. Since this version of the Java toolkit requires the C/C++ toolkit run-time library, you must be running on one of the platforms supported by the C/C++ toolkit library. Currently Java toolkit with C/C++ toolkit runtime library is supported on platforms (Sun Solaris 8.x on SPARC, Sun Solaris 10.x on x86, Linux 32, Linux 64, Windows 32, Windows 64 and Android) that provide an implementation of a Java Virtual Machine supporting at minimum version 6 of the Java 2 Platform, as defined by Oracle Corporation.
Once on a supported platform, you will need the Java 2 Standard Edition 6 or higher from Oracle, or a Java development environment that is compatible with the Java 2 SDK.
Your development environment (or at a minimum your target environment) should run on a machine with a network interface over which you can run the TCP/IP protocol. The DICOM Toolkit library supplies you with the DICOM protocol that runs on top of TCP/IP.
If your application will write DICOM files to interchangeable media, you will need a device driver for the media storage device and a programming interface between your operating system and the file system on that device.
Understanding the organization and components of the Merge DICOM Java Class Library is important to developing an efficient and capable DICOM application (see Figure 3). Following is a description of the library's structure and the external components it uses at runtime to provide DICOM functionality.
The Merge DICOM C Toolkit Dynamic Library (named mc3adv_win.dll, mc3adv_win64.dll, libmc3adv_lx.so, libmc3adv_lx64.so, libmc3adv_sol.so, libmc3adv_solx86.so) is the dynamic link library for your computing platform that the Java Class Library accesses. This library services many of the methods of the Java DICOM Toolkit. In the process of servicing networking calls, the library requires the services of a Berkeley Sockets (or WinSock) Library for your platform. Finally, if you are using the library to maintain a DICOM file set, you may need a special-purpose library to interface with your media storage device.
When a Merge DICOM Toolkit Application is first run, it reads in its configuration files; usually named merge.ini, mergecom.app, mergecom.pro, and mergecom.srv. Toolkit configuration is described elsewhere in this document. These configurable parameters are maintained in ASCII files for easy modification. When modifying the configuration files, the toolkit must be re-initialized for those changes to take effect.
A great deal of the power of Merge DICOM Toolkit lies in its message handling and message validation capabilities. Message Objects are what is communicated between DICOM Application Entities. When your application creates a DICOM message object, the library accesses a binary message info file with information about that class of message. This info file describes to the library what attributes to expect as part of that message and each attribute’s characteristics (Value Type, Conditions, and Enumerated or Defined Terms).
Another binary file containing the data dictionary is also accessed by the library. The data dictionary contains other characteristics of attributes (Name, Value Representation, and Value Multiplicity).
Merge DICOM Toolkit gives you added flexibility, by not requiring your application to make use of the message info file. Certain API calls allow you to open messages without accessing the info files. This means that the toolkit cannot validate your message against the DICOM standard, but this may not always be necessary once an application becomes stable. These options are discussed in detail in the Developing DICOM Applications section of this documentation.
Included with the toolkit are sample Java applications. Sample client and server applications are supplied for several DICOM services.
While these sample applications are primitive in features and user interface, they illustrate how to use the Toolkit classes to perform DICOM services over a network.
Merge has a DICOM Database Management System in which the DICOM standard is maintained. This database, along with a few additional tools, is used to generate the binary message info and dictionary files accessed by the DICOM Toolkit, or compiled into your application. As the DICOM standard is updated or extended, by simply maintaining this database, we can generate new binary files and keep the toolkit current. This also reduces the number of changes that must be made in the core DICOM Toolkit library over time.
The toolkit makes some of these tools available to application developers who need to significantly extend the standard with private attribute and private service definitions. The toolkit includes an ASCII file database of the standard that you can extend, along with executables for your platform that translate these ASCII files to the binary message info and data dictionary files used by the toolkit at run time. In this way, you can extend the toolkit to validate your own private attributes and services.
The DICOM Message Database Manual (database.pdf) included with the toolkit describes the organization of the Merge DICOM Database and how to use it to extend standard services and define your own private services. Tools are supplied for converting the contents of the database into the binary runtime object database.