EchoSMs anatomical datastore schema
This schema defines a structure for storing fish and plankton acoustic scattering model data, mainly for input to the echoSMs anatomical datastore.
The reference version of the schema (formatted as a JSON-schema file) will always be available in the echoSMs github repository.
Dataset
The dataset properties are:
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| dataset_id | yes | A unique identifier for this dataset, generated by the data storage system. | string | |
| description | yes | A description of the dataset. | string | |
| anatomical_category | yes | The type of anatomy that this dataset contains. | enum of string | one of tissue, organ, organ system, organism, other |
| date_first_added | yes | The date when these metadata were first created, in RFC9557 format. | string | |
| date_last_modified | yes | The date when these metadata were last modified, in RFC9557 format. | string | |
| aphiaID | yes | The WoRMS aphiaID of the species in this dataset. | integer | minimum: 1 |
| class | no | Taxonomical hierarchy level of class that is consistent with WoRMS. | string | |
| order | no | Taxonomical hierarchy level of order that is consistent with WoRMS. | string | |
| family | no | Taxonomical hierarchy level of family that is consistent with WoRMS. | string | |
| genus | no | Taxonomical hierarchy level of genus that is consistent with WoRMS. | string | |
| species | no | Taxonomical hierarchy level of species that is consistent with WoRMS. | string | |
| vernacular_name | no | A vernacular name for the organism. | string | |
| reference | no | A literature reference for the dataset. If available, a DOI or URI is recommended. | string | |
| activity_name | no | Name of the data collection activity (if any), such as voyage code, project name, etc. | string | |
| location | no | Name or description of the location where organism was collected. | string | |
| latitude | no | Latitude of location where organism was collected. | number | minimum: -90 maximum: 90 |
| latitude_units | yes, if latitude is present |
Units for latitude. Positive values indicate north of the equator. | enum of string | must be: degrees_north |
| longitude | no | Longitude of location where organism was collected. | number | minimum: -180 maximum: 180 |
| longitude_units | yes, if longitude is present |
Units for longitude. Positive values indicate east of the prime meridian. | enum of string | must be: degrees_east |
| depth | no | Depth below surface of organism collection location. | number | minimum: 0 |
| depth_units | yes, if depth is present |
Units for depth. | enum of string | must be: m |
| date_collection | yes | The date or date range when the dataset was collected, in RFC9557 format. | string | |
| date_image | yes | The date when the dataset was imaged, in RFC9557 format. | string | |
| investigators | no | Names or identifying descriptions of persons or organisations that created this dataset. | array of string | |
| data_collection_description | no | Description of data collection details. | string | |
| note | no | Explanatory notes about the shape data. | string | |
| imaging_method | yes | Method used to obtain the raw image data. | enum of string | one of radiograph, CT, MRI, photograph, 3D scanner, unknown, other, not applicable |
| shape_method | yes | Method used to obtain the specimen shape. | enum of string | one of manual outline of image(s), automated outline of images(s), 3D scan of object, not applicable, unknown, other |
| shape_method_processing | no | Description of processing used to convert raw images into shapes, including any manipulation of image data (for example, smoothing, edge enhancement, rotation, etc). | string | |
| model_type | no | Original scattering model type. | enum of string | one of KRM, KA, DWBA, PTDWBA, FEM, BEM, MFS, unknown, other |
| sound_speed_method | no | Method used to obtain sound speed in the feature. | enum of string | one of density to sound speed relationship, time-of-flight, literature, unknown, other |
| mass_density_method | no | Method used to obtain density in the feature. | enum of string | one of CT density, liquid displacement, literature, unknown, other |
| dataset_size | yes | Size of the entire dataset (including raw data). Generated by the data store server. | number | minimum: 0 |
| dataset_size_units | yes | Units for dataset_size. | enum of string | must be: megabyte |
| specimens | yes | Specimen data. | Array of object | minItems: 1 |
Specimens
The specimens properties are:
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| specimen_id | yes | A name that uniquely identifies each specimen in a dataset. | string | |
| specimen_condition | yes | Condition of the specimen when it was imaged. | enum of string | one of fresh, frozen, thawed, unknown, other |
| length | yes | Length of the specimen. | number | minimum: 0 |
| length_units | yes | Units for lengths, dimensions, and sizes. | enum of string | must be: m |
| weight | no | Weight of the specimen. | number | minimum: 0 |
| weight_units | yes, if weight is present |
Units for weight. | enum of string | must be: kg |
| sex | no | Sex of specimen | enum of string | one of female, male, immature, unknown |
| length_type | yes | Type of length measurement. | enum of string | one of total length, fork length, standard length, lower jaw fork length, total width, carapace length, curved fork length, disc width, stretched total length, CCAMLR krill - front of eye to tip of telson, unknown, other |
| shape_type | yes | Type of shape data used for this specimen. | enum of string | one of outline, surface, voxels, categorised voxels |
| shapes | yes | Shape data. | Array of object | minItems: 1 |
Shapes
The shapes properties are:
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| name | no | Name for the shape. | string | |
| anatomical_type | yes | Type of anatomical feature represented by this shape. | enum of string | one of body, swimbladder, backbone, bone, muscle, head, eye, organs, appendages, inclusion, other |
and includes these properties as per the value of shape_type
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| shape_units | yes | Units for lengths, dimensions, and sizes. | enum of string | must be: m |
| boundary | yes | Type of reflecting boundary for this shape. | enum of string | one of fixed-rigid, pressure-release, fluid-filled, elastic |
| x | yes | x-coordinate of shape centreline. | array of number | minItems: 1 |
| y | yes | y-coordinate of shape centreline. | array of number | minItems: 1 |
| z | yes | z-coordinate of shape centreline. | array of number | minItems: 1 |
| height | yes | Height of the shape at each centreline point. | array of number | minItems: 1 minimum: 0 |
| width | yes | Width of the shape at each centreline point. | array of number | minItems: 1 minimum: 0 |
| mass_density | no | Mass density of shape. | array of number | minItems: 1 minimum: 0 |
| mass_density_units | yes, if mass_density is present |
Units for mass density. | enum of string | must be: kg/m^3 |
| sound_speed_compressional | no | Compressional sound speed in shape. | array of number | minItems: 1 minimum: 0 |
| sound_speed_compressional_units | yes, if sound_speed_compressional is present |
Units for sound speed. | enum of string | must be: m/s |
| sound_speed_shear | no | Transversal (shear) sound speed in shape. | array of number | minItems: 1 minimum: 0 |
| sound_speed_shear_units | yes, if sound_speed_shear is present |
Units for sound speed. | enum of string | must be: m/s |
| mass_density_ratio | no | Ratio of mass densities of the shape and the surrounding material or shape. | array of number | minItems: 1 minimum: 0 |
| sound_speed_ratio | no | Ratio of compressional sound speed of the and the surrounding material or shape. | array of number | minItems: 1 minimum: 0 |
| youngs_modulus | no | Young's modulus, E, of the shape. | array of number | minItems: 1 minimum: 0 |
| youngs_modulus_units | yes, if youngs_modulus is present |
Units for Young's modulus. | enum of string | must be: Pa |
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| shape_units | yes | Units for lengths, dimensions, and sizes. | enum of string | must be: m |
| boundary | yes | Type of reflecting boundary for this shape. | enum of string | one of fixed-rigid, pressure-release, fluid-filled, elastic |
| x | yes | x-coordinates of surface nodes. | array of number | minItems: 1 |
| y | yes | y-coordinates of surface nodes. | array of number | minItems: 1 |
| z | yes | z-coordinates of surface nodes. | array of number | minItems: 1 |
| facets_0 | yes | Zero-based indices into x, y, and z that define node 0 of a surface triangle. | array of integer | minItems: 1 minimum: 0 |
| facets_1 | yes | Zero-based indices into x, y, and z that define node 1 of a surface triangle. | array of integer | minItems: 1 minimum: 0 |
| facets_2 | yes | Zero-based indices into x, y, and z that define node 2 of a surface triangle. | array of integer | minItems: 1 minimum: 0 |
| normals_x | yes | x-component of outward-pointing normal vector for each facet. | array of number | minItems: 1 |
| normals_y | yes | y-component of outward-pointing normal vector for each facet. | array of number | minItems: 1 |
| normals_z | yes | z-component of outward-pointing normal vector for each facet. | array of number | minItems: 1 |
| mass_density | no | Mass density of shape. | number | minimum: 0 |
| mass_density_units | yes, if mass_density is present |
Units for mass density. | enum of string | must be: kg/m^3 |
| sound_speed_compressional | no | Compressional sound speed in shape. | number | minimum: 0 |
| sound_speed_compressional_units | yes, if sound_speed_compressional is present |
Units for sound speed. | enum of string | must be: m/s |
| sound_speed_shear | no | Transversal (shear) sound speed in shape. | number | minimum: 0 |
| sound_speed_shear_units | yes, if sound_speed_shear is present |
Units for sound speed. | enum of string | must be: m/s |
| mass_density_ratio | no | Ratio of mass densities of the shape and the surrounding material or shape. | number | minimum: 0 |
| sound_speed_ratio | no | Ratio of compressional sound speed of the and the surrounding material or shape. | number | minimum: 0 |
| youngs_modulus | no | Young's modulus, E, of the shape. | number | minimum: 0 |
| youngs_modulus_units | yes, if youngs_modulus is present |
Units for Young's modulus. | enum of string | must be: Pa |
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| voxel_size | yes | Voxel size, ordered x, y, z. | array of number | minItems: 3 maxItems: 3 minimum: 0 |
| voxel_size_units | yes | Units for lengths, dimensions, and sizes. | enum of string | must be: m |
| mass_density | yes | Mass density of voxels. | array of array of array of number | minItems: 1 minItems: 1 minItems: 1 minimum: 0 |
| mass_density_units | yes | Units for mass density. | enum of string | must be: kg/m^3 |
| sound_speed_compressional | yes | Compressional sound speed of voxels. | array of array of array of number | minItems: 1 minItems: 1 minItems: 1 minimum: 0 |
| sound_speed_compressional_units | yes | Units for sound speed. | enum of string | must be: m/s |
| Property | Required | Description | Type | Constraints |
|---|---|---|---|---|
| voxel_size | yes | Voxel size, ordered x, y, z. | array of number | minItems: 3 maxItems: 3 minimum: 0 |
| voxel_size_units | yes | Units for lengths, dimensions, and sizes. | enum of string | must be: m |
| categories | yes | Voxel categories | array of array of array of integer | minItems: 1 minItems: 1 minItems: 1 minimum: 0 |
| mass_density | yes | Mass density of voxels categories. | array of number | minItems: 1 minimum: 0 |
| mass_density_units | yes | Units for mass density. | enum of string | must be: kg/m^3 |
| sound_speed_compressional | yes | Compressional sound speed of voxel categories. | array of number | minItems: 1 minimum: 0 |
| sound_speed_compressional_units | yes | Units for sound speed. | enum of string | must be: m/s |