diff --git a/docs/source/Asset.yaml b/docs/specs/Asset.yaml similarity index 100% rename from docs/source/Asset.yaml rename to docs/specs/Asset.yaml diff --git a/docs/source/AssetType.yaml b/docs/specs/AssetType.yaml similarity index 100% rename from docs/source/AssetType.yaml rename to docs/specs/AssetType.yaml diff --git a/docs/specs/FlowEndpointBRT.yaml b/docs/specs/FlowEndpointBRT.yaml new file mode 100644 index 00000000..2ee15531 --- /dev/null +++ b/docs/specs/FlowEndpointBRT.yaml @@ -0,0 +1,21 @@ +post: + summary: Create a BRT workflow run + requestBody: + required: true + content: + application/json: + schema: + $ref: "#definitions/RequestBody" + response: + 200: + description: OK + content: + application/json: + schema: + $ref: PipelineCallback.yaml + +definitions: + RequestBody: + allOf: + - $ref: RequestBodyShared.yaml + - $ref: RequestBodyBRT.yaml diff --git a/docs/specs/FlowEndpointCZI.yaml b/docs/specs/FlowEndpointCZI.yaml new file mode 100644 index 00000000..4d9a0b89 --- /dev/null +++ b/docs/specs/FlowEndpointCZI.yaml @@ -0,0 +1,21 @@ +post: + summary: Create a CZI workflow run + requestBody: + required: true + content: + application/json: + schema: + $ref: "#definitions/RequestBody" + response: + 200: + description: OK + content: + application/json: + schema: + $ref: PipelineCallback.yaml + +definitions: + RequestBody: + allOf: + - $ref: RequestBodyShared.yaml + # - $ref: RequestBodyCZI.yaml diff --git a/docs/specs/FlowEndpointDM.yaml b/docs/specs/FlowEndpointDM.yaml new file mode 100644 index 00000000..812f2388 --- /dev/null +++ b/docs/specs/FlowEndpointDM.yaml @@ -0,0 +1,21 @@ +post: + summary: Create a DM workflow run + requestBody: + required: true + content: + application/json: + schema: + $ref: "#definitions/RequestBody" + response: + 200: + description: OK + content: + application/json: + schema: + $ref: PipelineCallback.yaml + +definitions: + RequestBody: + allOf: + - $ref: RequestBodyShared.yaml + # - $ref: RequestBodyDM.yaml diff --git a/docs/specs/FlowEndpointLRG.yaml b/docs/specs/FlowEndpointLRG.yaml new file mode 100644 index 00000000..57387628 --- /dev/null +++ b/docs/specs/FlowEndpointLRG.yaml @@ -0,0 +1,21 @@ +post: + summary: Create a LRG workflow run + requestBody: + required: true + content: + application/json: + schema: + $ref: "#definitions/RequestBody" + response: + 200: + description: OK + content: + application/json: + schema: + $ref: PipelineCallback.yaml + +definitions: + RequestBody: + allOf: + - $ref: RequestBodyShared.yaml + # - $ref: RequestBodyLRG.yaml diff --git a/docs/specs/FlowEndpointSEM.yaml b/docs/specs/FlowEndpointSEM.yaml new file mode 100644 index 00000000..0669edcd --- /dev/null +++ b/docs/specs/FlowEndpointSEM.yaml @@ -0,0 +1,21 @@ +post: + summary: Create a SEM workflow run + requestBody: + required: true + content: + application/json: + schema: + $ref: "#definitions/RequestBody" + response: + 200: + description: OK + content: + application/json: + schema: + $ref: PipelineCallback.yaml + +definitions: + RequestBody: + allOf: + - $ref: RequestBodyShared.yaml + - $ref: RequestBodySEM.yaml diff --git a/docs/source/ImageSet.yaml b/docs/specs/ImageSet.yaml similarity index 100% rename from docs/source/ImageSet.yaml rename to docs/specs/ImageSet.yaml diff --git a/docs/source/NeuroglancerMetadata.yaml b/docs/specs/NeuroglancerMetadata.yaml similarity index 100% rename from docs/source/NeuroglancerMetadata.yaml rename to docs/specs/NeuroglancerMetadata.yaml diff --git a/docs/source/PipelineCallback.yaml b/docs/specs/PipelineCallback.yaml similarity index 100% rename from docs/source/PipelineCallback.yaml rename to docs/specs/PipelineCallback.yaml diff --git a/docs/specs/RequestBodyBRT.yaml b/docs/specs/RequestBodyBRT.yaml new file mode 100644 index 00000000..7a4b7841 --- /dev/null +++ b/docs/specs/RequestBodyBRT.yaml @@ -0,0 +1,32 @@ +type: object +required: + - gold + - focus + - montage + - fiducialless + - trackingMethod + - TwoSurfaces + - TargetNumberOfBeads + - LocalAlignments + - THICKNESS +properties: + LocalAlignments: + type: integer + THICKNESS: + type: integer + TargetNumberOfBeads: + type: integer + TwoSurfaces: + type: integer + adoc_template: + type: string + fiducialless: + type: integer + focus: + type: integer + gold: + type: integer + montage: + type: integer + trackingMethod: + type: integer diff --git a/docs/specs/RequestBodySEM.yaml b/docs/specs/RequestBodySEM.yaml new file mode 100644 index 00000000..35a47171 --- /dev/null +++ b/docs/specs/RequestBodySEM.yaml @@ -0,0 +1,5 @@ +type: object +required: +properties: + tilt_angle: + type: float diff --git a/docs/specs/RequestBodyShared.yaml b/docs/specs/RequestBodyShared.yaml new file mode 100644 index 00000000..d8a3a8bf --- /dev/null +++ b/docs/specs/RequestBodyShared.yaml @@ -0,0 +1,19 @@ +type: object +required: + - input_dir + - file_share +properties: + input_dir: + type: string + file_share: + type: string + file_name: + type: string + callback_url: + type: string + token: + type: string + no_api: + type: string + keep_workdir: + type: boolean diff --git a/docs/source/demo_callback.json b/docs/specs/demo_callback.json similarity index 100% rename from docs/source/demo_callback.json rename to docs/specs/demo_callback.json diff --git a/docs/source/metadata.yml b/docs/specs/metadata.yml similarity index 96% rename from docs/source/metadata.yml rename to docs/specs/metadata.yml index d6c65dbe..1506f3d4 100644 --- a/docs/source/metadata.yml +++ b/docs/specs/metadata.yml @@ -4,7 +4,7 @@ # Note: # - Floor/Limit is used for window, while Min/Max is used for range. # - Floor/Limit has a range wider or equal to Min/Max -"metadata": { +"metadata 1": { "neuroglancerPrecomputedMin": "-53", "neuroglancerPrecomputedMax": "58", "neuroglancerPrecomputedFloor": "-571", @@ -16,7 +16,7 @@ # - removed "neuroglancerPrecomputed" prefix as that format is no longer being used # - Changed two values to an array of integers for stringified number # - Renamed to the parameter name of the invlerp -"metadata": { +"metadata 2": { "shader": "Grayscale", "dimensions": "XYZ", "shaderParameters": { @@ -27,7 +27,7 @@ # Close to legacy metadata specifications - not preferred -"metadata": { +"metadata 3": { "shader": "Grayscale", "dimensions": "XYZ", "shaderParameters": { @@ -40,7 +40,7 @@ # Proposed RGB specification ( could be dimension:XYZ in the future ) -"metadata": { +"metadata 4": { "shader" : "RGB", "dimensions" : "XY", "shaderParameters" : {} @@ -48,7 +48,7 @@ # Proposed MultiChannel metadata -"metadata": { +"metadata 5": { "shader": "MultiChannel", "dimensions": "XY", "shaderParameters": { diff --git a/docs/specs/openapi.yaml b/docs/specs/openapi.yaml new file mode 100644 index 00000000..d3e630f2 --- /dev/null +++ b/docs/specs/openapi.yaml @@ -0,0 +1,24 @@ +openapi: 3.1.0 +info: + title: Hedwig Workflow API + description: REST API for Hedwig Workflows + version: 0.1.0 + license: + name: BSD 3-Clause License + identifier: BSD 3-Clause License + +servers: + - url: https://prefect1.hedwig-workflow-api.niaiddev.net/default/flow/ + description: Dev API + +paths: + /11bab698-95bd-47a2-95b4-e7188cb4903d: + $ref: BRTFlowEndpoint.yaml + /966ec553-3e8e-42ce-80e1-263f6d4ea58f: + $ref: CZIFlowEndpoint.yaml + /de6e9025-715a-49c1-88cf-58213e0003ed: + $ref: DMFlowEndpoint.yaml + /375bec74-d33d-4a3d-893a-b4a64e4628fc: + $ref: LRGFlowEndpoint.yaml + /090d8f02-c46c-4464-866f-b268e2b5d5be: + $ref: SEMFlowEndpoint.yaml