pydicom.dicomdir.DicomDir

class pydicom.dicomdir.DicomDir(filename_or_obj: Union[str, os.PathLike, BinaryIO], dataset: pydicom.dataset.Dataset, preamble: Optional[bytes] = None, file_meta: Optional[pydicom.dataset.FileMetaDataset] = None, is_implicit_VR: bool = True, is_little_endian: bool = True)[source]

Hold a DICOMDIR dataset read from file.

Derived from FileDataset, but additional methods are available, specific to the Directory structure

Deprecated since version 2.1: DicomDir is deprecated and will be removed in pydicom v3.0, use FileSet instead.

__init__(filename_or_obj: Union[str, os.PathLike, BinaryIO], dataset: pydicom.dataset.Dataset, preamble: Optional[bytes] = None, file_meta: Optional[pydicom.dataset.FileMetaDataset] = None, is_implicit_VR: bool = True, is_little_endian: bool = True) None[source]

Initialize a DICOMDIR dataset read from a DICOM file.

Carries forward all the initialization from FileDataset

Parameters
  • filename_or_obj (str or PathLike or file-like or None) – Full path and filename to the file of None if io.BytesIO.

  • dataset (dataset.Dataset) – Some form of dictionary, usually a FileDataset from dcmread().

  • preamble (bytes) – The 128-byte DICOM preamble.

  • file_meta (dataset.Dataset) – The file meta Dataset, such as the one returned by read_file_meta_info(), or an empty Dataset if no file meta information is in the file.

  • is_implicit_VR (bool) – True if implicit VR transfer syntax used (default); False if explicit VR.

  • is_little_endian (bool) – True if little endian transfer syntax used (default); False if big endian.

Raises

InvalidDicomError – If the file transfer syntax is not Little Endian Explicit and reading_validation_mode is RAISE.

Methods

__init__(filename_or_obj, dataset[, ...])

Initialize a DICOMDIR dataset read from a DICOM file.

add(data_element)

Add an element to the Dataset.

add_new(tag, VR, value)

Create a new element and add it to the Dataset.

clear()

Delete all the elements from the Dataset.

compress(transfer_syntax_uid[, arr, ...])

Compress and update an uncompressed dataset in-place with the resulting encapsulated pixel data.

convert_pixel_data([handler_name])

Convert pixel data to a numpy.ndarray internally.

copy()

Return a shallow copy of the dataset.

data_element(name)

Return the element corresponding to the element keyword name.

decode()

Apply character set decoding to the elements in the Dataset.

decompress([handler_name])

Decompresses Pixel Data and modifies the Dataset in-place.

dir(*filters)

Return an alphabetical list of element keywords in the Dataset.

elements()

Yield the top-level elements of the Dataset.

ensure_file_meta()

Create an empty Dataset.file_meta if none exists.

fix_meta_info([enforce_standard])

Ensure the file meta info exists and has the correct values for transfer syntax and media storage UIDs.

formatted_lines([element_format, ...])

Iterate through the Dataset yielding formatted str for each element.

from_json(json_dataset[, bulk_data_uri_handler])

Return a Dataset from a DICOM JSON Model object.

get(key[, default])

Simulate dict.get() to handle element tags and keywords.

get_item(key)

Return the raw data element if possible.

get_private_item(group, element_offset, ...)

Return the data element for the given private tag group.

group_dataset(group)

Return a Dataset containing only elements of a certain group.

items()

Return the Dataset items to simulate dict.items().

iterall()

Iterate through the Dataset, yielding all the elements.

keys()

Return the Dataset keys to simulate dict.keys().

overlay_array(group)

Return the Overlay Data in group as a numpy.ndarray.

parse_records()

Build the hierarchy of given directory records, and structure into Patient, Studies, Series, Images hierarchy.

pop(key, *args)

Emulate dict.pop() with support for tags and keywords.

popitem()

Emulate dict.popitem().

private_block(group, private_creator[, create])

Return the block for the given tag group and private_creator.

private_creators(group)

Return a list of private creator names in the given group.

remove_private_tags()

Remove all private elements from the Dataset.

save_as(filename[, write_like_original])

Write the Dataset to filename.

set_original_encoding(is_implicit_vr, ...)

Set the values for the original transfer syntax and encoding.

setdefault(key[, default])

Emulate dict.setdefault() with support for tags and keywords.

to_json([bulk_data_threshold, ...])

Return a JSON representation of the Dataset.

to_json_dict([bulk_data_threshold, ...])

Return a dictionary representation of the Dataset conforming to the DICOM JSON Model as described in the DICOM Standard, Part 18, Annex F.

top()

Return a str representation of the top level elements.

trait_names()

Return a list of valid names for auto-completion code.

update(d)

Extend dict.update() to handle DICOM tags and keywords.

values()

Return the Dataset values to simulate dict.values().

walk(callback[, recursive])

Iterate through the Dataset's elements and run callback on each.

waveform_array(index)

Return an ndarray for the multiplex group at index in the (5400,0100) Waveform Sequence.

Attributes

default_element_format

default_sequence_element_format

indent_chars

is_original_encoding

Return True if the encoding to be used for writing is set and is the same as that used to originally encode the Dataset.

pixel_array

Return the pixel data as a numpy.ndarray.

parse_records() None[source]

Build the hierarchy of given directory records, and structure into Patient, Studies, Series, Images hierarchy.

This is intended for initial read of file only, it will not reorganize correctly if records are changed.