diff --git a/schemas/dataTypes/image.schema.tpl.json b/schemas/dataTypes/image.schema.tpl.json new file mode 100644 index 00000000..42b321f8 --- /dev/null +++ b/schemas/dataTypes/image.schema.tpl.json @@ -0,0 +1,37 @@ +{ + "_categories": [ + "image" + ], + "required": [ + "coordinateSpace" + ], + "properties": { + "additionalRemarks": { + "type": "string", + "_instruction": "Enter any additional remarks concerning this image." + }, + "compressionType": { + "_instruction": "Add the method that was used to compress this image.", + "_linkedTypes": [ + "controlledTerms:ImageCompressionType" + ] + }, + "compressionRatio": { + "_instruction": "Enter the percentage that was used to reduce the size of this image compared to the original file size.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "coordinateSpace": { + "_instruction": "Add the coordinate space in which this image exists in.", + "_linkedTypes": [ + "sands:CommonCoordinateSpaceVersion", + "sands:CustomCoordinateSpace" + ] + }, + "lookupLabel": { + "type": "string", + "_instruction": "Enter a lookup label for this image that may help you to find this instance more easily." + } + } +} diff --git a/schemas/dataTypes/imageStack.schema.tpl.json b/schemas/dataTypes/imageStack.schema.tpl.json new file mode 100644 index 00000000..89e880fa --- /dev/null +++ b/schemas/dataTypes/imageStack.schema.tpl.json @@ -0,0 +1,58 @@ +{ + "_type": "core:ImageStack", + "_extends": "dataTypes/rasterBasedImage.schema.tpl.json", + "required": [ + "numberOfImages" + ], + "properties": { + "dataLocation": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add the location of the file in which this image stack is stored or add the location of all raster-based images that this image stack is composed of.", + "_linkedTypes": [ + "core:File", + "core:Image", + "core:Volume" + ] + }, + "dimension": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "_instruction": "Enter the dimensions of this raster graphic as [x, y, z].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "imageSpacing": { + "_instruction": "Enter the distance between the images along a shared axis with negative values indicating an overlap of images.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "isPartOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all volumes in which this image stack is used or shown in a greater context.", + "_linkedTypes": [ + "core:Volume" + ] + }, + "numberOfImages": { + "type": "integer", + "minimum": 2, + "_instruction": "Enter the number of images that this image stack is composed of." + }, + "resolution": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "_instruction": "Enter the size of a single voxel as [x, y, z] of this image stack.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + } + } +} diff --git a/schemas/dataTypes/polygonalMesh.schema.tpl.json b/schemas/dataTypes/polygonalMesh.schema.tpl.json new file mode 100644 index 00000000..08908d54 --- /dev/null +++ b/schemas/dataTypes/polygonalMesh.schema.tpl.json @@ -0,0 +1,56 @@ +{ + "_type": "core:polygonalMesh", + "_extends": "dataTypes/vectorBasedImage.schema.tpl.json", + "required": [ + "resolution", + "vertexCount", + "faceCount", + "faceDimension" + ], + "properties": { + "dimension": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "_instruction": "Enter the dimensions of this polygonal mesh as [x, y, z].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "isPartOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all vector-based images in which this polygonal mesh is used or shown in a greater context.", + "_linkedTypes": [ + "core:PolygonalMesh", + "core:Volume" + ] + }, + "resolution": { + "_instruction": "Enter the density of vertices of this polygonal mesh.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "vertexCount": { + "type": "integer", + "minimum": 3, + "_instruction": "Enter the number of vertices of this polygonal mesh." + }, + "faceCount": { + "type": "integer", + "minimum": 1, + "_instruction": "Enter the number of faces of this polygonal mesh." + }, + "faceDimension": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Enter all possible face dimensions of this polygonal mesh based on the number vertices forming each face.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + } +} diff --git a/schemas/dataTypes/rasterBasedImage.schema.tpl.json b/schemas/dataTypes/rasterBasedImage.schema.tpl.json new file mode 100644 index 00000000..df2fcff9 --- /dev/null +++ b/schemas/dataTypes/rasterBasedImage.schema.tpl.json @@ -0,0 +1,49 @@ +{ + "_extends": "dataTypes/image.schema.tpl.json", + "required": [ + "dataLocation", + "dimension", + "resolution" + ], + "properties": { + "device": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all devices used to capture this raster-based image.", + "_linkedCategories": [ + "deviceUsage" + ] + }, + "colorDepth": { + "_instruction": "Enter the number of bits used to represent the color of a single pixel or voxel in this image.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "dataLocation": { + "_instruction": "Add the location of the file in which this raster-based image is stored.", + "_linkedTypes": [ + "core:File" + ] + }, + "dimension": { + "type": "array", + "maxItems": 3, + "minItems": 2, + "_instruction": "Enter the dimensions of this raster-based image for two-dimensional spaces as [x, y] or for three-dimensional space as [x, y, z].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "resolution": { + "type": "array", + "maxItems": 3, + "minItems": 2, + "_instruction": "Enter the size of a single pixel as [x, y] or voxel as [x, y, z] of this raster-based image.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + } + } +} diff --git a/schemas/dataTypes/rasterGraphic.schema.tpl.json b/schemas/dataTypes/rasterGraphic.schema.tpl.json new file mode 100644 index 00000000..25d52249 --- /dev/null +++ b/schemas/dataTypes/rasterGraphic.schema.tpl.json @@ -0,0 +1,34 @@ +{ + "_type": "core:RasterGraphic", + "_extends": "dataTypes/rasterBasedImage.schema.tpl.json", + "properties": { + "dimension": { + "type": "array", + "maxItems": 2, + "minItems": 2, + "_instruction": "Enter the dimensions of this raster graphic as [x, y].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "isPartOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all raster-based images in which this image is used or shown in a greater context.", + "_linkedTypes": [ + "core:RasterGraphic", + "core:Volume" + ] + }, + "resolution": { + "type": "array", + "maxItems": 2, + "minItems": 2, + "_instruction": "Enter the size of a single pixel as [x, y] of this raster graphic.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + } + } +} diff --git a/schemas/dataTypes/vectorBasedImage.schema.tpl.json b/schemas/dataTypes/vectorBasedImage.schema.tpl.json new file mode 100644 index 00000000..4042b009 --- /dev/null +++ b/schemas/dataTypes/vectorBasedImage.schema.tpl.json @@ -0,0 +1,30 @@ +{ + "_extends": "dataTypes/image.schema.tpl.json", + "required": [ + "dataLocation", + "dimension" + ], + "properties": { + "dataLocation": { + "_instruction": "Add the location of the file in which this vector-based image is stored.", + "_linkedTypes": [ + "core:File" + ] + }, + "dimension": { + "type": "array", + "maxItems": 3, + "minItems": 2, + "_instruction": "Enter the dimensions of this vector-based image for two-dimensional spaces as [x, y] or for three-dimensional space as [x, y, z].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + }, + "software": { + "_instruction": "Add the software version that was used to create this vector-based image.", + "_embeddedTypes": [ + "core:SoftwareVersion" + ] + } + } +} diff --git a/schemas/dataTypes/vectorGraphic.schema.tpl.json b/schemas/dataTypes/vectorGraphic.schema.tpl.json new file mode 100644 index 00000000..81de4f72 --- /dev/null +++ b/schemas/dataTypes/vectorGraphic.schema.tpl.json @@ -0,0 +1,15 @@ +{ + "_type": "core:VectorGraphic", + "_extends": "dataTypes/vectorBasedImage.schema.tpl.json", + "properties": { + "dimension": { + "type": "array", + "maxItems": 2, + "minItems": 2, + "_instruction": "Enter the dimensions of this vector-based image as [x, y].", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + } + } +} diff --git a/schemas/dataTypes/volume.schema.tpl.json b/schemas/dataTypes/volume.schema.tpl.json new file mode 100644 index 00000000..1e3f738e --- /dev/null +++ b/schemas/dataTypes/volume.schema.tpl.json @@ -0,0 +1,30 @@ +{ + "_type": "core:Volume", + "_extends": "dataTypes/rasterBasedImage.schema.tpl.json", + "properties": { + "dimension": { + "type": "integer", + "maximum": 3, + "minimum": 3, + "_instruction": "Enter the dimensions of this raster graphic as [x, y, z]." + }, + "isPartOf": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "_instruction": "Add all volumes in which this volume is used or shown in a greater context.", + "_linkedTypes": [ + "core:Volume" + ] + }, + "resolution": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "_instruction": "Enter the size of a single voxel as [x, y, z] of this raster graphic.", + "_embeddedTypes": [ + "core:QuantitativeValue" + ] + } + } +}