Table of Contents

Class InferenceRequest

Namespace
Monai.Deploy.InformaticsGateway.Api.Rest
Assembly
Monai.Deploy.InformaticsGateway.Api.dll

Structure that represents an inference request based on ACR's Platform-Model Communication for AI.

public class InferenceRequest
Inheritance
InferenceRequest

Examples

{
    "transactionID": "ABCDEF123456",
    "priority": "255",
    "inputMetadata": { ... },
    "inputResources": [ ... ],
    "outputResources": [ ... ]
}

Remarks

Refer to ACR DSI Model API for more information.

transactionID> is required.

inputMetadata> is required.

inputResources> is required.

Constructors

InferenceRequest()

public InferenceRequest()

Properties

Application

[JsonIgnore]
public InputConnectionDetails? Application { get; }

Property Value

InputConnectionDetails

CreatedBy

Gets or set the user who created the DICOM entity.

public string? CreatedBy { get; set; }

Property Value

string

DateTimeCreated

Gets or set the date and time the objects first created.

public DateTime? DateTimeCreated { get; set; }

Property Value

DateTime?

InferenceRequestId

Unique identity for the request.

public Guid InferenceRequestId { get; set; }

Property Value

Guid

InputMetadata

Gets or sets the details of the data associated with the inference request.

[JsonPropertyName("inputMetadata")]
public InferenceRequestMetadata? InputMetadata { get; set; }

Property Value

InferenceRequestMetadata

InputResources

Gets or set a list of data sources to query/retrieve data from. When multiple data sources are specified, the system will query based on the order the list was received.

[JsonPropertyName("inputResources")]
public IList<RequestInputDataResource>? InputResources { get; set; }

Property Value

IList<RequestInputDataResource>

OutputResources

Gets or set a list of data sources to export results to. In order to export via DICOMweb, an Export Sink must be created and connected to the deployed application via the MONAI Workload Manager. Followed by registering the results using the MONAI App SDK.

[JsonPropertyName("outputResources")]
public IList<RequestOutputDataResource>? OutputResources { get; set; }

Property Value

IList<RequestOutputDataResource>

Priority

Gets or sets the priority of a request.

[JsonPropertyName("priority")]
public byte Priority { get; set; }

Property Value

byte

Remarks

Default value is 128 which maps to JOB_PRIORITY_NORMAL.

Any value lower than 128 is map to JOB_PRIORITY_LOWER.

Any value between 129-254 (inclusive) is set to JOB_PRIORITY_HIGHER.

Value of 255 maps to JOB_PRIORITY_IMMEDIATE.

State

Internal use only - get or sets the state of a inference request.

[JsonPropertyName("state")]
public InferenceRequestState State { get; set; }

Property Value

InferenceRequestState

Remarks

Internal use only.

Status

Internal use only - get or sets the status of a inference request.

[JsonPropertyName("status")]
public InferenceRequestStatus Status { get; set; }

Property Value

InferenceRequestStatus

Remarks

Internal use only.

TransactionId

Gets or set the transaction ID of a request.

[JsonPropertyName("transactionID")]
public string TransactionId { get; set; }

Property Value

string

TryCount

Internal use only - get or sets number of retries performed.

[JsonPropertyName("tryCount")]
public int TryCount { get; set; }

Property Value

int

Remarks

Internal use only.

Methods

IsValid(out string)

public bool IsValid(out string details)

Parameters

details string

Returns

bool

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.