pydicom.dataset.FileDataset

class pydicom.dataset.FileDataset(filename_or_obj: str | bytes | PathLike | BinaryIO | DicomFileLike, dataset: Dataset | MutableMapping[BaseTag, DataElement | RawDataElement], preamble: bytes | None = None, file_meta: FileMetaDataset | None = None, is_implicit_VR: bool = True, is_little_endian: bool = True)[source]

An extension of Dataset to make reading and writing to file-like easier.

preamble

The optional DICOM preamble prepended to the FileDataset, if available.

Type:

str or bytes or None

file_meta

The Dataset’s file meta information as a FileMetaDataset, if available (None if not present). Consists of group 0x0002 elements.

Type:

FileMetaDataset or None

filename

The filename that the FileDataset was read from (if read from file) or None if the filename is not available (if read from a io.BytesIO or similar).

Type:

str or None

fileobj_type

The object type of the file-like the FileDataset was read from.

is_implicit_VR

True if the dataset encoding is implicit VR, False otherwise.

Type:

bool

is_little_endian

True if the dataset encoding is little endian byte ordering, False otherwise.

Type:

bool

timestamp

The modification time of the file the FileDataset was read from, None if the modification time is not available.

Type:

float or None

__init__(filename_or_obj: str | bytes | PathLike | BinaryIO | DicomFileLike, dataset: Dataset | MutableMapping[BaseTag, DataElement | RawDataElement], preamble: bytes | None = None, file_meta: FileMetaDataset | None = None, is_implicit_VR: bool = True, is_little_endian: bool = True) None[source]

Initialize a FileDataset read from a DICOM file.

Parameters:
  • filename_or_obj (str or PathLike or BytesIO or None) – Full path and filename to the file, memory buffer object, or None if is a io.BytesIO.

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

  • preamble (bytes or str, optional) – The 128-byte DICOM preamble.

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

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

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

Methods

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

Initialize a FileDataset 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.

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.

parent

Return a weak reference to the parent Sequence's parent Dataset.

parent_seq

Return a weak reference to the parent Sequence.

pixel_array

Return the pixel data as a numpy.ndarray.