Viewing Images¶
How to use other packages with pydicom to view DICOM images
Introduction¶
pydicom is mainly concerned with getting at the DICOM data elements in files, but it is often desirable to view pixel data as an image. There are several options:
- Use any of the many DICOM viewer programs available
- use pydicom with matplotlib
- use pydicom with Tkinter (comes standard with python)
- use pydicom with the Python Imaging Library (PIL)
- use pydicom with wxPython
Using pydicom with matplotlib¶
matplotlib is available at http://matplotlib.sourceforge.net/. It
can take 2-d image information from Dataset.pixel_array
and display it.
Here is an example:
>>> import dicom
>>> import pylab
>>> ds=dicom.read_file("CT_small.dcm")
>>> pylab.imshow(ds.pixel_array, cmap=pylab.cm.bone)
<matplotlib.image.AxesImage object at 0x0162A530>
>>> pylab.show()
>>>
Thanks to Roy Keyes for pointing out how to do this.
Using pydicom with Tkinter¶
The program pydicom_Tkinter.py
in the contrib
folder demonstrates how to show an image using the
Tkinter graphics system, which comes standard with most python installs.
It creates a Tkinter PhotoImage in a Label widget or a user-supplied widget.
Using pydicom with Python Imaging Library (PIL)¶
The module pydicom_PIL.py
in the contrib
folder
uses PIL’s Image.show()
method after creating an Image instance
from the pixel data and some basic information about it (bit depth, LUTs, etc)
Using pydicom with wxPython¶
The module imViewer-Simple.py
in the contrib
folder uses wxPython (also PIL, but it notes that it
may not be strictly necessary) to display an image from a pydicom dataset.