# pydicom.dataset.FileDataset

class pydicom.dataset.FileDataset(filename_or_obj: Union[str, os.PathLike, BinaryIO], dataset: Union[pydicom.dataset.Dataset, MutableMapping[pydicom.tag.BaseTag, Union[pydicom.dataelem.DataElement, pydicom.dataelem.RawDataElement]]], preamble: Optional[bytes] = None, file_meta: Optional[pydicom.dataset.FileMetaDataset] = None, is_implicit_VR: bool = True, is_little_endian: bool = True)

  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: Union[str, os.PathLike, BinaryIO], dataset: Union[pydicom.dataset.Dataset, MutableMapping[pydicom.tag.BaseTag, Union[pydicom.dataelem.DataElement, pydicom.dataelem.RawDataElement]]], preamble: Optional[bytes] = None, file_meta: Optional[pydicom.dataset.FileMetaDataset] = None, is_implicit_VR: bool = True, is_little_endian: bool = True) → None

    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`.
  `pixel_array` | Return the pixel data as a `numpy.ndarray`.