monai.deploy.operators.DICOMEncapsulatedPDFWriterOperator

class monai.deploy.operators.DICOMEncapsulatedPDFWriterOperator(fragment, *args, output_folder, model_info, equipment_info=None, copy_tags=True, custom_tags=None, **kwargs)[source]

Bases: holoscan.core.Operator

Class to write DICOM Encapsulated PDF Instance with provided PDF bytes in memory.

Named inputs:

pdf_bytes: Bytes of the the PDF content. study_selected_series_list: Optional, DICOM series for copying metadata from.

Named output:

None

File output:

Generaed DICOM instance file in the provided output folder.

Class to write DICOM Encapsulated PDF Instance with PDF bytes in memory or in a file.

Parameters
  • fragment (Fragment) – An instance of the Application class which is derived from Fragment.

  • output_folder (str or Path) – The folder for saving the generated DICOM instance file.

  • copy_tags (bool) – True, default, for copying DICOM attributes from a provided DICOMSeries. If True and no DICOMSeries obj provided, runtime exception is thrown.

  • model_info (ModelInfo) – Object encapsulating model creator, name, version and UID.

  • equipment_info (EquipmentInfo, optional) – Object encapsulating info for DICOM Equipment Module. Defaults to None.

  • custom_tags (Dict[str, str], optional) – Dictionary for setting custom DICOM tags using Keywords and str values only. Defaults to None.

Raises

ValueError – If copy_tags is true and no DICOMSeries object provided, or if PDF bytes cannot be found in memory or loaded from the file.

Methods

__init__(fragment, *args, output_folder, …)

Class to write DICOM Encapsulated PDF Instance with PDF bytes in memory or in a file.

add_arg(*args, **kwargs)

Overloaded function.

compute(op_input, op_output, context)

Performs computation for this operator and handles I/O.

initialize(self)

Operator initialization method.

setup(spec)

Set up the named input(s), and output(s) if applicable.

start(self)

Operator start method.

stop(self)

Operator stop method.

write(content_bytes, dicom_series, output_dir)

Writes DICOM object

Attributes

DCM_EXTENSION

DEFAULT_OUTPUT_FOLDER

args

The list of arguments associated with the component.

conditions

Conditions associated with the operator.

description

YAML formatted string describing the operator.

fragment

The fragment that the operator belongs to.

id

The identifier of the component.

name

The name of the operator.

operator_type

The operator type.

resources

Resources associated with the operator.

spec

class OperatorType(self: holoscan.core._core.Operator.OperatorType, value: int) None

Bases: pybind11_builtins.pybind11_object

Members:

NATIVE

GXF

property name
__init__(fragment, *args, output_folder, model_info, equipment_info=None, copy_tags=True, custom_tags=None, **kwargs)[source]

Class to write DICOM Encapsulated PDF Instance with PDF bytes in memory or in a file.

Parameters
  • fragment (Fragment) – An instance of the Application class which is derived from Fragment.

  • output_folder (str or Path) – The folder for saving the generated DICOM instance file.

  • copy_tags (bool) – True, default, for copying DICOM attributes from a provided DICOMSeries. If True and no DICOMSeries obj provided, runtime exception is thrown.

  • model_info (ModelInfo) – Object encapsulating model creator, name, version and UID.

  • equipment_info (EquipmentInfo, optional) – Object encapsulating info for DICOM Equipment Module. Defaults to None.

  • custom_tags (Dict[str, str], optional) – Dictionary for setting custom DICOM tags using Keywords and str values only. Defaults to None.

Raises

ValueError – If copy_tags is true and no DICOMSeries object provided, or if PDF bytes cannot be found in memory or loaded from the file.

add_arg(*args, **kwargs)

Overloaded function.

  1. add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.Arg) -> None

Add an argument to the component.

  1. add_arg(self: holoscan.core._core.Component, arg: holoscan.core._core.ArgList) -> None

Add a list of arguments to the component.

property args

The list of arguments associated with the component.

arglist : holoscan.core.ArgList

compute(op_input, op_output, context)[source]

Performs computation for this operator and handles I/O.

For now, only a single result content is supported, which could be in bytes or a path to the PDF file. The DICOM series used during inference is optional, but is required if the copy_tags is true indicating the generated DICOM object needs to copy study level metadata.

When there are multiple selected series in the input, the first series’ containing study will be used for retrieving DICOM Study module attributes, e.g. StudyInstanceUID.

Raises
  • FileNotFoundError – When bytes are not in the input, and the file is not given or found.

  • ValueError – Input bytes and PDF file not in the input, or no DICOM series when required.

  • IOError – If fails to get the bytes of the PDF

property conditions

Conditions associated with the operator.

property description

YAML formatted string describing the operator.

property fragment

The fragment that the operator belongs to.

name : holoscan.core.Fragment

property id

The identifier of the component.

The identifier is initially set to -1, and will become a valid value when the component is initialized.

With the default executor (holoscan.gxf.GXFExecutor), the identifier is set to the GXF component ID.

id : int

initialize(self: holoscan.core._core.Operator) None

Operator initialization method.

property name

The name of the operator.

name : str

property operator_type

The operator type.

holoscan.core.Operator.OperatorType enum representing the type of the operator. The two types currently implemented are native and GXF.

property resources

Resources associated with the operator.

setup(spec)[source]

Set up the named input(s), and output(s) if applicable.

This operator does not have an output for the next operator, rather file output only.

Parameters

spec (OperatorSpec) – The Operator specification for inputs and outputs etc.

start(self: holoscan.core._core.Operator) None

Operator start method.

stop(self: holoscan.core._core.Operator) None

Operator stop method.

write(content_bytes, dicom_series, output_dir)[source]

Writes DICOM object

Parameters
  • content_bytes (bytes) – Content bytes of PDF

  • dicom_series (DicomSeries) – DicomSeries object encapsulating the original series.

  • output_dir (Path) – Folder path for saving the generated file.