Created
July 13, 2021 11:08
-
-
Save kasbah/7cb78e84b924fedf5757163137a7a060 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
components: | |
schemas: | |
Action: | |
properties: | |
action: | |
type: string | |
data: {} | |
href: | |
type: string | |
id: | |
type: string | |
input: {} | |
links: | |
type: object | |
log: | |
items: | |
$ref: '#/components/schemas/LogRecord' | |
type: array | |
output: {} | |
progress: | |
type: integer | |
status: | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
Extension: | |
properties: | |
description: | |
type: string | |
links: | |
type: object | |
meta: | |
type: object | |
pythonName: | |
type: string | |
pythonObject: | |
type: string | |
title: | |
type: string | |
type: object | |
LogRecord: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
type: integer | |
lineno: | |
type: integer | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
info: | |
title: OpenFlexure Microscope openflexure:microscope:7f0b3fa7-dac6-494d-95b7-cb7d6addd215 | |
version: 2.10.0b1 | |
openapi: 3.0.2 | |
paths: | |
/api/v2/: | |
get: | |
description: "A W3C compliant Thing Description is a JSON representation\nof\ | |
\ the API, including links to different endpoints.\nYou can browse it directly\ | |
\ (e.g. in Firefox), though for \ninteractive API documentation you should\ | |
\ try the swagger-ui \ndocs, at `docs/swagger-ui/`" | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: W3C Thing Description | |
summary: Thing Description | |
tags: [] | |
/api/v2/extensions: | |
get: | |
description: 'List enabled extensions. | |
Returns a list of Extension representations, including basic documentation. | |
Describes server methods, web views, and other relevant Lab Things metadata.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Extension' | |
description: A list of available extensions and their properties | |
summary: List enabled extensions. | |
tags: | |
- extensions | |
/api/v2/actions: | |
get: | |
description: "Action queue\n\nThis endpoint returns a list of all actions that\ | |
\ have run since \nthe server was started, including ones that have completed\ | |
\ and \nactions that are still running. Each entry includes links to \nmanage\ | |
\ and inspect that action." | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/Action' | |
type: array | |
description: List of Action objects | |
summary: Action queue | |
tags: [] | |
/api/v2/actions/{task_id}: | |
delete: | |
description: 'Cancel a running Action | |
A `DELETE` request will stop a running action.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Action' | |
description: Action object that was cancelled | |
'404': | |
description: Action not found | |
summary: Cancel a running Action | |
tags: [] | |
get: | |
description: 'Show the status of an Action | |
A `GET` request will return the current status | |
of an action, including logs. For completed | |
actions, it will include the return value.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/Action' | |
description: Action object | |
'404': | |
description: Action not found | |
summary: Show the status of an Action | |
tags: [] | |
/api/v2/events/logging: | |
get: | |
description: Default method for GET requests. Returns the action queue (including | |
already finished actions) for this action | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
data: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
event: | |
type: string | |
timestamp: | |
format: date-time | |
type: string | |
type: object | |
description: Event queue | |
summary: Default method for GET requests. Returns the action queue (including | |
already finished actions) for this action | |
tags: | |
- events | |
/api/v2/extensions/org.openflexure.autofocus/static/{path}: | |
get: | |
description: Files and folders within this path will be served from a static | |
directory. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
description: Static file | |
'404': | |
description: Static file not found | |
summary: Serve static files | |
tags: [] | |
/api/v2/extensions/org.openflexure.autofocus/measure_sharpness: | |
post: | |
description: 'Measure the sharpness from the MJPEG stream | |
Take a JPEG snapshot from the camera (extracted from the live preview stream) | |
and return its size. This is the sharpness metric used by the fast autofocus | |
method.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Measure the sharpness from the MJPEG stream | |
tags: [] | |
/api/v2/extensions/org.openflexure.autofocus/autofocus: | |
get: | |
description: 'Manage actions for autofocus. | |
This `View` class will return a list of `Action` objects representing | |
each time autofocus has been run in response to a `GET` request, | |
and will start a new `Action` in response to a `POST` request.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: An ascending list of relative z positions | |
example: | |
- -300 | |
- -200 | |
- -100 | |
- 0 | |
- 100 | |
- 200 | |
- 300 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed `autofocus` actions. | |
tags: | |
- actions | |
post: | |
description: "Perform a simple autofocus routine.\n\nThe stage is moved to z\ | |
\ positions (relative to current position) in dz,\nand at each position an\ | |
\ image is captured and the sharpness function \nevaulated. We then move\ | |
\ back to the position where the sharpness was\nhighest. No interpolation\ | |
\ is performed.\n\ndz is assumed to be in ascending order (starting at -ve\ | |
\ values)\n\nThis `POST` request starts an Action, i.e. the hardware will\ | |
\ do something\nthat may continue after the HTTP request has been responded\ | |
\ to. The \nresponse will always be an Action object, that details the current\ | |
\ \nstatus of the action and provides an interface to poll for completion.\n\ | |
\nIf the action completes within a specified timeout, we will return\nan HTTP\ | |
\ status code of `200` and the return value will include any\noutput from\ | |
\ the action. If it does not complete, we will return a\n`201` response code,\ | |
\ and the action's endpoint may be polled to follow\nits progress." | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
dz: | |
description: An ascending list of relative z positions | |
example: | |
- -300 | |
- -200 | |
- -100 | |
- 0 | |
- 100 | |
- 200 | |
- 300 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: An ascending list of relative z positions | |
example: | |
- -300 | |
- -200 | |
- -100 | |
- 0 | |
- 100 | |
- 200 | |
- 300 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: An ascending list of relative z positions | |
example: | |
- -300 | |
- -200 | |
- -100 | |
- 0 | |
- 100 | |
- 200 | |
- 300 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Perform a simple autofocus routine. | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.autofocus/fast_autofocus: | |
get: | |
description: 'Manage actions for fast_autofocus. | |
This `View` class will return a list of `Action` objects representing | |
each time fast_autofocus has been run in response to a `GET` request, | |
and will start a new `Action` in response to a `POST` request.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed `fast_autofocus` actions. | |
tags: | |
- actions | |
post: | |
description: "Perform a fast down-up-down-up autofocus\n\nThis \"fast\" autofocus\ | |
\ method moves the stage continuously in Z, while\nfollowing the sharpness\ | |
\ using the MJPEG stream. This version is the\nsimplest \"fast\" autofocus\ | |
\ method, and performs the following sequence \nof moves:\n\n1. Move to `-dz/2`,\ | |
\ i.e. the bottom of the range\n2. Move up by `dz`, i.e. to the top of the\ | |
\ range, while recording the\n sharpness of the image as a function of time.\ | |
\ Record the estimated\n position of the stage when the sharpness was maximised,\ | |
\ `fz`.\n3. Move back to the bottom (by `-dz`)\n4. Move up to the position\ | |
\ where it was sharpest.\n\n## Backlash correction\nThis routine should cancel\ | |
\ out backlash: the stage is moving upwards as\nwe record the sharpnes vs\ | |
\ z data, and it is also moving upwards when\nwe make the final move to the\ | |
\ sharpest point. Mechanical backlash should\ntherefore be the same in both\ | |
\ cases.\n\nThis does not account for lag between the sharpness measurements\ | |
\ and the\nstage's motion; that has been tested for and seems not to be a\ | |
\ big issue\nmost of the time, but may need to be accounted for in the future,\ | |
\ if\nhardware or software changes increase the latency.\n\n## Sharpness metric\n\ | |
This method uses the MJPEG preview stream to estimate the sharpness of\nthe\ | |
\ image. MJPEG streams consist of a series of independent JPEG images,\n\ | |
so each frame can be looked at in isolation (though see later for an \nimportant\ | |
\ caveat). JPEG images are compressed lossily, by taking the \ndiscrete cosine\ | |
\ transform (DCT) of each 8x8 block in the image. A very\nrough precis of\ | |
\ how this works is that after the DCT, cosine components \nthat are deemed\ | |
\ unimportant (i.e. smaller than a threshold) are discarded.\nThe effect is\ | |
\ that images with lots of high-frequency information have a\nlarger file\ | |
\ size.\n\nWe look only at the size of each JPEG frame in the stream, so we\ | |
\ get a\nremarkably robust estimate of image sharpness without even opening\ | |
\ the \nimages! That's what lets us analyse 30 images/second even on the\ | |
\ very\nlimited processing power available to the Raspberry Pi 3.\n\n## Warning:\ | |
\ frame independence\nWe assume that JPEG frames are independent. This is\ | |
\ only true if the\nMJPEG stream is encoded at *constant quality* without\ | |
\ any additional\nbit rate control. By default, many streams will reduce\ | |
\ the quality\nfactor if they exceed a target bit rate, which badly affects\ | |
\ this\nmethod. We turn off bit rate limiting for the Raspberry Pi camera,\n\ | |
which fixes the problem, at the expense of sometimes failing if\nparticularly\ | |
\ sharp images appear in the stream, as there is a fairly\nsmall maximum size\ | |
\ for each JPEG frame beyond which empty images are \nreturned.\n\n## Estimation\ | |
\ of sharpness vs z\nWhat we record during an autofocus is two time series,\ | |
\ from two parallel\nthreads. One thread monitors the camera, and records\ | |
\ the size of each\nJPEG frame as a function of time. NB this is time from\ | |
\ `time.time()`\nin Python, so will not be microsecond-accurate. The other\ | |
\ thread is\nresponsible for moving the stage, and records its current Z position\ | |
\ \nbefore and after each move. Interpolating between these `(t, z)` points\n\ | |
gives us a `z` value for each JPEG size, and so we can estimate the \nJPEG\ | |
\ size as a function of `z` and hence determine the `z` value at \nwhich sharpness\ | |
\ is maximised.\n\nThis `POST` request starts an Action, i.e. the hardware\ | |
\ will do something\nthat may continue after the HTTP request has been responded\ | |
\ to. The \nresponse will always be an Action object, that details the current\ | |
\ \nstatus of the action and provides an interface to poll for completion.\n\ | |
\nIf the action completes within a specified timeout, we will return\nan HTTP\ | |
\ status code of `200` and the return value will include any\noutput from\ | |
\ the action. If it does not complete, we will return a\n`201` response code,\ | |
\ and the action's endpoint may be polled to follow\nits progress." | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Perform a fast down-up-down-up autofocus | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.autofocus/fast_up_down_up_autofocus: | |
get: | |
description: 'Manage actions for fast_up_down_up_autofocus. | |
This `View` class will return a list of `Action` objects representing | |
each time fast_up_down_up_autofocus has been run in response to a `GET` request, | |
and will start a new `Action` in response to a `POST` request.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
backlash: | |
description: Distance to undershoot, before correction move. | |
format: integer | |
minimum: 0 | |
type: number | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
initial_move_up: | |
description: Set to Flase to disable the initial move upwards | |
type: boolean | |
target_z: | |
description: Target finishing position, relative to the focus. | |
example: -100 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed `fast_up_down_up_autofocus` actions. | |
tags: | |
- actions | |
post: | |
description: "Perform a fast up-down-up autofocus, with feedback\n\nAutofocus\ | |
\ by measuring on the way down, and moving back up with feedback.\nThis is\ | |
\ a \"fast\" autofocus method, i.e. it moves the stage continuously\nwhile\ | |
\ monitoring the sharpness using the MJPEG stream. See `fast_autofocus`\n\ | |
for more details.\n\nThis autofocus method is very efficient, as it only passes\ | |
\ the peak once.\nThe sequence of moves it performs is:\n\n1. Move to the\ | |
\ top of the range `dz/2` (can be disabled)\n\n2. Move down by `dz` while\ | |
\ monitoring JPEG size to find the focus.\n\n3. Move back up to the `target_z`\ | |
\ position, relative to the sharpest image.\n\n4. Measure the sharpness,\ | |
\ and compare against the curve recorded in (2) to \\\n estimate how much\ | |
\ further we need to go. Make this move, to reach our \\\n target position.\n\ | |
\nMoving back to the target position in two steps allows us to correct for\n\ | |
backlash, by using the sharpness-vs-z curve as a rough encoder for Z. The\n\ | |
main source of error is that the curves on the way up and the way down are\ | |
\ \nnot always identical, largely due to small lateral shifts as the Z axis\ | |
\ is\nmoved.\n\nParameters:\n dz: number of steps over which to scan (optional,\ | |
\ default 2000)\n\n target_z: we aim to finish at this position, relative\ | |
\ to focus. This may \n be useful if, for example, you want to acquire\ | |
\ a stack of images in Z. \n It is optional, and the default value\ | |
\ of 0 will finish at the focus.\n\n initial_move_up: (optional, default\ | |
\ True) set this to `False` to move down\n from the starting position.\ | |
\ Mostly useful if you're able to combine\n the initial move with\ | |
\ something else, e.g. moving to the next scan point.\n\n backlash: (optional,\ | |
\ default 25) is a small extra move made in step\n 3 to help counteract\ | |
\ backlash. It should be small enough that you\n would always expect\ | |
\ there to be greater backlash than this. Too small\n might slightly\ | |
\ hurt accuracy, but is unlikely to be a big issue. Too big\n may\ | |
\ cause you to overshoot, which is a problem.\n\n mini_backlash: (optional,\ | |
\ default 25) is an alias for `backlash` and will be\n removed in due\ | |
\ course.\n\nThis `POST` request starts an Action, i.e. the hardware will\ | |
\ do something\nthat may continue after the HTTP request has been responded\ | |
\ to. The \nresponse will always be an Action object, that details the current\ | |
\ \nstatus of the action and provides an interface to poll for completion.\n\ | |
\nIf the action completes within a specified timeout, we will return\nan HTTP\ | |
\ status code of `200` and the return value will include any\noutput from\ | |
\ the action. If it does not complete, we will return a\n`201` response code,\ | |
\ and the action's endpoint may be polled to follow\nits progress." | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
backlash: | |
description: Distance to undershoot, before correction move. | |
format: integer | |
minimum: 0 | |
type: number | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
initial_move_up: | |
description: Set to Flase to disable the initial move upwards | |
type: boolean | |
target_z: | |
description: Target finishing position, relative to the focus. | |
example: -100 | |
format: integer | |
type: number | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
backlash: | |
description: Distance to undershoot, before correction move. | |
format: integer | |
minimum: 0 | |
type: number | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
initial_move_up: | |
description: Set to Flase to disable the initial move upwards | |
type: boolean | |
target_z: | |
description: Target finishing position, relative to the focus. | |
example: -100 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
backlash: | |
description: Distance to undershoot, before correction move. | |
format: integer | |
minimum: 0 | |
type: number | |
dz: | |
description: Total Z range to search over (in stage steps) | |
example: 2000 | |
format: integer | |
type: number | |
initial_move_up: | |
description: Set to Flase to disable the initial move upwards | |
type: boolean | |
target_z: | |
description: Target finishing position, relative to the focus. | |
example: -100 | |
format: integer | |
type: number | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Perform a fast up-down-up autofocus, with feedback | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.autofocus/move_and_measure: | |
get: | |
description: 'Manage actions for move_and_measure. | |
This `View` class will return a list of `Action` objects representing | |
each time move_and_measure has been run in response to a `GET` request, | |
and will start a new `Action` in response to a `POST` request.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: The relative Z move to make | |
format: integer | |
type: number | |
required: | |
- dz | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed `move_and_measure` actions. | |
tags: | |
- actions | |
post: | |
description: "Make a relative move in Z and measure dynamic sharpness\n\nThis\ | |
\ accesses the underlying method used by the fast autofocus routines, to\n\ | |
move the stage while monitoring the sharpness, as reported by the size of\n\ | |
each JPEG frame in the preview stream. It returns a dictionary with\nstage\ | |
\ position vs time and image size (i.e. sharpness) vs time.\n\nThis `POST`\ | |
\ request starts an Action, i.e. the hardware will do something\nthat may\ | |
\ continue after the HTTP request has been responded to. The \nresponse will\ | |
\ always be an Action object, that details the current \nstatus of the action\ | |
\ and provides an interface to poll for completion.\n\nIf the action completes\ | |
\ within a specified timeout, we will return\nan HTTP status code of `200`\ | |
\ and the return value will include any\noutput from the action. If it does\ | |
\ not complete, we will return a\n`201` response code, and the action's endpoint\ | |
\ may be polled to follow\nits progress." | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
dz: | |
description: The relative Z move to make | |
format: integer | |
type: number | |
required: | |
- dz | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: The relative Z move to make | |
format: integer | |
type: number | |
required: | |
- dz | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
dz: | |
description: The relative Z move to make | |
format: integer | |
type: number | |
required: | |
- dz | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Make a relative move in Z and measure dynamic sharpness | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.scan/static/{path}: | |
get: | |
description: Files and folders within this path will be served from a static | |
directory. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
description: Static file | |
'404': | |
description: Static file not found | |
summary: Serve static files | |
tags: [] | |
/api/v2/extensions/org.openflexure.scan/tile: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
autofocus_dz: | |
format: integer | |
type: number | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
fast_autofocus: | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
grid: | |
example: | |
- 3 | |
- 3 | |
- 3 | |
items: | |
format: integer | |
minimum: 1 | |
type: number | |
type: array | |
namemode: | |
example: coordinates | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
stride_size: | |
example: | |
- 2000 | |
- 1500 | |
- 100 | |
items: | |
format: integer | |
type: number | |
type: array | |
style: | |
type: string | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: '' | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
autofocus_dz: | |
format: integer | |
type: number | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
fast_autofocus: | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
grid: | |
example: | |
- 3 | |
- 3 | |
- 3 | |
items: | |
format: integer | |
minimum: 1 | |
type: number | |
type: array | |
namemode: | |
example: coordinates | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
stride_size: | |
example: | |
- 2000 | |
- 1500 | |
- 100 | |
items: | |
format: integer | |
type: number | |
type: array | |
style: | |
type: string | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
autofocus_dz: | |
format: integer | |
type: number | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
fast_autofocus: | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
grid: | |
example: | |
- 3 | |
- 3 | |
- 3 | |
items: | |
format: integer | |
minimum: 1 | |
type: number | |
type: array | |
namemode: | |
example: coordinates | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
stride_size: | |
example: | |
- 2000 | |
- 1500 | |
- 100 | |
items: | |
format: integer | |
type: number | |
type: array | |
style: | |
type: string | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
autofocus_dz: | |
format: integer | |
type: number | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
fast_autofocus: | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
grid: | |
example: | |
- 3 | |
- 3 | |
- 3 | |
items: | |
format: integer | |
minimum: 1 | |
type: number | |
type: array | |
namemode: | |
example: coordinates | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
stride_size: | |
example: | |
- 2000 | |
- 1500 | |
- 100 | |
items: | |
format: integer | |
type: number | |
type: array | |
style: | |
type: string | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: '' | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.zipbuilder/static/{path}: | |
get: | |
description: Files and folders within this path will be served from a static | |
directory. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
description: Static file | |
'404': | |
description: Static file not found | |
summary: Serve static files | |
tags: [] | |
/api/v2/extensions/org.openflexure.zipbuilder/get/{session_id}: | |
delete: | |
description: Close and delete a particular capture collection ZIP file | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Close and delete a particular capture collection ZIP file | |
tags: [] | |
get: | |
description: Download a particular capture collection ZIP file | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Download a particular capture collection ZIP file | |
tags: [] | |
/api/v2/extensions/org.openflexure.zipbuilder/get: | |
get: | |
description: '' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
data_size: | |
format: decimal | |
type: number | |
id: | |
type: string | |
links: | |
type: object | |
zip_size: | |
format: decimal | |
type: number | |
type: object | |
description: Read property | |
summary: '' | |
tags: | |
- properties | |
/api/v2/extensions/org.openflexure.zipbuilder/build: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
items: | |
type: string | |
type: array | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
required: | |
- input | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: '' | |
requestBody: | |
content: | |
application/json: | |
schema: | |
items: | |
type: string | |
type: array | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
items: | |
type: string | |
type: array | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
required: | |
- input | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
items: | |
type: string | |
type: array | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
required: | |
- input | |
type: object | |
description: Action started | |
summary: '' | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.autostorage/static/{path}: | |
get: | |
description: Files and folders within this path will be served from a static | |
directory. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
description: Static file | |
'404': | |
description: Static file not found | |
summary: Serve static files | |
tags: [] | |
/api/v2/extensions/org.openflexure.autostorage/list-locations: | |
get: | |
description: '' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Read property | |
summary: '' | |
tags: | |
- properties | |
/api/v2/extensions/org.openflexure.autostorage/location: | |
get: | |
description: '' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
example: Default | |
type: string | |
description: Read property | |
summary: '' | |
tags: | |
- properties | |
post: | |
description: '' | |
requestBody: | |
content: | |
application/json: | |
schema: | |
example: Default | |
type: string | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
example: Default | |
type: string | |
description: Write property | |
summary: '' | |
tags: | |
- properties | |
/api/v2/extensions/org.openflexure.autostorage/location-from-title: | |
post: | |
description: '' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: '' | |
tags: [] | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/static/{path}: | |
get: | |
description: Files and folders within this path will be served from a static | |
directory. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
description: Static file | |
'404': | |
description: Static file not found | |
summary: Serve static files | |
tags: [] | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/calibrate_1d: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
direction: | |
example: | |
- 1 | |
- 0 | |
- 0 | |
items: | |
format: float | |
type: number | |
type: array | |
required: | |
- direction | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Calibrate one axis of the microscope stage against the camera. | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
direction: | |
example: | |
- 1 | |
- 0 | |
- 0 | |
items: | |
format: float | |
type: number | |
type: array | |
required: | |
- direction | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
direction: | |
example: | |
- 1 | |
- 0 | |
- 0 | |
items: | |
format: float | |
type: number | |
type: array | |
required: | |
- direction | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
direction: | |
example: | |
- 1 | |
- 0 | |
- 0 | |
items: | |
format: float | |
type: number | |
type: array | |
required: | |
- direction | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Calibrate one axis of the microscope stage against the camera. | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/calibrate_xy: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Calibrate both axes of the microscope stage against the camera. | |
requestBody: | |
content: | |
application/json: {} | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Calibrate both axes of the microscope stage against the camera. | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/move_in_image_coordinates: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Move the microscope stage, such that we move by a given number | |
of pixels on the camera | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Move the microscope stage, such that we move by a given number of pixels | |
on the camera | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/closed_loop_move_in_image_coordinates: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Move the microscope stage, such that we move by a given number | |
of pixels on the camera | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
x: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- x | |
- y | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Move the microscope stage, such that we move by a given number of pixels | |
on the camera | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/test_closed_loop_spiral_scan: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
N: | |
description: The number of rings in the spiral scan | |
example: 3 | |
format: integer | |
type: number | |
x_step: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y_step: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- N | |
- x_step | |
- y_step | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Move the microscope stage, such that we move by a given number | |
of pixels on the camera | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
N: | |
description: The number of rings in the spiral scan | |
example: 3 | |
format: integer | |
type: number | |
x_step: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y_step: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- N | |
- x_step | |
- y_step | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
N: | |
description: The number of rings in the spiral scan | |
example: 3 | |
format: integer | |
type: number | |
x_step: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y_step: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- N | |
- x_step | |
- y_step | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
N: | |
description: The number of rings in the spiral scan | |
example: 3 | |
format: integer | |
type: number | |
x_step: | |
description: The number of pixels to move in X | |
example: 100 | |
format: float | |
type: number | |
y_step: | |
description: The number of pixels to move in Y | |
example: 100 | |
format: float | |
type: number | |
required: | |
- N | |
- x_step | |
- y_step | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Move the microscope stage, such that we move by a given number of pixels | |
on the camera | |
tags: | |
- actions | |
/api/v2/extensions/org.openflexure.camera-stage-mapping/get_calibration: | |
get: | |
description: Get the calibration data in JSON format. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Read property | |
summary: Get the calibration data in JSON format. | |
tags: | |
- properties | |
/api/v2/captures: | |
get: | |
description: List all image captures | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
annotations: | |
type: object | |
dataset: | |
properties: | |
id: | |
type: string | |
name: | |
type: string | |
type: | |
type: string | |
type: object | |
format: | |
type: string | |
id: | |
type: string | |
links: | |
type: object | |
name: | |
type: string | |
path: | |
description: Path of file on microscope device | |
type: string | |
tags: | |
items: | |
type: string | |
type: array | |
time: | |
format: date | |
type: string | |
type: object | |
description: Read property | |
summary: List all image captures | |
tags: | |
- captures | |
- properties | |
/api/v2/captures/{id_}: | |
delete: | |
description: Delete a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Delete a single image capture | |
tags: | |
- captures | |
get: | |
description: Description of a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Description of a single image capture | |
tags: | |
- captures | |
/api/v2/captures/{id_}/download/{filename}: | |
get: | |
description: Image data for a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Image data for a single image capture | |
tags: | |
- captures | |
/api/v2/captures/{id_}/tags: | |
put: | |
description: Add tags to a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Add tags to a single image capture | |
tags: | |
- captures | |
delete: | |
description: Delete tags from a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Delete tags from a single image capture | |
tags: | |
- captures | |
get: | |
description: Get tags associated with a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Get tags associated with a single image capture | |
tags: | |
- captures | |
/api/v2/captures/{id_}/annotations: | |
put: | |
description: Update metadata for a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Update metadata for a single image capture | |
tags: | |
- captures | |
get: | |
description: Get annotations associated with a single image capture | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Get annotations associated with a single image capture | |
tags: | |
- captures | |
/api/v2/instrument/settings: | |
put: | |
description: Update current microscope settings, including camera and stage | |
requestBody: | |
content: | |
application/json: {} | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Write property | |
summary: Update current microscope settings, including camera and stage | |
tags: | |
- properties | |
get: | |
description: Current microscope settings, including camera and stage | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Read property | |
summary: Current microscope settings, including camera and stage | |
tags: | |
- properties | |
/api/v2/instrument/settings/{route}: | |
put: | |
description: Update a nested section of the current microscope settings | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Update a nested section of the current microscope settings | |
tags: | |
- properties | |
get: | |
description: Show a nested section of the current microscope settings | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Show a nested section of the current microscope settings | |
tags: | |
- properties | |
/api/v2/instrument/state: | |
get: | |
description: Show current read-only state of the microscope | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Read property | |
summary: Show current read-only state of the microscope | |
tags: | |
- properties | |
/api/v2/instrument/state/{route}: | |
get: | |
description: Show a nested section of the current microscope state | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Show a nested section of the current microscope state | |
tags: | |
- properties | |
/api/v2/instrument/configuration: | |
get: | |
description: Show current read-only state of the microscope | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: {} | |
description: Read property | |
summary: Show current read-only state of the microscope | |
tags: | |
- properties | |
/api/v2/instrument/configuration/{route}: | |
get: | |
description: Show a nested section of the current microscope state | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Show a nested section of the current microscope state | |
tags: | |
- properties | |
/api/v2/docs/swagger.json: | |
get: | |
description: 'OpenAPI v3 documentation | |
A JSON document containing an API description in OpenAPI format' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: OpenAPI v3 documentation | |
tags: [] | |
/api/v2/docs/swagger.yaml: | |
get: | |
description: 'OpenAPI v3 documentation | |
A YAML document containing an API description in OpenAPI format' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: OpenAPI v3 documentation | |
tags: [] | |
/api/v2/instrument/stage/type: | |
put: | |
description: Set the stage geometry. | |
requestBody: | |
content: | |
application/json: | |
schema: | |
OneOf: | |
- SangaStage | |
- SangaDeltaStage | |
description: The translation stage geometry | |
example: SangaStage | |
type: | |
- string | |
- 'null' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
OneOf: | |
- SangaStage | |
- SangaDeltaStage | |
description: The translation stage geometry | |
example: SangaStage | |
type: | |
- string | |
- 'null' | |
description: Write property | |
summary: Set the stage geometry. | |
tags: | |
- properties | |
get: | |
description: Get the stage geometry. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
OneOf: | |
- SangaStage | |
- SangaDeltaStage | |
description: The translation stage geometry | |
example: SangaStage | |
type: | |
- string | |
- 'null' | |
description: Read property | |
summary: Get the stage geometry. | |
tags: | |
- properties | |
/api/v2/instrument/camera/lst: | |
get: | |
description: Get the stage geometry. | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content_type: image/png | |
description: Lens-shading table in RGB format | |
summary: Get the stage geometry. | |
tags: | |
- properties | |
/api/v2/streams/mjpeg: | |
get: | |
description: 'MJPEG stream from the microscope camera. | |
Note: While the code actually getting frame data from a camera and storing | |
it in | |
camera.frame runs in a thread, the gen(microscope.camera) generator does not. | |
This response is therefore blocking. The generator just yields the most recent | |
frame from the camera object, passed to the Flask response, and then repeats | |
until | |
the connection is closed. | |
Without monkey patching, or using a native threaded server, the stream | |
will block all proceeding requests.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content_type: multipart/x-mixed-replace | |
description: "An MJPEG stream of camera images.\n\nThis endpoint will serve\ | |
\ JPEG images sequentially, \nwith each frame separated by `--frame` and\ | |
\ a \n`Content-Type: image/jpeg` header.\nUsing this endpoint as the `src`\ | |
\ of an HTML `<img>` \ntag will result in the video stream displaying\ | |
\ without \nfurther effort.\n\nIf you save the stream to disk (e.g. with\ | |
\ `curl`), be \naware that the text in between frames may confuse some\ | |
\ \nvideo players." | |
summary: MJPEG stream from the microscope camera. | |
tags: | |
- properties | |
/api/v2/streams/snapshot: | |
get: | |
description: Single snapshot from the camera stream | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content_type: image/jpeg | |
description: Snapshot taken | |
summary: Single snapshot from the camera stream | |
tags: | |
- properties | |
/api/v2/actions/camera/capture/: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
properties: | |
annotations: | |
type: object | |
dataset: | |
properties: | |
id: | |
type: string | |
name: | |
type: string | |
type: | |
type: string | |
type: object | |
format: | |
type: string | |
id: | |
type: string | |
links: | |
type: object | |
name: | |
type: string | |
path: | |
description: Path of file on microscope device | |
type: string | |
tags: | |
items: | |
type: string | |
type: array | |
time: | |
format: date | |
type: string | |
type: object | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Create a new capture | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
properties: | |
annotations: | |
type: object | |
dataset: | |
properties: | |
id: | |
type: string | |
name: | |
type: string | |
type: | |
type: string | |
type: object | |
format: | |
type: string | |
id: | |
type: string | |
links: | |
type: object | |
name: | |
type: string | |
path: | |
description: Path of file on microscope device | |
type: string | |
tags: | |
items: | |
type: string | |
type: array | |
time: | |
format: date | |
type: string | |
type: object | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
annotations: | |
example: | |
Client: SwaggerUI | |
type: object | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
filename: | |
example: MyFileName | |
type: string | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
tags: | |
example: | |
- docs | |
items: | |
type: string | |
type: array | |
temporary: | |
description: Delete capture on shutdown | |
type: boolean | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
properties: | |
annotations: | |
type: object | |
dataset: | |
properties: | |
id: | |
type: string | |
name: | |
type: string | |
type: | |
type: string | |
type: object | |
format: | |
type: string | |
id: | |
type: string | |
links: | |
type: object | |
name: | |
type: string | |
path: | |
description: Path of file on microscope device | |
type: string | |
tags: | |
items: | |
type: string | |
type: array | |
time: | |
format: date | |
type: string | |
type: object | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Create a new capture | |
tags: | |
- actions | |
/api/v2/actions/camera/ram-capture/: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Take a non-persistant image capture. | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
use_video_port: | |
type: boolean | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content_type: image/jpeg | |
description: A JPEG image, representing the capture | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
bayer: | |
description: Include raw bayer data in capture | |
type: boolean | |
resize: | |
properties: | |
height: | |
example: 480 | |
format: integer | |
type: number | |
width: | |
example: 640 | |
format: integer | |
type: number | |
required: | |
- height | |
- width | |
type: object | |
use_video_port: | |
type: boolean | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Take a non-persistant image capture. | |
tags: | |
- actions | |
/api/v2/actions/camera/preview/start: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
window: | |
example: | |
- 0 | |
- 0 | |
- 640 | |
- 480 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Start the onboard GPU preview. | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
window: | |
example: | |
- 0 | |
- 0 | |
- 640 | |
- 480 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
window: | |
example: | |
- 0 | |
- 0 | |
- 640 | |
- 480 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
window: | |
example: | |
- 0 | |
- 0 | |
- 640 | |
- 480 | |
items: | |
format: integer | |
type: number | |
type: array | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Start the onboard GPU preview. | |
tags: | |
- actions | |
/api/v2/actions/camera/preview/stop: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: Stop the onboard GPU preview. | |
requestBody: | |
content: | |
application/json: {} | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Stop the onboard GPU preview. | |
tags: | |
- actions | |
/api/v2/actions/stage/move/: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
absolute: | |
description: Move to an absolute position | |
example: false | |
type: boolean | |
x: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
y: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
z: | |
example: 20 | |
format: integer | |
type: | |
- number | |
- 'null' | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: 'Move the microscope stage in x, y, z | |
Any axes that are not specifed will not move.' | |
requestBody: | |
content: | |
application/json: | |
schema: | |
properties: | |
absolute: | |
description: Move to an absolute position | |
example: false | |
type: boolean | |
x: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
y: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
z: | |
example: 20 | |
format: integer | |
type: | |
- number | |
- 'null' | |
type: object | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
absolute: | |
description: Move to an absolute position | |
example: false | |
type: boolean | |
x: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
y: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
z: | |
example: 20 | |
format: integer | |
type: | |
- number | |
- 'null' | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
properties: | |
absolute: | |
description: Move to an absolute position | |
example: false | |
type: boolean | |
x: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
y: | |
example: 100 | |
format: integer | |
type: | |
- number | |
- 'null' | |
z: | |
example: 20 | |
format: integer | |
type: | |
- number | |
- 'null' | |
type: object | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Move the microscope stage in x, y, z | |
tags: | |
- actions | |
/api/v2/actions/stage/zero/: | |
get: | |
description: 'List running and completed actions. | |
Actions are run with `POST` requests. See the `POST` method for this URL | |
for | |
details of the action. Sending a `GET` request to an action endpoint will | |
return | |
action descriptions for each time the action has been run, including whether | |
they | |
have completed, and any return values.' | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action queue | |
summary: List running and completed actions. | |
tags: | |
- actions | |
post: | |
description: 'Zero the stage coordinates. | |
Does not move the stage, but rather makes the current position read as [0, | |
0, 0]' | |
requestBody: | |
content: | |
application/json: {} | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
'200': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action completed immediately | |
'201': | |
content: | |
application/json: | |
schema: | |
properties: | |
action: | |
type: string | |
data: | |
type: string | |
href: | |
type: string | |
id: | |
type: string | |
input: | |
type: string | |
links: | |
type: object | |
log: | |
items: | |
properties: | |
created: | |
format: date-time | |
type: string | |
filename: | |
type: string | |
levelname: | |
type: string | |
levelno: | |
format: integer | |
type: number | |
lineno: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
type: array | |
output: | |
type: string | |
progress: | |
format: integer | |
type: number | |
status: | |
OneOf: | |
- pending | |
- running | |
- completed | |
- cancelled | |
- error | |
type: string | |
timeCompleted: | |
format: date-time | |
type: string | |
timeRequested: | |
format: date-time | |
type: string | |
type: object | |
description: Action started | |
summary: Zero the stage coordinates. | |
tags: | |
- actions | |
/api/v2/log: | |
get: | |
description: Most recent 1mb of log output | |
responses: | |
5XX: | |
content: | |
application/json: | |
schema: | |
properties: | |
code: | |
format: integer | |
type: number | |
message: | |
type: string | |
name: | |
type: string | |
type: object | |
description: Unexpected error | |
summary: Most recent 1mb of log output | |
tags: [] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment