# ReadDICOM

### Synopsis

> The ReadDICOM user macro provide an easy to use interface to read a set of implicite DICOM files and output a uniform AVS field and a structure containing the data present in the DICOM header. It provides access to the DICOM Header data through a User Interface.

> #### Output Ports

> Name | Type | Description
> out | DICOM_Volume | A uniform field containing the DICOM images
> obj | DataObject | renderable object
> header | DICOM_Header | DICOM header information

### Description

> The ReadDICOM macro reads a set of DICOM V3 files and outputs a DICOM_Volume containing the reconstructed volume of data from the images. A DICOM_Volume is basically uniform field can be directly connected to all the standard visualization modules. The information in the image header is output as an DICOM_Header object. This object simply contains references to 5 further objects which actually contain the primitive data values. See below for further information.

> Please note that the original ReadDICOM actually read Papyrus files which is a set of DICOM images wrapped up into a single file. That project is now called ReadPapyrus

> The ReadDICOM macro uses an interface to read_DCMLIST to specify the series of files to be loaded. The user interface also allows the information in the image header to be examined.

> The ReadDICOM macro uses the Papyrus 3.71 toolkit to read DICOM files. This toolkit was developed by the Digital Imaging Unit of the University Hospital of Geneva. More information can be found at the the Papyrus website. The Papyrus toolkit has been fully integrated in the IAC-Project and is provided with the package.

### User Interface

> Select DICOM Series - this button brings up a UI which allows the user to specify the DICOM series to be loaded, please refer to read_DCMLIST for more information on managing DICOM files. Unless a DCMLIST file is found in the current directory the macro will give and error that `"./DCMLIST is not found"`, this is normal behaviour. The Change Directory button allows a directory containing DICOM files to be specified. If no DCMLIST file is present or files have been added/removed then Rescan should be used to generate an upto date DCMLIST file. The Read button will load the selected series. The Delete button will delete the selected series. NOTE The Delete button is inactive under Win32 as it is assumed that the DICOM files are under the control of an external database such as eFilm.

> Series Information - this text region display the more useful pieces of information once a series is loaded.

> Patient, Study, Series and Equipment Information - these buttons bring up further windows displaying more detailed information obtained from the DICOM files. See below for further information.

### Output Ports

> out

> This object contains the image data contained within the DICOM file. The object is of type DICOM_Volume. This object is derived from DICOM_Volume and can be used in the exactly the same way as a standard uniform field. The DICOM_Volume object is used so that the number of dimensions can be constrained so that only 3D data can be stored. This will not effect how the object can be used.

> obj

> A renderable object. Not particularly useful in itself.

> header

> This object contains the header information contained within the DICOM file. The object is of type DICOM_Header. This object contains references to 5 further objects. These objects actually contain the information read from the DICOM file. Each of these sub-objects corresponds to the appropriate DICOM module. These modules are patient, generalStudy, generalSeries, generalEquipment and imageSeries. Further information on the data each of these sub-objects contains can be found in the read_dicom_files documentation and in the Papyrus user manual. This can be found at the Papyrus website.

### Utility Macros

> The User Macro ReadDICOM uses the low-level module read_dicom_files, read_DCMLIST. It also uses the parameter blocks DICOM_Header and DICOM_Volume.

### Example

> Two example applications are provided. They both read in a DICOM format file. The TileDicomEg example uses the tile_volume module to visualize the data whilst the IsoSurfaceDicomEg example uses the isosurface module. The IsoSurfaceDicomEg also uses a downsize module to reduce the amount of data to be visualized.

### Files

> iac_proj/rd_dicom/rddimacs.v contains the V definitions of the ReadDICOM User Macro, the ReadDCMLISTUI Macro, and the example applications TileDicomEg and IsoSurfaceDicomEg.

### Other Notes

> The ReadDICOM project has substantially changed from previous versions changes are given in changes.html.

> If the Output of the ReadDICOM project is used with the standard Orthoslice module the output of this module shows the slice from the back side.

### Authors

>     James S. Perrin
>     Manchester Visualization Centre

### Modifications

>     Tobias Schiebeck
>     International AVS Centre

### Contact

>     International AVS Centre
>     Manchester Visualization Centre
>     Manchester Computing
>     University of Manchester
>     Oxford Road
>     Manchester
>     United Kingdom
>     M13 9PL

### See Also

> read_dicom_files, TileDicomEg, IsoVolDicomEg, Image_Data, Image_Header, Read_ACR_NEMA (IAC module)