Skip to content

Latest commit

 

History

History
130 lines (114 loc) · 7.7 KB

DICOMAttributes.rst

File metadata and controls

130 lines (114 loc) · 7.7 KB

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.series 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 Attribute s**
patientName PatientName str
patientID PatientID str
patientBirthDate PatientBirthDate str
**General Study Module Att ributes**
studyInstanceUID StudyInstanceUID str
studyID StudyID str
accessionNumber AccessionNumber str
**General Series Module At tributes**
seriesInstanceUID SeriesInstanceUID str
seriesNumber SeriesNumber int
seriesDescription SeriesDescription str
**Frame Of Reference Modul e Attributes**
frameOfReferenceUID FrameOfReferenceUID str
**General Image Module Att ributes**
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)
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

Full access to DICOM attributes

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

The getDicomAttribute() method will by default fetch the DICOM attribute for slice 0 and tag 0. When an attribute varies in a series, a specific slice and/or tag can be specified.

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 from tag 9, and duplicate this for tag 10
acqTime = a.getDicomAttribute('AcquisitionTime', slice=5, tag=9)
a.setDicomAttribute('AcquisitionTime', acqTime, slice=5, tag=10)