Contents
1 Introduction........................................................................................................................... 3
1.1 Structure.......................................................................................................................... 3
1.2 Languages Supported......................................................................................................4
1.3 Effects of Using the COM Object Model ....................................................................... 4
1.4 Collections in DicomObjects .......................................................................................... 4
1.5 DicomObjects’ Representation of DICOM Data ............................................................ 5
1.6 Interpreting and Using Sequences................................................................................... 7
1.7 Private Attributes ............................................................................................................ 7
2 First steps - Reading, Viewing and Writing DICOM files ................................................ 9
2.1 Your First DICOM Program........................................................................................... 9
2.2 Writing an Image to Disk.............................................................................................. 10
3 Simple Sending and Receipt of images over a network................................................... 11
3.1 Sending an Image.......................................................................................................... 11
3.2 Receiving Images.......................................................................................................... 11
4 Query/Retrieve (SCU)......................................................................................................... 13
4.1 Common Features .........................................................................................................13
4.2 DoQuery........................................................................................................................ 14
4.3 GetImages ..................................................................................................................... 14
4.4 GetUsingMove.............................................................................................................. 15
4.5 DoRawQuery ................................................................................................................ 15
4.6 MoveSync ..................................................................................................................... 15
4.7 MoveImages.................................................................................................................. 15
4.8 DicomConnection Based Q/R Methods........................................................................ 15
5 Off-line Media ..................................................................................................................... 17
5.1 Reading ......................................................................................................................... 17
5.2 Creating......................................................................................................................... 18
5.3 Updating........................................................................................................................ 19
5.4 Multiply Referenced Directory Records ....................................................................... 19
6 Printing ................................................................................................................................ 20
6.1 Printing Using DicomPrint............................................................................................ 20
6.2 Printing Using Normalised Operations ......................................................................... 22
6.3 Printing DICOM Images to a Windows Printer........................................................... 22
7 Exporting DICOM Images to Other Formats.................................................................. 23
7.1 Single Frames................................................................................................................ 23
7.2 Multi-frame Images/Cine..............................................................................................23
7.3 Non-file Exporting ........................................................................................................ 23
8 Advanced Image Review station........................................................................................ 24
8.1 Basic Viewing Controls ................................................................................................ 24
8.2 Multi-frame (Cine) Images ........................................................................................... 24
8.3 Annotations ................................................................................................................... 25
8.4 Lookup Tables............................................................................................................... 28
8.5 DICOM Greyscale Presentation State........................................................................... 28
8.6 Display Speed Optimisation.......................................................................................... 29
9 Web Usage ........................................................................................................................... 31
DicomObjects User Manual Page 2
9.1 Running DicomObjects on a Web Server ..................................................................... 31
9.2 Running DicomObjects on the web client .................................................................... 33
10 Writing a Router/Modifier................................................................................................. 35
11 Writing a DICOM Server................................................................................................... 36
11.1 An object to Listen for Associations............................................................................. 36
11.2 Validating Associations ................................................................................................ 37
11.3 Handling C-STORE Operations.................................................................................... 37
11.4 Handling Query/Retrieve Requests............................................................................... 38
11.5 Handling C-ECHO Requests ........................................................................................ 42
11.6 Transfer Syntax and Quality Issues .............................................................................. 42
11.7 Performance and Reliability Issues............................................................................... 43
11.8 Modality WorkList SCP ............................................................................................... 44
11.9 Print SCP....................................................................................................................... 44
11.10 Storage Commitment SCP ............................................................................................ 45
12 Accessing and Modifying Pixel Data ................................................................................. 46
12.1 Languages with Raw Pointers....................................................................................... 46
12.2 Languages Using Variant Arrays.................................................................................. 47
13 Creating DICOM Images ................................................................................................... 48
13.1 Importing Other Formats .............................................................................................. 48
13.2 Importing Multiframe images ....................................................................................... 49
13.3 From Scratch ................................................................................................................. 50
14 Using Modality WorkList as an SCU................................................................................ 52
15 Language Specific Features ............................................................................................... 53
15.1 Visual Basic .................................................................................................................. 53
15.2 VBScript ....................................................................................................................... 53
15.3 Visual Basic for Applications (e.g. MS Access)........................................................... 53
15.4 Microsoft Visual C++ ................................................................................................... 53
15.5 Borland Delphi & Borland C++ Builder....................................................................... 55
15.6 Java................................................................................................................................ 56
15.7 Other Environments ...................................................................................................... 56
16 Logging................................................................................................................................. 57
16.1 Log Details and Levels ................................................................................................. 57
16.2 File Logging.................................................................................................................. 57
16.3 The DicomLog Control................................................................................................. 58
17 Advanced Usage .................................................................................................................. 59
17.1 Over-riding Registry Values ......................................................................................... 59
17.2 Altering the List of Default SOP Classes...................................................................... 59
17.3 Transfer Syntax Selection ............................................................................................. 60
17.4 Private SOP classes....................................................................................................... 61
17.5 Private Transfer Syntaxes ............................................................................................. 61
17.6 Storage Commitment .................................................................................................... 61
DicomObjects User Manual Page 3
1 Introduction
This user manual is an important complement to the DicomObjects help file. The help file remains the
primary reference guide for all DicomObjects objects, methods and properties, so if you know which
you need, go directly to the help file. This manual however, starts from the opposite point of view, and
tells you how to use DicomObjects to accomplish specific aims. In many cases you will still need to
reference the help file for full details of parameters etc., but at least after reading this manual, you
should know which sections you need to consult!
The purpose of DicomObjects is to allow you, the application developer, to use DICOM in your
applications, with as little need as possible for knowledge of the intricacies of the DICOM standard. It
is of course not the only DICOM “toolkit” available, but the hope is that it fills an important niche in |
|