DICOM Attributes

Series properties

A handful of DICOM attributes are available directly as Series properties. The table below lists the available Series properties.

These attributes can be set and interrogated directly from the Series object:

from imagedata import Series
a = Series('in_dir')
patientName = a.patientName
a.seriesDescription = 'DWI MASK'
a.imageType = ['DERIVED', 'SECONDARY', 'MPR']

Series property name

DICOM Attribute Name

Usage

SOP Common Module

SOPClassUID

SOPClassUID

str

Patient Module Attributes

patientName

PatientName

str

patientID

PatientID

str

patientBirthDate

PatientBirthDate

str

General Study Module Attributes

studyInstanceUID

StudyInstanceUID

str

studyID

StudyID

str

accessionNumber

AccessionNumber

str

General Series Module Attributes

seriesInstanceUID

SeriesInstanceUID

str

seriesNumber

SeriesNumber

int

seriesDescription

SeriesDescription

str

Frame Of Reference Module Attributes

frameOfReferenceUID

FrameOfReferenceUID

str

General Image Module Attributes

imageType

ImageType

List of str

timeline

AcquisitionTime

Read-only numpy array (can be set using tags)

bvalues

DiffusionBValue or propietary

Read-only numpy array

Image Plane Module

spacing

PixelSpacing and SliceThickness

numpy array(dz,dy,dx) in mm

orientation

ImageOrientationPatient

numpy array with 6 elements

imagePositions

ImagePositionPatient

dict of ImagePositions [z,y,x] of upper left hand corner (in mm). dict.keys() are slice numbers (int)

sliceLocations

SliceLocation

numpy array (in mm)

VOI LUT Module

windowCenter

WindowCenter

number

windowWidth

WindowWidth

number

Image Pixel Module

color

SamplesPerPixel

bool

photometricInterpretation

PhotometricInterpretation

str

rows

Rows

Read-only (int)

columns

Columns

Read-only (int)

Composite Attributes

slices

Read-only (int)

tags

Input order tag

Tags for each slice. a.tags[slice][tag]

axes

List of Axis objects

transformationMatrix

numpy array 4x4 in z,y,x order

SOPInstanceUIDs

Dict of collected SOPInstanceUID from instances read. Key: (tag, slice)

dicomTemplate

A pydicom Dataset

Full access to DICOM attributes

Any DICOM attribute can be set or fetched using the getDicomAttribute() and setDicomAttribute() methods.

The getDicomAttribute() method will fetch the named DICOM attribute.

By default the setDicomAttribute() method will set an attribute for all slices and tags of a series. Alternatively, a specific slice and/or tag can be targeted.

# Fetch the MR Repetition Time
TR = a.getDicomAttribute('RepetitionTime')

# Fetch the Acquisition Time, and duplicate this for given slice and tag
acqTime = a.getDicomAttribute('AcquisitionTime')
a.setDicomAttribute('AcquisitionTime', acqTime, slice=5, tag=10)