8.13. Input

Declares that an operator requires input to execute. Clara Deploy SDK will ensure that all input requirements are met before executing the operator. Inputs to operators can be disk-based payloads (all api-versions) or shared memory objects (available in pipeline api-version 0.5.0 and above).

  • Disk-based payloads and require a path entry, and a type of stream with a mandatory free-from element-type. For example, ```YAML name: my-operator input:

  • name: file-data-in path: /in/data type: stream # api-version 0.5.0+ element-type: specific-dicom-type # api-version 0.5.0+ ```

  • If the from attribute is not declared (as above) the orchestration engine will assume the operator requires the pipeline payload as input. If the from attribute is specified it should match the name of the upstream operator, and the names of this input should match the name of the output of the upstream operator and its type. For example, ```YAML name: upstream-op output:

  • name: generated-file-data path: /out type: stream # api-version 0.5.0+ element-type: my-file-type # api-version 0.5.0+ name: downstream-op input:

  • from: upstream-op name: generated-file-data # matches generated-file-data from upstream-op above path: /in type: stream # api-version 0.5.0+ element-type: my-file-type # api-version 0.5.0+ ```

For pipeline api-version 0.4.0 and below, all input payloads require a path attribute as operators can only exchange data using local volume mounts as no type information is available to the Clara (or Argo) orchestrator.

In pipeline api-version 0.5.0 and above (available only through Clara orchestrator), operator inputs and outputs support type information through the type and element-type attributes (see Clara types). This allows the orchestrator to assign certain types to shared memory for faster inter operator data exchange.

type

Medium

Required Attributes

Omit Attributes

stream

Disk

element-type, path

shape

array

Shared Memory

element-type, shape

path

string

Shared Memory

element-type, shape, path

Clara Primitive

Shared Memory

element-type, shape, path

8.13.1. Properties

8.13.1.1. from

type: string

The name of another operator in the same pipeline definition. The output of the named operator will be mapped to this operator at path.

When the named operator declares a named output, the input must also declare the name of the output in order to properly associated them.

8.13.1.2. name

type: string

The name of the upstream operator’s output to be mapped to an operator’s input declaration.

See names for additional information about name in Clara Deploy SDK pipeline definitions.

8.13.1.3. path

type: string

Container-local path to which Clara Deploy SDK will mount the requested storage volume.

The path property

  • is mandatory in api-version 0.4.0 and below

  • is mandatory in api-version 0.5.0 and above when type is stream

  • omitted is api-version 0.5.0 and above when type is not stream Paths must be fully-qualified.

8.13.1.4. type

(available api-version 0.5.0 and above)

type: string

Describes the Clara structure or Clara primitive.

Clara Primitive

Logical Interpretation

array Representation

u8, uint8

8-bit unsigned integer

array<uint8>[1]

u16, uint16

16-bit unsigned integer

array<uint16>[1]

u32, uint32

32-bit unsigned integer

array<uint32>[1]

u64, uint64

64-bit unsigned integer

array<uint64>[1]

i8, int8

8-bit unsigned integer

array<int8>[1]

i16, int16

16-bit signed integer

array<int16>[1]

i32, int32

32-bit signed integer

array<int32>[1]

i64, int64

64-bit signed integer

array<int64>[1]

f16, float16

16-bit floating-point

array<float16>[1]

f32, float32

32-bit floating-point

array<float32>[1]

f64, float64

64-bit floating-point

array<float64>[1]

8.13.1.5. element-type

(available api-version 0.5.0 and above)

type: string

Must be specified only for array and stream types (see table above); must be omitted for Clara primitives and string.

element-type accepts only Clara primitive types (see Table under type section).

8.13.1.6. shape

(available api-version 0.5.0 and above)

type: list of dimension lengths. Use -1 to indicate that the length is dynamic (will be set at run-time). Non-dynamic lengths must be greater than zero.

Must be specified only for array type. Omitted for all other types.

Accepts a list of dimension lengths. Use -1 to indicate the size is dynamic (will be defined at run-time). Non-dynamic dimension lengths must be greater than zero.

8.13.1.7. Examples:

3D array with dynamic first dimension.

shape: [-1, 224, 224]

3-channel 3D array with three dynamically updatable dimensions.

shape: [3, -1, -1, -1]

3-channel static array of 224 x 224.

shape: [3, 224, 224]