diff --git a/examples/example_material_radar_reflectance.xompt b/examples/example_material_radar_reflectance.xompt index 5c9fa231..c71dd228 100644 --- a/examples/example_material_radar_reflectance.xompt +++ b/examples/example_material_radar_reflectance.xompt @@ -12,7 +12,7 @@ "source": "measurement" }, "reflectance": { - "wavelengthRange": [ 0.00365601, 0.00399723 ], + "wavelengths": [ 0.00365601, 0.00399723 ], "lookupTable": [ [0.00365601, -1.553343, -1.553343, 0.000000, 0.000000, 6.78751e-10, -0.330338 ], [0.00365601, -1.553343, -1.553343, 0.000000, 1.570796, 6.78751e-10, -2.72048 ], diff --git a/schemas/mapping_schema.json b/schemas/mapping_schema.json index 970b88ed..8bb50f1d 100644 --- a/schemas/mapping_schema.json +++ b/schemas/mapping_schema.json @@ -36,15 +36,15 @@ }, "license": { "type": "string", - "description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + "description": "Describes the license for mapping table distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." }, "author": { "type": "string", - "description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." + "description": "Lists the author(s) of the mapping table as a name, email, or company. Multiple authors should be comma-separated." }, "creationDate": { "type": "string", - "description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "description": "The date and time of mapping table creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", "pattern": "^\\d{8}T\\d{6}Z$" } }, diff --git a/schemas/material_brdf_schema.json b/schemas/material_brdf_schema.json index dde7bd30..c112b904 100644 --- a/schemas/material_brdf_schema.json +++ b/schemas/material_brdf_schema.json @@ -36,15 +36,15 @@ }, "license": { "type": "string", - "description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + "description": "Describes the license for material distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." }, "author": { "type": "string", - "description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." + "description": "Lists the author(s) of the material as a name, email, or company. Multiple authors should be comma-separated." }, "creationDate": { "type": "string", - "description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "description": "The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", "pattern": "^\\d{8}T\\d{6}Z$" }, "source": { diff --git a/schemas/material_emp_schema.json b/schemas/material_emp_schema.json index 0a9f596d..def91042 100644 --- a/schemas/material_emp_schema.json +++ b/schemas/material_emp_schema.json @@ -36,15 +36,15 @@ }, "license": { "type": "string", - "description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + "description": "Describes the license for material distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." }, "author": { "type": "string", - "description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." + "description": "Lists the author(s) of the material as a name, email, or company. Multiple authors should be comma-separated." }, "creationDate": { "type": "string", - "description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "description": "The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", "pattern": "^\\d{8}T\\d{6}Z$" }, "source": { diff --git a/schemas/material_optical_schema.json b/schemas/material_optical_schema.json index 210422eb..db26abca 100644 --- a/schemas/material_optical_schema.json +++ b/schemas/material_optical_schema.json @@ -36,15 +36,15 @@ }, "license": { "type": "string", - "description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + "description": "Describes the license for material distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." }, "author": { "type": "string", - "description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." + "description": "Lists the author(s) of the material as a name, email, or company. Multiple authors should be comma-separated." }, "creationDate": { "type": "string", - "description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "description": "The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", "pattern": "^\\d{8}T\\d{6}Z$" }, "source": { diff --git a/schemas/material_reflectance_schema.json b/schemas/material_reflectance_schema.json index d6a1569a..68a2e091 100644 --- a/schemas/material_reflectance_schema.json +++ b/schemas/material_reflectance_schema.json @@ -1,130 +1,129 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "metadata": { - "type": "object", - "description": "Metadata about the material.", - "properties": { - "name": { - "type": "string", - "description": "Name of the material." - }, - "description": { - "type": "string", - "description": "Short description of the material in 2 - 3 sentences." - }, - "uuid": { - "type": "string", - "description": "Universally unique identifier for the reflectance table in 8-4-4-4-12 format, see https://en.wikipedia.org/wiki/Universally_unique_identifier. The uuid stays the same, even if version is updated.", - "pattern": "\\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\b$" - }, - "materialVersion": { - "type": "string", - "description": "Version of the material.", - "pattern": "^\\d+\\.\\d+\\.\\d+$" - }, - "creationDate": { - "type": "string", - "description": "Creation date of the material in the format YYYYMMDDTHHMMSSZ.", - "pattern": "^\\d{8}T\\d{6}Z$" - }, - "openMaterialVersion": { - "type": "string", - "description": "Version of OpenMATERIAL.", - "pattern": "^\\d+\\.\\d+\\.\\d+$" - }, - "copyright": { - "type": "string", - "description": "Copyright information with year and company." - }, - "license": { - "type": "string", - "description": "License information. For common open source licenses, provide an SPDX identifier. For other types of licenses, provide an URL to a webpage with the license or the filename of a separately provided license file." - }, - "author": { - "type": "string", - "description": "Name or email address of the author of this material. In case of multiple authors, use comma-separation. The author can also be a company name." - }, - "source": { - "type": "string", - "description": "Source of the reflectance data." - } - }, - "required": [ - "name", - "description", - "uuid", - "materialVersion", - "creationDate", - "openMaterialVersion", - "copyright", - "license", - "author", - "source" - ] - }, - "reflectance": { - "type": "object", - "description": "Reflectance lookup table including relevant meta data.", - "properties": { - "wavelengthRange": { - "type": "array", - "description": "Wavelength range covered by the lookup table. The first item is the minimum wavelength in meters and the second item is the maximum wavelength in meters.", - "items": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "description": "ASAM OpenMATERIAL 3D Material reflectance look-up table file definition.", + "properties": { + "metadata": { + "type": "object", + "description": "Metadata about the material.", + "properties": { + "name": { + "type": "string", + "description": "The display name of the material, such as 'Red brick' or 'Dark asphalt'." + }, + "description": { + "type": "string", + "description": "Short description of the material in 2 - 3 sentences." + }, + "uuid": { + "type": "string", + "description": "Universally unique identifier for the material in 8-4-4-4-12 format, see https://en.wikipedia.org/wiki/Universally_unique_identifier. The uuid stays the same, even if version is updated.", + "pattern": "\\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\\b$" + }, + "materialVersion": { + "type": "string", + "description": "The version number of the material, following semantic versioning (e.g., '1.0.0').", + "pattern": "^\\d+\\.\\d+\\.\\d+$" + }, + "openMaterialVersion": { + "type": "string", + "description": "The version of the OpenMATERIAL 3D specification used, adhering to semantic versioning (e.g., '1.0.0').", + "pattern": "^\\d+\\.\\d+\\.\\d+$" + }, + "copyright": { + "type": "string", + "description": "Indicates copyright details, including the year and copyright holder (e.g., '© 2024 ACME Inc.')." + }, + "license": { + "type": "string", + "description": "Describes the license for material distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + }, + "author": { + "type": "string", + "description": "Lists the author(s) of the material as a name, email, or company. Multiple authors should be comma-separated." + }, + "creationDate": { + "type": "string", + "description": "The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "pattern": "^\\d{8}T\\d{6}Z$" + }, + "source": { + "type": "string", + "description": "Source of the reflectance data. Was is measured, simulated, or taken from literature?" + } }, - "minItems": 2, - "maxItems": 2 + "required": [ + "name", + "description", + "uuid", + "materialVersion", + "creationDate", + "openMaterialVersion", + "copyright", + "license", + "author", + "source" + ] }, - "lookupTable": { - "type": "array", - "description": "Array of reflectance values, with each item representing a different property. The array SHALL be sorted based on the columns starting with the first.", - "items": { - "type": "array", - "items": [ - { - "type": ["number", "null"], - "description": "Wavelength in meters." - }, - { - "type": ["number", "null"], - "description": "Incident elevation angle (= zenith angle) relative to the surface normal in rad." - }, - { - "type": ["number", "null"], - "description": "Exit elevation angle (= zenith angle) relative to the surface normal in rad." - }, - { - "type": ["number", "null"], - "description": "Exit azimuth angle in rad. For reflectance with incident and exit vectors on the same plane as the normal, exit azimuth angle is 0." - }, - { - "type": ["number", "null"], - "description": "Polarized plane angle in rad. This is the angle between the plane containing the incident, exit, and normal vector, and the plane of polarization." - }, - { - "type": ["number", "null"], - "description": "Amplitude within the linearly polarized plane. The amplitude is given as a relative value compared to an ideal reflector." - }, - { - "type": ["number", "null"], - "description": "Phase within the linearly polarized plane. If the phase is not taken into account, it is null." - } - ], - "minItems": 7, - "maxItems": 7 - } + "reflectance": { + "type": "object", + "description": "Reflectance lookup table including relevant meta data.", + "properties": { + "wavelengths": { + "type": "array", + "description": "List of all wavelengths in meters contained in the lookup table.", + "items": { + "type": "number" + } + }, + "lookupTable": { + "type": "array", + "description": "Array of reflectance values, with each item representing a different property. The array SHALL be sorted based on the columns starting with the first.", + "items": { + "type": "array", + "items": [ + { + "type": ["number", "null"], + "description": "Wavelength in meters." + }, + { + "type": ["number", "null"], + "description": "Incident elevation angle (= zenith angle) relative to the surface normal in rad." + }, + { + "type": ["number", "null"], + "description": "Exit elevation angle (= zenith angle) relative to the surface normal in rad." + }, + { + "type": ["number", "null"], + "description": "Exit azimuth angle in rad. For reflectance with incident and exit vectors on the same plane as the normal, exit azimuth angle is 0." + }, + { + "type": ["number", "null"], + "description": "Polarized plane angle in rad. This is the angle between the plane containing the incident, exit, and normal vector, and the plane of polarization." + }, + { + "type": ["number", "null"], + "description": "Amplitude within the linearly polarized plane. The amplitude is given as a relative value compared to an ideal reflector." + }, + { + "type": ["number", "null"], + "description": "Phase within the linearly polarized plane. If the phase is not taken into account, it is null." + } + ], + "minItems": 7, + "maxItems": 7 + } + } + }, + "required": [ + "wavelengths", + "lookupTable" + ] } - }, - "required": [ - "wavelengthRange", - "lookupTable" - ] - } - }, - "required": [ - "metadata", - "reflectance" - ] + }, + "required": [ + "metadata", + "reflectance" + ] } \ No newline at end of file diff --git a/schemas/material_schema.json b/schemas/material_schema.json index 0dab0f98..df847d82 100644 --- a/schemas/material_schema.json +++ b/schemas/material_schema.json @@ -36,15 +36,15 @@ }, "license": { "type": "string", - "description": "Describes the license for asset distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." + "description": "Describes the license for material distribution. Use an SPDX identifier for open-source licenses (e.g., 'MIT'), or provide a URL or filename for proprietary licenses." }, "author": { "type": "string", - "description": "Lists the author(s) of the asset as a name, email, or company. Multiple authors should be comma-separated." + "description": "Lists the author(s) of the material as a name, email, or company. Multiple authors should be comma-separated." }, "creationDate": { "type": "string", - "description": "The date and time of asset creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", + "description": "The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 (e.g., '20240703T101728Z').", "pattern": "^\\d{8}T\\d{6}Z$" } },