openapi: 3.2.0
info:
title: Dentsply Sirona Images API
version: '1.0'
description: 'Operations tagged Images across 2 of this provider''s published API definitions: dentsply-sirona-intraoral-filters-openapi.yml, dentsply-sirona-intraoral-modality-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://localhost:43809/api/dsio/filters/v1
description: Default endpoint for local Sensor Plugin service
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
tags:
- name: Images
description: Manage image resources for processing
paths:
/images:
post:
tags:
- Images
summary: Create Image Resource
operationId: createImage
description: Create a new image resource by uploading a 16-bit grayscale PNG image file and information describing the image. When finished with filter oprations, this resource should be deleted with the API call `Delete Image Resource`. Otherwise, the resource will be automatically deleted after the `expires` timestamp.
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
imageInfo:
$ref: '#/components/schemas/ImageInfo'
imageMedia:
description: The media file to upload. This file must be a 16-bit PNG image.
type: string
format: binary
encoding:
media:
contentType: image/png
responses:
'201':
description: Image resource created
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResource'
'400':
description: Bad input parameter
'415':
description: Unsupported media type
servers:
- url: https://localhost:43809/api/dsio/filters/v1
description: Default endpoint for local Sensor Plugin service
/images/modality:
post:
tags:
- Images
summary: Create Modality Resource
operationId: modalityImage
description: Create a new image resource by referencing an image captured in a current modality session using the DSIO Modality API. This resource will only be available as long as the modality session is active. When finished with filter oprations, this resource should be deleted with the API call `Delete Image Resource`. Otherwise, the resource will be automatically deleted after the `expires` timestamp.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModalitySession'
responses:
'201':
description: Image resource created
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResource'
'400':
description: Bad input parameter
'404':
description: Modality session or image not found
servers:
- url: https://localhost:43809/api/dsio/filters/v1
description: Default endpoint for local Sensor Plugin service
/images/{id}:
get:
tags:
- Images
summary: Get Image Resource
operationId: getImage
description: Retrieves an image resource
parameters:
- name: id
in: path
description: Id of the image resource to retrieve
required: true
schema:
type: string
format: text
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResource'
'404':
description: Image resource not found
delete:
tags:
- Images
summary: Delete Image Resource
operationId: deleteImage
description: Deletes an image resource from the filters service. This image will no longer be available for processing.
parameters:
- name: id
in: path
description: Id of the image resource to delete
required: true
schema:
type: string
format: text
responses:
'204':
description: Successfully deleted resource
'404':
description: Image resource not found
servers:
- url: https://localhost:43809/api/dsio/filters/v1
description: Default endpoint for local Sensor Plugin service
/images/{id}/media:
get:
tags:
- Images
summary: Get Image Media
operationId: getImageMedia
description: Retrieve the media associated with an image resource
parameters:
- name: id
in: path
description: Id of the image resource to retrieve
required: true
schema:
type: string
format: text
responses:
'200':
description: Success
content:
image/*:
schema:
type: string
format: binary
'404':
description: Image resource not found
servers:
- url: https://localhost:43809/api/dsio/filters/v1
description: Default endpoint for local Sensor Plugin service
/acquisition:
post:
tags:
- Images
operationId: createAcquisitionSession
summary: Create Acquisition Session
description: 'Creates an acquisition session using the supplied device.
To acquire images from a device, you must first create an `AcquisitionSession`. When a session is created for a device, that device is marked as in use (Device Status changes to `InUse`). The session and the images associated with it persists until the session is deleted. The basic steps needed to acquire an image are:
- Create a new session with an `Available` device
- Subscribe to `AcquisitionStatus` Event in order react to exposure readiness
- Send `AcquisitionInfo` with `enable` set to true
- Wait for `AcquisitionStatus` to report `ready` as true
- Inform user that they may initiate x-ray exposure
- Wait for `AcquisitionStatus` to report `NewImage` or a new `lastImageId` is provided
- Retrieve `ImageInfo` for the newly acquired image and download the image using the `imageUrl` property
- Delete the acquisition session'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionSessionInfo'
responses:
'201':
description: Session was successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionSession'
'404':
description: Device not found
'409':
description: Device is in use
'500':
description: Internal error
'507':
description: Not enough storage available
security:
- BasicAuth: []
get:
tags:
- Images
operationId: getSessions
summary: Get Acquisition Sessions
description: Retrieve a list of `AcquisitionSession` objects previously created that have yet not been deleted. The query may be filtered for sessions containing a given device using the optional `deviceId` parameter. If this parameter is supplied, the response will contain exactly one `AcquisitionSession` or an empty array if no matching session is found.
parameters:
- name: deviceId
in: query
description: Optional id of a device that will be used to filter the results.
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AcquisitionSession'
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}:
get:
tags:
- Images
operationId: getAcquisitionSession
summary: Get Acquisition Session
description: Retrieve acquisition session information.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionSession'
'404':
description: Session not found
security:
- BasicAuth: []
put:
tags:
- Images
operationId: updateAcquisitionSession
summary: Update Acquisition Session
description: Update an acquisition session. You may use this method to switch devices or change the client name.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionSessionInfo'
responses:
'200':
description: Session was successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionSession'
'404':
description: Session not found
'409':
description: Device is in use
security:
- BasicAuth: []
delete:
tags:
- Images
operationId: deleteAcquisitionSession
summary: Delete Acquisition Session
description: Delete an acquisition session. When you have finished image acquisition and retrieved all images, delete the `AcquisitionSession` to make the device available again. Deleting the session will delete all images associated with it.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
responses:
'200':
description: Successfully deleted session
'404':
description: Session not found
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/status:
get:
tags:
- Images
operationId: getAcquisitionStatus
summary: Get Acquisition Status
description: Returns current status of an exposure. This may be used to poll the status of the current exposure.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionStatus'
'404':
description: Session not found
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/status/subscribe:
get:
tags:
- Images
operationId: subscribeAcquisitionStatus
summary: Subscribe to Acquisition Status Events
description: 'Subscribe to the exposure status using Server Sent Events (EventSource). The API service will send status updates whenever the Acquisition state changes. By subscribing to exposure status, a client may react quickly to state transitions making the application feel more responsive.
The service will send a periodic heartbeat message in order to keep the connection active. The frequency of the heartbeat can be controlled by the optional query parameter, heartbeat.'
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
- name: heartbeat
in: query
description: An optional parameter specifying the desired heartbeat interval in ms. A value of 0 will disable the heartbeat.
required: false
schema:
type: number
default: 1000
minimum: 1000
maximum: 10000
responses:
'200':
description: Subscription started
content:
text/event-stream:
schema:
type: object
format: chunked
properties:
event:
type: string
enum:
- message
- heartbeat
data:
oneOf:
- $ref: '#/components/schemas/AcquisitionStatus'
- $ref: '#/components/schemas/Heartbeat'
example: 'event: heartbeat
data: { "heartbeatTimeout": 1000 }
event: message
data: { "ready": true, "state": "Ready", "lastImageId": "04d2b36f-3613-4c29-b130-923c93a6187f", "totalImages": 4 }
'
'404':
description: Session not found
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/info:
get:
tags:
- Images
operationId: getAcquisitionInfo
summary: Get Acquisition Information
description: Returns AcquisitionInfo for the next exposure.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionInfo'
'404':
description: Session not found
security:
- BasicAuth: []
put:
tags:
- Images
operationId: setAcquisitionInfo
summary: Update Acquisition Information
description: Set AcquisitionInfo for the next exposure. To initiate an exposure, you must use this method to enable acquisition and provide information about how the sensor is oriented. `AcquisitionStatus` will report the state `NoAcquisitionInfo` if you have not yet provided `AcquisitionInfo`.
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionInfo'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AcquisitionInfo'
'400':
description: Bad Request - Invalid value for rotation
'404':
description: Session not found
'423':
description: Locked - AcquisitionInfo cannot be modified while reading an exposure.
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/images:
get:
tags:
- Images
operationId: getImages
summary: Get All Images
description: Returns information about all images acquired in the session
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ImageInfo_2'
'404':
description: Session not found
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/images/{imageId}:
get:
tags:
- Images
operationId: getAcquisitionBySessionIdImagesByImageId
summary: Get Image
description: Returns information about the specified image
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
- name: imageId
in: path
description: The image Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageInfo_2'
'404':
description: Session or image not found
security:
- BasicAuth: []
x-operation-id-source: normalized
x-operation-id-original: getImage
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/images/{imageId}/media:
get:
tags:
- Images
operationId: getAcquisitionBySessionIdImagesByImageIdMedia
summary: Get Image Media
description: Returns the media representing the specified image
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
- name: imageId
in: path
description: The image Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
image/*:
schema:
type: string
format: binary
'404':
description: Session or image not found
security:
- BasicAuth: []
x-operation-id-source: normalized
x-operation-id-original: getImageMedia
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
/acquisition/{sessionId}/images/{imageId}/preview:
get:
tags:
- Images
operationId: getImagePreview
summary: Get Image Preview Media
description: Returns the media representing a thumbnail of specified image
parameters:
- name: sessionId
in: path
description: The session Id
required: true
schema:
type: string
- name: imageId
in: path
description: The image Id
required: true
schema:
type: string
responses:
'200':
description: Success
content:
image/*:
schema:
type: string
format: binary
'404':
description: Session or image not found
security:
- BasicAuth: []
servers:
- url: https://localhost:43809/api/dsio/modality/v1
description: Default endpoint for local Sensor Plugin service
components:
schemas:
ImageResource:
description: Represents an image resource uploaded for processing.
type: object
properties:
id:
description: The resource id associated with the image
type: string
example: 160c98f9-d188-4118-94c4-697161fd5caf
mediaType:
description: The media type describing the format of the image data.
type: string
example: image/png
url:
description: The Url where the image media resource can be downloaded.
type: string
example: https://example.com/images/160c98f9-d188-4118-94c4-697161fd5caf/file.png
createdOn:
description: Timestamp indicating the time that the resource was created.
type: string
format: date-time
example: 2021-05-03T10:56:00:00-04:00
expires:
description: Timestamp indicating the time that the resource will automatically expire and be deleted.
type: string
format: date-time
example: 2021-05-03T18:56:00:00-04:00
imageInfo:
$ref: '#/components/schemas/ImageInfo'
modalitySession:
description: 'Optional object that when present indicates that the resource belongs to a session created with the Modality API.
'
allOf:
- $ref: '#/components/schemas/ModalitySession'
ModalitySession:
description: Describes a resource from a current Modality session
type: object
properties:
sessionId:
description: Id of modality session
type: string
example: 451f7e06-5827-4c99-b6fb-b9c330ca922c
imageId:
description: Id of the image acquired by modality
type: string
example: 39db323b-198d-4219-b79e-ca918cde5be5
ImageInfo:
description: 'Describes information about the image used to create an `ImageResource`. This information should be obtained directly from the corresponding `ImageInfo` object of the image acquired using the DSIO Modality API. Note that this object is a subset of the DSIO Modality API, thus allowing API consumers to use the same object for both.
'
type: object
properties:
acquisitionInfo:
description: Describes information regarding the acquisition from the DSIO Modality API.
type: object
properties:
binning:
description: 'The binning mode used to acquire the image. When binning mode is set to Binned2x2, the sensor combines 4 pixels in a 2x2 neighborhood to create a single pixel. The resulting image is 1/4th the size of an Unbinned image, but with lower resolution. Note that some sensors may not support binning, in which case the binning property cannot be changed.
'
type: string
enum:
- Unbinned
- Binned2x2
example: Unbinned
lutInfo:
description: 'Describes the lookup table (LUT) mapping applied to an image. This information should be obtained from the ImageInfo of the image that was acquired using the DSIO Modality API.
'
type: object
properties:
gamma:
description: Gamma value used in map
type: number
format: double
example: 2.3
slope:
description: Slope value used in map
type: number
format: double
example: 65535.0
offset:
description: Offset value used in map
type: number
format: double
example: 0.0
totalGrays:
description: Total number of gray values in original (unmapped) image
type: number
format: integer
example: 4096
minimumGray:
description: Minimum gray value in original (unmapped) image
type: number
format: integer
example: 3612
maximumGray:
description: Maximum gray value in original (unmapped) image
type: number
format: integer
example: 418
AcquisitionSessionInfo:
description: Information used to create or update an acquisition session
type: object
properties:
deviceId:
description: Unique Id of the device
type: string
example: bc91c079-dabe-0170-1c5e-6ee92b3f4a35
clientName:
description: A client provided string used to identify the client that created the session
type: string
example: OP4 Workstation
context:
description: An arbitrary object that can be used to store custom information about an acquisition session.
type: object
additionalProperties: {}
Heartbeat:
description: Contains the timeout interval for a heartbeat message sent to subscribed clients.
type: object
properties:
heartbeatTimeout:
description: The heartbeat timeout interval in ms.
type: number
example: 1000
LutInfo:
description: "Describes the lookup table (LUT) mapping applied to an image. Images acquired by this service may be mapped using a non-linear LUT in order to provide an image suitable for presentation (see the `applyLut` property of `AcquisitionInfo`). The LUT is created according to the following equation:\n\n Y = m(x′γ) + b\n \n where\n * m is the slope\n * b is the offset\n * γ is the gamma value\n * x′ is a normalized pixel scaled to the range [0,1]\n\nIf desired, the original pixel data (X) can be recovered from the mapped pixel (Y) using the LutInfo:\n \n X = (Xmax - Xmin) * [(Y - b) / m]1/γ + Xmin\n \n where\n * m is the slope\n * b is the offset\n * γ is the gamma value\n * Xmin is the minimum gray value\n * Xmax is the maximum gray value\n\nIt is typical for the minimum gray value to be larger than the maximum gray level. This way, the LUT mapping produces an inverted non-linear optimized image.\n"
type: object
properties:
gamma:
description: Gamma value used in map
type: number
format: double
example: 2.3
slope:
description: Slope value used in map
type: number
format: double
example: 65535.0
offset:
description: Offset value used in map
type: number
format: double
example: 0.0
totalGrays:
description: Total number of gray values in original (unmapped) image
type: number
format: integer
example: 4096
minimumGray:
description: Minimum gray value in original (unmapped) image
type: number
format: integer
example: 3612
maximumGray:
description: Maximum gray value in original (unmapped) image
type: number
format: integer
example: 418
HashInfo:
description: A hash used to verify integrity of pixel data.
type: object
properties:
alg:
description: Algorithm used to compute the hash.
type: string
enum:
- MD5
- SHA256
example: MD5
hash:
description: The hash value
type: string
example: 536c36b632ea8256a50ec6396d4e7ea3
AcquisitionSession:
description: Information about an active acquisition session. This object is similar to AcquisitionSessionInfo, but with the addition of the session Id.
type: object
properties:
sessionId:
description: Unique Id for the acquisition session
type: string
example: be362e71-9c18-4f3c-a9ab-d536d7a8b4fd
deviceId:
description: Unique Id of the device
type: string
example: bc91c079-dabe-0170-1c5e-6ee92b3f4a35
clientName:
description: A client provided string used to identify the client that created this session
type: string
example: OP4 Workstation
createdOn:
description: Timestamp indicating the time that the session was created.
type: string
format: date-time
example: 11-01-2020
context:
description: An arbitrary object that can be used to store custom information about an acquisition session.
type: object
additionalProperties: {}
SensorInfo:
description: Detailed information about an intraoral sensor.
type: object
properties:
modelName:
description: Manufacturer's model name of the sensor
type: string
example: Schick 33
serialNumber:
description: Serial number of sensor
type: string
example: 213402981
brand:
description: Branding information of sensor
type: string
example: Schick
family:
description: Product family of sensor
type: string
example: Supreme
size:
description: Sensor size
type: number
enum:
- 0
- 1
- 2
example: 2
width:
description: Width of sensor in pixels
type: number
example: 2400
height:
description: Height of sensor in pixels
type: number
example: 1708
supportsBinning:
description: Flag indicating if the sensor supports Binning (see `AcquisitionInfo`)
type: boolean
version:
description: Version of software running on the sensor
type: string
example: 0.15
BatteryInfo:
description: Contains information about the current state of the battery in the device if applicable.
type: object
properties:
hasBattery:
description: Flag indicating if the device is battery powered
type: boolean
example: true
percentRemaining:
description: A number in the range 0-100 indicating the percentage of battery power remaining
type: number
format: float
example: 78.0
level:
description: "A coarse description of the battery power level. May be used to update a color scheme in the user interface \n * `Low` - The battery is low and should be recharged\n * `Good` - The battery level is sufficient\n * `Full` - The battery was recently recharged\n"
type: string
enum:
- Low
- Good
- Full
example: Good
ExposureInfo:
description: Describes the quality of the exposure. The optimal range is defined by [`low`, `high`], with an optimal exposure value defined by `optimal` If the exposure `value` is higher than the optimal range, the user could reduce the x-ray exposure to improve image quality. Likewise, if the value is lower than the optimal range, the user could increase the x-ray exposure to improve image quality.
type: object
properties:
min:
description: The minimum value of the exposure scale
type: number
format: double
example: -1.0
max:
description: The maximum value of the exposure scale
type: number
format: double
example: 1.0
low:
description: The low end of the optimal exposure range
type: number
format: double
example: -0.5
high:
description: The high end of the optimal exposure range
type: number
format: double
example: 0.5
optimum:
description: The optimal value for a good exposure in the range [low, high]
type: number
format: double
example: 0.0
value:
description: The measured exposure value.
type: number
format: double
example: -0.24723
AcquisitionStatus:
description: Describes the state of the current exposure
type: object
properties:
ready:
description: Indicates exposure readiness of the sensor. Use this property to update the user with information regarding exposure readiness.
type: boolean
example: true
state:
description: "The state of the current exposure. For a typical exposure, the acquisition state property will start with `NoAcquisitionInfo`. Once the client has supplied AcquisitionInfo with `enable` set to true and the sensor is ready to acquire, the state will transition to `Ready`. When the user exposes the sensor, the state will automatically transition to `Reading`, followed by `Processing`, `Storing`, `NewImage` and finally return to `NoAcquisitionInfo` as it prepares for the next exposure. \n\n The state property will contain one of the following values:\n * `Error` - An error has occurred and acquisition is unavailable.\n * `LowBattery` - A warning that the device does not have enough power to continue. The device must be recharged.\n * `InsufficientStorage` - There is not enough space available to store the next exposure\n * `NoHardware` - The device has been lost or is no longer connected\n * `NoSensor` - There is no sensor connected to the device\n * `Initializing` - The device is initializing the sensor and preparing for an exposure\n * `NoAcquisitionInfo` - AcquisitionInfo has not been sent yet. The client must send AcquisitionInfo prior to each exposure.\n * `Ready` - The device is ready for an exposure. Note that the device may be ready, but the client has disabled acquisition. In this case, the ready property above would be false.\n * `Reading` - An exposure occurred and the sensor is being read.\n * `Processing` - The device is processing image data received from the sensor\n * `Storing` - The device is storing image data\n * `NewImage` - Indicates that an exposure just completed and a new image is available.\n"
type: string
enum:
- Error
- LowBattery
- InsufficientStorage
- NoHardware
- NoSensor
- Initializing
- NoAcquisitionInfo
- Ready
- Reading
- Processing
- Storing
- NewImage
example: Ready
lastImageId:
description: The id of the most recent image acquired. This property will be updated when an image is acquired and the state transitions to `NewImage`.
type: string
example: 04d2b36f-3613-4c29-b130-923c93a6187f
totalImages:
description: The total number of images acquired so far in this session. This property will be updated when an image is acquired and the state transitions to `NewImage`.
type: number
example: 4
AcquisitionInfo:
description: Provides information regarding an acquisition. AcquisitionInfo must be provided prior to each exposure.
type: object
properties:
enable:
description: Enable or disable the current acquisition. Note that a client may enable acquisition, but the device may not be ready or able to perform an acquisition (i.e., no sensor connected). See `AcquisitionStatus` to determine exposure readiness.
type: boolean
example: true
rotation:
description: "Amount in degrees that the sensor is rotated in a clockwise direction with respect to the neutral position (cable exits south) as viewed from the perspective of the x-ray source. The device will rotate an acquired image accordingly based on this value.\n\n Here are some examples:\n\n 1. An anterior PA of the patient's maxilla should set this value to 0 (sensor is in the neutral position).\n 1. A bitewing on the patient's left side should set this value to 90.\n 1. An anterior PA of the patient's mandible should set this value to 180 (sensor is *upside down*).\n 1. A bitewing on the patient's right side should set this value to 270.\n \n A value of null may be used for this property which indicates no rotation is applied (effectively the same as 0). In cases where null is supplied for an update API, the current value of rotation will not be changed.\n"
type:
- number
- 'null'
enum:
- 0
- 90
- 180
- 270
example: 90
binning:
description: "The binning mode used to acquire the image. When binning mode is set to Binned2x2, the sensor combines 4 pixels in a 2x2 neighborhood to create a single pixel. The resulting image is 1/4th the size of an Unbinned image, but with lower resolution. Note that some sensors may not support binning, in which case the binning property cannot be changed.\n\n A value of null may be used for this property which indicates that the service will use the default binning mode for the attached sensor. In cases where null is supplied for an update API, the current value of binning will not be changed.\n"
type:
- string
- 'null'
enum:
- Unbinned
- Binned2x2
example: Unbinned
applyLut:
description: Flag to indicate if a dynamic gamma map should be applied to the image to optimize contrast. When this value is true, the image will be enhanced with a nonlinear map described by `LutInfo`.
type: boolean
example: true
context:
description: An arbitrary object that can be used to store custom information about an acquisition. This data will be available in the `ImageInfo.acquisitionInfo` property of the resulting image.
type: object
additionalProperties: {}
DeviceStatus:
description: "Describes the current status of the device:\n * `Available` - Device is available for an acquisition\n * `InUse` - Device is currently being used for an acquisition\n * `Unavailable` - Device is not available at this time\n * `Error` Device encountered an unspecified error\n \n The current status must be `Available` in order to use it for an acquisition. If the device status returns `InUse`, it indicates that the device is currently being used for an acquisition.\n"
type: string
enum:
- Available
- InUse
- Unavailable
- Error
example: Available
ImageInfo_2:
description: Provides detailed information about acquired images, including the format of the image data and URLs that can be used to retrieve image data. The device does not perform any enhancements or processing of the image, however, it may apply a contrast map to the image so that the image delivered is suitable for display. The contrast map is a nonlinear reversible gamma map and it is described in the `LutInfo` property.
type: object
properties:
id:
description: Id of image
type: string
example: 160c98f9-d188-4118-94c4-697161fd5caf
createdOn:
description: Timestamp indicating the time that the image was created.
type: string
format: date-time
example: 11-01-2020
width:
description: Width of image in pixels
type: number
format: integer
example: 2400
height:
description: Height of image in pixels
type: number
format: integer
example: 1708
bitsPerPixel:
description: Number of bits used to represent each pixel
type: number
format: integer
example: 12
bytesPerPixel:
description: Number of bytes required to store a pixel.
type: number
format: integer
example: 2
pixelSizeX:
description: Horizontal length of a pixel in mm
type: number
format: float
example: 0.015
pixelSizeY:
description: Vertical length of a pixel in mm
type: number
format: float
example: 0.015
previewUrl:
description: Url of a preview (thumbnail) image. This image may be compressed and resized to a smaller dimension.
type: string
example: http://example.com/api/acquisition/be362e71-9c18-4f3c-a9ab-d536d7a8b4fd/images/160c98f9-d188-4118-94c4-697161fd5caf/preview.jpg
imageUrl:
description: Url of the image. The image returned from this url will be represented as a standard uncompressed image format, such as, PNG or TIFF.
type: string
example: http://example.com/api/acquisition/be362e71-9c18-4f3c-a9ab-d536d7a8b4fd/images/160c98f9-d188-4118-94c4-697161fd5caf/image.png
pixelHash:
description: Hash of the pixel data extracted from the image available via `imageUrl`
allOf:
- $ref: '#/components/schemas/HashInfo'
deviceInfo:
$ref: '#/components/schemas/DeviceInfo'
sensorInfo:
$ref: '#/components/schemas/SensorInfo'
acquisitionInfo:
$ref: '#/components/schemas/AcquisitionInfo'
lutInfo:
$ref: '#/components/schemas/LutInfo'
exposureInfo:
$ref: '#/components/schemas/ExposureInfo'
DeviceInfo:
description: Detailed information about an intraoral device (sensor interface)
type: object
properties:
deviceId:
description: Unique Id of the device
type: string
example: bc91c079-dabe-0170-1c5e-6ee92b3f4a35
name:
description: Descriptive name of the device
type: string
example: 'Schick 33: 213402981'
iconUrl:
description: Url for an icon representing the device
type: string
example: http://example.com/api/devices/bc91c079-dabe-0170-1c5e-6ee92b3f4a35/icon.png
hasSensor:
description: Flag indicating if a sensor is connected to this device
type: boolean
status:
$ref: '#/components/schemas/DeviceStatus'
interfaceType:
description: The interface used to connect the device to the system. For example, a USB device may report *usb*, while a network based device may report *network*.
type: string
example: usb
modelName:
description: Manufacturer's model name
type: string
example: Schick AE USB Interface
serialNumber:
description: Serial number of the device
type: string
example: 34-05921813233
version:
description: Version of software running on the device
type: string
example: 1.2
battery:
$ref: '#/components/schemas/BatteryInfo'
securitySchemes:
BasicAuth:
type: http
scheme: basic
x-refined-from:
- dentsply-sirona-intraoral-filters-openapi.yml
- dentsply-sirona-intraoral-modality-openapi.yml