{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "definitions": { "nsDatasetTypes": { "definitions": { "defAscanAmplitude": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "dataClass": { "enum": ["AScanAmplitude"] }, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "unitMin": {"type": "number"}, "unitMax": {"type": "number"}, "unit": { "enum": ["Percent"] } }, "additionalProperties": false, "required": [ "min", "max", "unitMin", "unitMax", "unit" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 2, "maxItems": 3, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, { "oneOf": [ { "description": "Paintbrush storageMode", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate" }, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/stackedAScan"}, { "description": "Independent storageMode", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/beam" } ] }, { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/ultrasound"} ] } ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defAscanStatus": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["AScanStatus"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "unit": { "enum": ["Bitfield"] }, "hasData": { "type": "integer", "minimum": 1 }, "noSynchro": { "type": "integer", "minimum": 1 }, "saturated": { "type": "integer", "minimum": 1 } }, "additionalProperties": false, "required": [ "unit", "hasData" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 2, "maxItems": 2, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/beam"} ] } ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defTfmValue": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "dataClass": { "enum": ["TfmValue"] }, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "unitMin": {"type": "number"}, "unitMax": {"type": "number"}, "unit": { "enum": [ "Coherence", "Percent" ] } }, "additionalProperties": false, "required": [ "min", "max", "unitMin", "unitMax", "unit" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 3, "maxItems": 3, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/wCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "path", "dataValue" ] }, "defTfmStatus": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["TfmStatus"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "unit": { "enum": ["Bitfield"] }, "hasData": { "type": "integer", "minimum": 1 }, "noSynchro": { "type": "integer", "minimum": 1 }, "saturated": { "type": "integer", "minimum": 1 } }, "additionalProperties": false, "required": [ "unit", "hasData" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 2, "maxItems": 2, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defFiringSource": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["FiringSource"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "unit": { "enum": [ "BeamId", "ColumnId" ] } }, "additionalProperties": false, "required": [ "min", "max", "unit" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 2, "maxItems": 2, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defCscanPeak": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["CScanPeak"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "unitMin": {"type": "number"}, "unitMax": {"type": "number"}, "unit": { "enum": ["Percent"] } }, "additionalProperties": false, "required": [ "min", "max", "unitMin", "unitMax", "unit" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 3, "maxItems": 3, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/wCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defCscanTime": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["CScanTime"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "unitMin": {"type": "number"}, "unitMax": {"type": "number"}, "unit": { "enum": ["Seconds"] } }, "additionalProperties": false, "required": [ "min", "max", "unitMin", "unitMax", "unit" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 3, "maxItems": 3, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/wCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] }, "defCscanStatus": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": ["CScanStatus"] }, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "dataTransformations": {"$ref": "#/definitions/nsGeneralTypes/definitions/defTransformations"}, "storageMode": {"$ref": "#/definitions/nsGeneralTypes/definitions/defStorageMode"}, "dataValue": { "type": "object", "properties": { "unit": { "enum": ["Bitfield"] }, "hasData": { "type": "integer", "minimum": 1 }, "noSynchro": { "type": "integer", "minimum": 1 }, "saturated": { "type": "integer", "minimum": 1 } }, "additionalProperties": false, "required": [ "unit", "hasData" ] }, "path": {"type": "string"}, "dimensions": { "type": "array", "minItems": 3, "maxItems": 3, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/wCoordinate"} ] } }, "additionalProperties": false, "required": [ "dimensions", "dataValue" ] } } }, "nsDatasets": { "type": "array", "minItems": 1, "uniqueItems": false, "items": { "anyOf": [ { "description": "Ascan Amplitude", "$ref": "#/definitions/nsDatasetTypes/definitions/defAscanAmplitude" }, { "description": "Ascan Status", "$ref": "#/definitions/nsDatasetTypes/definitions/defAscanStatus" }, { "description": "TFM Value", "$ref": "#/definitions/nsDatasetTypes/definitions/defTfmValue" }, { "description": "TFM Status", "$ref": "#/definitions/nsDatasetTypes/definitions/defTfmStatus" }, { "description": "Firing Source", "$ref": "#/definitions/nsDatasetTypes/definitions/defFiringSource" }, { "description": "C-Scan Peak", "$ref": "#/definitions/nsDatasetTypes/definitions/defCscanPeak" }, { "description": "C-Scan Time", "$ref": "#/definitions/nsDatasetTypes/definitions/defCscanTime" }, { "description": "C-Scan Status", "$ref": "#/definitions/nsDatasetTypes/definitions/defCscanStatus" } ] } }, "nsProcessTypes": { "definitions": { "defUltrasonicConventional": { "oneOf": [ { "type": "object", "description": "Pulse Echo", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicConventional": { "type": "object", "properties": { "pulseEcho": { "type": "object", "properties": { "probeId": { "anyOf": [ { "description": "Conventional Round Probe Id", "$ref": "#/properties/probes/items/oneOf/0/properties/id" }, { "description": "Conventional Rectangular Probe Id", "$ref": "#/properties/probes/items/oneOf/1/properties/id" } ] } } }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUtBeam"}, "gates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"} }, "additionalProperties": false, "required": [ "pulseEcho", "waveMode", "velocity", "wedgeDelay", "rectification", "beams" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicConventional" ] }, { "type": "object", "description": "Pitch Catch", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "datasetIds": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} }, "ultrasonicConventional": { "type": "object", "properties": { "pitchCatch": { "type": "object", "properties": { "pulserProbeId": { "anyOf": [ { "description": "Conventional Round Probe Id", "$ref": "#/properties/probes/items/oneOf/0/properties/id" }, { "description": "Conventional Rectangular Probe Id", "$ref": "#/properties/probes/items/oneOf/1/properties/id" } ] }, "receiverProbeId": { "anyOf": [ { "description": "Conventional Round Probe Id", "$ref": "#/properties/probes/items/oneOf/0/properties/id" }, { "description": "Conventional Rectangular Probe Id", "$ref": "#/properties/probes/items/oneOf/1/properties/id" } ] } } }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUtBeam"}, "gates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"} }, "additionalProperties": false, "required": [ "pitchCatch", "waveMode", "velocity", "wedgeDelay", "rectification", "beams" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicConventional" ] }, { "type": "object", "description": "TOFD", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicConventional": { "type": "object", "properties": { "tofd": { "type": "object", "properties": { "pulserProbeId": { "anyOf": [ { "description": "Conventional Round Probe Id", "$ref": "#/properties/probes/items/oneOf/0/properties/id" }, { "description": "Conventional Rectangular Probe Id", "$ref": "#/properties/probes/items/oneOf/1/properties/id" } ] }, "receiverProbeId": { "anyOf": [ { "description": "Conventional Round Probe Id", "$ref": "#/properties/probes/items/oneOf/0/properties/id" }, { "description": "Conventional Rectangular Probe Id", "$ref": "#/properties/probes/items/oneOf/1/properties/id" } ] }, "pcs": { "type": "number", "minimum": 0 } } }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUtBeam"}, "gates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"} }, "additionalProperties": false, "required": [ "tofd", "waveMode", "velocity", "wedgeDelay", "rectification", "beams" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicConventional" ] } ] }, "defUltrasonicPhasedArray": { "oneOf": [ { "type": "object", "description": "Pulse Echo", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicPhasedArray": { "type": "object", "properties": { "pulseEcho": { "oneOf": [ { "type": "object", "additionalProperties": false, "properties": { "probeId": { "description": "Phased Array Linear Probe Id", "$ref": "#/properties/probes/items/oneOf/2/properties/id" }, "linearFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defLinearFormation"} }, "required": ["linearFormation"] }, { "type": "object", "additionalProperties": false, "properties": { "probeId": { "$ref": "#/properties/probes/items/oneOf/2/properties/id", "description": "Phased Array Linear Probe Id" }, "sectorialFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSectorialFormation"} }, "required": ["sectorialFormation"] }, { "type": "object", "additionalProperties": false, "properties": { "probeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "compoundFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCompoundFormation"} }, "required": ["compoundFormation"] } ] }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "focusing": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defFocusing"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPaBeams"}, "gates": { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMultiPositionGates"} ] }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"}, "lawFile": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defLawFile"} }, "additionalProperties": false, "required": [ "pulseEcho", "waveMode", "velocity", "focusing", "beams", "rectification" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicPhasedArray" ] }, { "type": "object", "description": "Pitch Catch", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicPhasedArray": { "type": "object", "properties": { "pitchCatch": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": ["linearFormation"], "properties": { "pulserProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "receiverProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "linearFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defLinearFormation"} } }, { "type": "object", "additionalProperties": false, "required": ["sectorialFormation"], "properties": { "pulserProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "receiverProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "sectorialFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSectorialFormation"} } }, { "type": "object", "additionalProperties": false, "required": ["compoundFormation"], "properties": { "pulserProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "receiverProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "compoundFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCompoundFormation"} } } ] }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "focusing": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defFocusing"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPaBeams"}, "gates": { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMultiPositionGates"} ] }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"}, "lawFile": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defLawFile"} }, "additionalProperties": false, "required": [ "pitchCatch", "waveMode", "velocity", "focusing", "beams", "rectification" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicPhasedArray" ] }, { "type": "object", "description": "Tandem", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicPhasedArray": { "type": "object", "properties": { "tandem": { "type": "object", "properties": { "pulserProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "receiverProbeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "pulserFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSingleFormation"}, "receiverFormation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSingleFormation"} }, "additionalProperties": false, "required": [ "pulserProbeId", "receiverProbeId", "pulserFormation", "receiverFormation" ] }, "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"}, "beams": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPaBeams"}, "gates": { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMultiPositionGates"} ] }, "rectification": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defRectification"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "ascanSynchroMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanSynchroMode"}, "ascanCompressionFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAscanCompressionFactor"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "wedgeDelay": { "type": "number", "minimum": 0 }, "ultrasoundMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasoundMode"}, "referenceAmplitude": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defReferenceAmplitude"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "smoothingFilter": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "averagingFactor": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAveragingFactor"}, "calibrationStates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationStates"}, "lawFile": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defLawFile"} }, "additionalProperties": false, "required": [ "tandem", "waveMode", "beams", "rectification" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicPhasedArray" ] } ] }, "defUltrasonicMatrixCapture": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "ultrasonicMatrixCapture": { "oneOf": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasonicCaptureFMC"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defUltrasonicCapturePWI"} ] } }, "additionalProperties": false, "required": ["id"] }, "defTotalFocusingMethod": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Hardware"] }, "totalFocusingMethod": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defTotalFocusingMethod"} }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "totalFocusingMethod" ] }, "defGain": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": [ "Hardware", "Software" ] }, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"} }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "gain" ] }, "defSinglePositionGates": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": [ "Hardware", "Software" ] }, "ultrasonicGates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defSinglePositionGates"} }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicGates" ] }, "defMultiPositionGates": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": [ "Hardware", "Software" ] }, "ultrasonicGates": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMultiPositionGates"} }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicGates" ] }, "defTcg": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Software"] }, "ultrasonicTcg": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defTcg"} }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "ultrasonicTcg" ] }, "defThickness": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Software"] }, "thickness": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "gates": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "gateDetection": { "enum": [ "Crossing", "MaximumPeak", "FirstPeak", "LastPeak" ] } }, "additionalProperties": false, "required": [ "id", "gateDetection" ] } } }, "additionalProperties": false, "required": [ "min", "max", "gates" ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "thickness" ] }, "defTfmBoxGates": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "inputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessInput"} }, "outputs": { "type": [ "array", "null" ], "minItems": 0, "uniqueItems": true, "items": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProcessOutput"} }, "dataMappingId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "implementation": { "enum": ["Software"] }, "tfmBoxGates": { "type": "array", "minItems": 1, "uniqueItems": true, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "threshold": {"type": "number"}, "yImagingMin": {"type": "number"}, "yImagingMax": {"type": "number"}, "zImagingMin": { "type": "number", "minimum": 0 }, "zImagingMax": {"type": "number"} }, "additionalProperties": false, "required": [ "id", "threshold", "yImagingMin", "yImagingMax", "zImagingMin", "zImagingMax" ] } ] } }, "additionalProperties": false, "required": [ "id", "inputs", "outputs", "implementation", "tfmBoxGates" ] } } }, "nsProcesses": { "type": "array", "minItems": 1, "uniqueItems": false, "items": { "anyOf": [ { "description": "Ultrasonic Conventional", "$ref": "#/definitions/nsProcessTypes/definitions/defUltrasonicConventional" }, { "description": "Ultrasonic Phased Array", "$ref": "#/definitions/nsProcessTypes/definitions/defUltrasonicPhasedArray" }, { "description": "Ultrasonic Matrix Capture", "$ref": "#/definitions/nsProcessTypes/definitions/defUltrasonicMatrixCapture" }, { "description": "Total Focusing Method", "$ref": "#/definitions/nsProcessTypes/definitions/defTotalFocusingMethod" }, { "description": "Gain", "$ref": "#/definitions/nsProcessTypes/definitions/defGain" }, { "description": "Gates per beam", "$ref": "#/definitions/nsProcessTypes/definitions/defSinglePositionGates" }, { "description": "Gates per group", "$ref": "#/definitions/nsProcessTypes/definitions/defMultiPositionGates" }, { "description": "TCG", "$ref": "#/definitions/nsProcessTypes/definitions/defTcg" }, { "description": "Thickness", "$ref": "#/definitions/nsProcessTypes/definitions/defThickness" }, { "description": "Tfm Box Gates", "$ref": "#/definitions/nsProcessTypes/definitions/defTfmBoxGates" } ] } }, "nsProbeTypes": { "definitions": { "defConventionalRectangular": { "type": "object", "properties": { "centralFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "length": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "width": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "elements": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pinId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "acquisitionUnitId": {"$ref": "#/properties/acquisitionUnits/items/properties/id"}, "connectorName": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"} }, "additionalProperties": false, "required": [ "id", "acquisitionUnitId", "connectorName" ] } } }, "additionalProperties": false, "required": [ "centralFrequency", "length", "width", "elements" ] }, "defConventionalRound": { "type": "object", "properties": { "centralFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "diameter": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "elements": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pinId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "acquisitionUnitId": {"$ref": "#/properties/acquisitionUnits/items/properties/id"}, "connectorName": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"} }, "additionalProperties": false, "required": [ "id", "acquisitionUnitId", "connectorName" ] } } }, "additionalProperties": false, "required": [ "centralFrequency", "diameter", "elements" ] }, "defPhasedArrayLinear": { "type": "object", "properties": { "centralFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "elements": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pinId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "acquisitionUnitId": {"$ref": "#/properties/acquisitionUnits/items/properties/id"}, "connectorName": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "primaryIndex": { "type": "integer", "minimum": 0 }, "secondaryIndex": { "type": "integer", "minimum": 0 }, "enabled": {"type": "boolean"} }, "additionalProperties": false, "required": [ "id", "pinId", "acquisitionUnitId", "connectorName" ] } }, "primaryAxis": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProbeAxis"}, "secondaryAxis": {"$ref": "#/definitions/nsGeneralTypes/definitions/defProbeAxis"} }, "additionalProperties": false, "required": [ "centralFrequency", "elements", "primaryAxis", "secondaryAxis" ] } } }, "nsGeneralTypes": { "definitions": { "defRange": { "type": "object", "properties": { "min": {"type": "number"}, "max": {"type": "number"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"} }, "additionalProperties": false, "required": [ "min", "max", "resolution" ] }, "defUniqueId": { "type": "integer", "minimum": 0 }, "defNullableUniqueId": { "type": [ "integer", "null" ], "minimum": 0 }, "defIds": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "integer", "minimum": 0 } }, "defNonNullString": { "type": "string", "minLength": 1 }, "defFrequency": { "type": "number", "minimum": 0 }, "defQuantity": { "type": "integer", "minimum": 1 }, "defResolution": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "defOffset": {"type": "number"}, "defStorageMode": { "enum": [ "Independent", "Paintbrush" ] }, "defGain": {"type": "number"}, "defRecurrence": { "type": "number", "minimum": 0 }, "defProbeAxis": { "type": "object", "properties": { "elementGap": { "type": "number", "minimum": 0 }, "elementQuantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "elementLength": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "referencePoint": {"type": "number"}, "casingLength": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "elementGap", "elementQuantity", "elementLength", "referencePoint" ] }, "defTransformations": { "type": "array", "uniqueItems": false, "items": [ { "type": "object", "properties": { "processId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "groupId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} }, "additionalProperties": false, "required": ["processId"] } ] }, "defProcessInput": { "type": "object", "properties": { "processId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "groupId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} }, "additionalProperties": false, "required": ["processId"] }, "defProcessOutput": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "datasetId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "dataClass": { "enum": [ "AScanAmplitude", "AScanStatus", "FiringSource", "TfmValue", "TfmStatus", "ElementaryAscan", "CScanPeak", "CScanTime", "CScanStatus" ] }, "parameters": { "anyOf": [ {"$ref": "#/definitions/nsGeneralTypes/definitions/defGateOutputParameters"} ] } }, "additionalProperties": false, "required": ["id"] }, "defGateOutputParameters": { "type": "object", "properties": { "gateId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "gateDetection": { "enum": [ "Crossing", "MaximumPeak", "FirstPeak", "LastPeak" ] } }, "additionalProperties": false, "required": ["gateId"] } } }, "nsUltrasonicTypes": { "definitions": { "defUltrasonicCaptureFMC": { "type": "object", "properties": { "acquisitionPattern": { "enum": ["FMC"] }, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "waveforms": { "type": "array", "minItems": 1, "uniqueItems": false, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"} } } ] }, "pulserFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "beams": { "type": "array", "minItems": 1, "uniqueItems": false, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pulsers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementsPulser"}, "receivers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementsReceiver"} } } ] } } }, "defUltrasonicCapturePWI": { "type": "object", "properties": { "acquisitionPattern": { "enum": ["PWI"] }, "planeWaveImaging": { "type": "object", "properties": { "waveMode": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "waveLocation": { "enum": [ "Wedge", "FirstLeg", "SecondLeg" ] }, "startAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "stopAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "quantityAngle": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"} }, "additionalProperties": false, "required": [ "waveMode", "waveLocation", "startAngle", "stopAngle", "quantityAngle" ] }, "digitalBandPassFilter": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defDigitalBandPassFilter"}, "waveforms": { "type": "array", "minItems": 1, "uniqueItems": false, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pulse": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPulse"} } } ] }, "pulserFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "digitizingFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "beams": { "type": "array", "minItems": 1, "uniqueItems": false, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pulsers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementsPWIPulser"}, "receivers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementsReceiver"} } } ] } } }, "defTcg": { "type": "object", "properties": { "synchroMode": { "enum": [ "Pulse", "AscanSynchroRelative" ] }, "points": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "time": {"type": "number"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"} }, "additionalProperties": false, "required": [ "time", "gain" ] } } }, "additionalProperties": false, "required": ["points"] }, "defAxis": { "definitions": { "uCoordinate": { "type": "object", "properties": { "axis": { "enum": ["UCoordinate"] }, "quantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"}, "offset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "motionDeviceId": {"$ref": "#/properties/motionDevices/items/properties/id"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "lastCellRewrited": { "type": "integer", "description": "When the acquisition has been done in Time mode (no encoder) this axis is a circular buffer in which the first position is given in lastCellRewrited", "minimum": 0 } }, "additionalProperties": false, "required": [ "axis", "quantity", "resolution" ] }, "vCoordinate": { "type": "object", "properties": { "axis": { "enum": ["VCoordinate"] }, "quantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"}, "offset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "motionDeviceId": {"$ref": "#/properties/motionDevices/items/properties/id"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"} }, "additionalProperties": false, "required": [ "axis", "quantity", "resolution" ] }, "wCoordinate": { "type": "object", "properties": { "axis": { "enum": ["WCoordinate"] }, "quantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"}, "offset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"} }, "additionalProperties": false, "required": [ "axis", "quantity", "resolution" ] }, "ultrasound": { "type": "object", "properties": { "axis": { "enum": ["Ultrasound"] }, "quantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"}, "offset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"} }, "additionalProperties": false, "required": [ "axis", "quantity", "resolution" ] }, "beam": { "type": "object", "properties": { "axis": { "enum": ["Beam"] }, "beams": { "type": "array", "minItems": 1, "uniqueItems": true, "items": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "skewAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "refractedAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "uCoordinateOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "vCoordinateOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "ultrasoundOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"} }, "additionalProperties": false, "required": [ "velocity", "skewAngle", "refractedAngle", "uCoordinateOffset", "vCoordinateOffset", "ultrasoundOffset" ] } ] } }, "additionalProperties": false, "required": [ "axis", "beams" ] }, "stackedAScan": { "type": "object", "properties": { "axis": { "enum": ["StackedAScan"] }, "quantity": {"$ref": "#/definitions/nsGeneralTypes/definitions/defQuantity"}, "resolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"} }, "additionalProperties": false, "required": [ "axis", "quantity", "resolution" ] } } }, "defVelocity": { "type": "number", "minimum": 0 }, "defAngle": {"type": "number"}, "defPositiveAngle": { "type": "number", "minimum": 0 }, "defRectification": { "enum": [ "None", "Positive", "Negative", "Full" ] }, "defWaveMode": { "enum": [ "Longitudinal", "TransversalVertical" ] }, "defAscanSynchroMode": { "enum": [ "Pulse", "SynchroGateRelative" ] }, "defAscanCompressionFactor": { "type": "integer", "minimum": 1 }, "defAveragingFactor": { "type": "integer", "minimum": 1 }, "defUltrasoundMode": { "enum": [ "TrueDepth", "SoundPath", "Time" ] }, "defReferenceAmplitude": {"type": "number"}, "defPulse": { "type": "object", "properties": { "width": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "voltage": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "polarity": { "enum": [ "Bipolar", "UnipolarPositive", "UnipolarNegative" ] } }, "additionalProperties": true, "required": [ "width", "voltage" ] }, "defFocusing": { "type": "object", "properties": { "mode": { "enum": [ "TrueDepth", "HalfPath", "Unfocused", "Projection" ] }, "distance": { "type": "number", "minimum": 0 }, "angle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"} }, "additionalProperties": false, "required": ["mode"] }, "defPaBeams": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "skewAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPositiveAngle"}, "refractedAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "beamDelay": { "type": "number", "minimum": 0 }, "ascanStart": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanStart"}, "ascanLength": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanLength"}, "gainOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "recurrence": {"$ref": "#/definitions/nsGeneralTypes/definitions/defRecurrence"}, "sumGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "sumGainMode": { "enum": [ "Manual", "Automatic" ] }, "tcg": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defTcg"}, "pulsers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementDelays"}, "receivers": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defElementDelays"} }, "additionalProperties": false, "required": [ "id", "skewAngle", "refractedAngle", "beamDelay", "ascanStart", "ascanLength" ] } }, "defUtBeam": { "type": "array", "minItems": 1, "maxItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "refractedAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "ascanStart": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanStart"}, "ascanLength": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanLength"}, "tcg": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defTcg"}, "recurrence": {"$ref": "#/definitions/nsGeneralTypes/definitions/defRecurrence"} }, "additionalProperties": false, "required": [ "id", "refractedAngle", "ascanStart", "ascanLength" ] } }, "defLawFile": { "type": "object", "properties": { "filename": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "path": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"} }, "additionalProperties": false, "required": [ "filename", "path" ] }, "defDigitalBandPassFilter": { "type": "object", "properties": { "filterType": { "enum": [ "None", "LowPass", "HighPass", "BandPass" ] }, "highCutOffFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "lowCutOffFrequency": {"$ref": "#/definitions/nsGeneralTypes/definitions/defFrequency"}, "characteristic": { "enum": [ "None", "TOFD" ] } }, "additionalProperties": false, "required": [ "filterType", "highCutOffFrequency", "lowCutOffFrequency", "characteristic" ] }, "defElementsPulser": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementId": {"$ref": "#/definitions/nsProbeTypes/definitions/defPhasedArrayLinear/properties/elements/items/properties/id"}, "probeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "waveformId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} }, "additionalProperties": false, "required": [ "id", "elementId", "probeId", "waveformId" ] } }, "defElementsReceiver": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementId": {"$ref": "#/definitions/nsProbeTypes/definitions/defPhasedArrayLinear/properties/elements/items/properties/id"}, "probeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "ascanStart": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanStart"}, "ascanLength": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAScanLength"} }, "additionalProperties": false, "required": [ "id", "elementId", "probeId" ] } }, "defElementsPWIPulser": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementId": {"$ref": "#/definitions/nsProbeTypes/definitions/defPhasedArrayLinear/properties/elements/items/properties/id"}, "probeId": {"$ref": "#/properties/probes/items/oneOf/2/properties/id"}, "waveformId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "delay": {"type": "number"} }, "additionalProperties": false, "required": [ "id", "elementId", "probeId", "waveformId", "delay" ] } }, "defElementDelays": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementId": {"$ref": "#/definitions/nsProbeTypes/definitions/defPhasedArrayLinear/properties/elements/items/properties/id"}, "delay": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": [ "id", "elementId", "delay" ] } }, "defLinearFormation": { "type": "object", "properties": { "probeFirstElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "probeLastElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementStep": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "elementAperture": { "type": "integer", "minimum": 0, "exclusiveMinimum": true }, "beamRefractedAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"} }, "additionalProperties": false, "required": [ "probeFirstElementId", "probeLastElementId", "elementStep", "elementAperture", "beamRefractedAngle" ] }, "defSectorialFormation": { "type": "object", "properties": { "probeFirstElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementAperture": { "type": "integer", "minimum": 0, "exclusiveMinimum": true }, "beamRefractedAngles": { "type": "object", "properties": { "start": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "stop": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "step": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "start", "stop", "step" ] } }, "additionalProperties": false, "required": [ "probeFirstElementId", "elementAperture", "beamRefractedAngles" ] }, "defCompoundFormation": { "type": "object", "properties": { "probeFirstElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "probeLastElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementAperture": { "type": "integer", "minimum": 0, "exclusiveMinimum": true }, "beamRefractedAngles": { "type": "object", "properties": { "start": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "stop": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "step": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "start", "stop", "step" ] } }, "additionalProperties": false, "required": [ "probeFirstElementId", "probeLastElementId", "elementAperture", "beamRefractedAngles" ] }, "defSingleFormation": { "type": "object", "properties": { "probeFirstElementId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "elementAperture": { "type": "integer", "minimum": 0, "exclusiveMinimum": true }, "beamRefractedAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "velocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "focusingDistance": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "probeFirstElementId", "elementAperture", "beamRefractedAngle" ] }, "defTotalFocusingMethod": { "type": "object", "properties": { "signalSource": { "enum": [ "Analytic", "Real" ] }, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "referenceAmplitude": {"type": "number"}, "referenceGain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"}, "rectangularGrid": { "type": "object", "properties": { "yImagingLimits": {"$ref": "#/definitions/nsGeneralTypes/definitions/defRange"}, "zImagingLimits": {"$ref": "#/definitions/nsGeneralTypes/definitions/defRange"} }, "additionalProperties": false, "required": [ "yImagingLimits", "zImagingLimits" ] }, "fmcPulserIds": {"$ref": "#/definitions/nsGeneralTypes/definitions/defIds"}, "fmcReceiverIds": {"$ref": "#/definitions/nsGeneralTypes/definitions/defIds"}, "pathName": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "waveSet": { "type": "object", "properties": { "pulsings": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaves"}, "receivings": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaves"} }, "additionalProperties": false, "required": [ "pulsings", "receivings" ] }, "columns": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "gainMap": { "type": "object", "properties": { "points": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "position": {"type": "number"}, "gain": {"$ref": "#/definitions/nsGeneralTypes/definitions/defGain"} }, "additionalProperties": false, "required": [ "position", "gain" ] } } }, "additionalProperties": false, "required": ["points"] } }, "additionalProperties": false, "required": [ "id", "gainMap" ] } } }, "additionalProperties": false, "required": [ "gain", "rectangularGrid", "pathName", "waveSet" ] }, "defWaves": { "type": "array", "minItems": 1, "items": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWaveMode"} }, "defWave": { "type": "object", "properties": { "nominalVelocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "attenuationCoefficient": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": ["nominalVelocity"] }, "defMaterial": { "type": "object", "properties": { "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "longitudinalWave": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWave"}, "transversalVerticalWave": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWave"}, "density": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "name", "longitudinalWave", "transversalVerticalWave" ] }, "defWeldGeometry": { "type": "object", "properties": { "weldAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "material": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMaterial"}, "bevelShape": { "enum": [ "U", "V" ] }, "symmetry": { "enum": [ "Symmetric", "StraightLeft", "StraightRight" ] }, "heatAffectedZoneWidth": {"type": "number"}, "offset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "upperCap": { "type": "object", "properties": { "width": { "type": "number", "minimum": 0 }, "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": ["height"] }, "lowerCap": { "type": "object", "properties": { "width": { "type": "number", "minimum": 0 }, "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": ["height"] }, "fills": { "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "angle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": [ "angle", "height" ] } }, "hotPass": { "type": "object", "properties": { "angle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": [ "angle", "height" ] }, "land": { "type": "object", "properties": { "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": ["height"] }, "root": { "type": "object", "properties": { "angle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "height": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": [ "angle", "height" ] } }, "additionalProperties": false, "required": [ "weldAngle", "material", "bevelShape", "symmetry" ] }, "defPlateGeometry": { "type": "object", "properties": { "width": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "length": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "thickness": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "material": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMaterial"}, "surfaces": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": { "enum": [ "Top", "Bottom" ] } }, "additionalProperties": false, "required": [ "id", "name" ] } } }, "additionalProperties": false, "required": [ "thickness", "material", "surfaces" ] }, "defPipeGeometry": { "type": "object", "properties": { "length": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "thickness": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "outerRadius": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "angularOpening": { "type": "number", "minimum": 0, "maximum": 360, "exclusiveMinimum": true }, "material": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMaterial"}, "surfaces": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": { "enum": [ "Inside", "Outside" ] } }, "additionalProperties": false, "required": [ "id", "name" ] } } }, "additionalProperties": false, "required": [ "thickness", "material", "surfaces" ] }, "defBarGeometry": { "type": "object", "properties": { "length": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "diameter": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "material": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defMaterial"}, "surfaces": { "type": "array", "minItems": 1, "maxItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": { "enum": ["Outside"] } }, "additionalProperties": false, "required": [ "id", "name" ] } } }, "additionalProperties": false, "required": [ "length", "diameter", "material", "surfaces" ] }, "defCoordinate": { "type": "object", "properties": { "x": {"type": "number"}, "y": {"type": "number"}, "z": {"type": "number"} }, "additionalProperties": false, "required": [ "x", "y", "z" ] }, "defCustomOverlay2D": { "type": "object", "properties": { "filename": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "format": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "extension": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "path": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "localScale": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCoordinate"}, "localTranslation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCoordinate"}, "translation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCoordinate"}, "scale": {"type": "number"}, "rotation": {"type": "number"}, "width": {"type": "number"}, "thickness": {"type": "number"} }, "additionalProperties": false, "required": [ "filename", "format", "extension", "path", "scale", "rotation", "width", "thickness" ] }, "defPositioning": { "type": "object", "properties": { "specimenId": { "anyOf": [ { "description": "Plate Id", "$ref": "#/properties/specimens/items/oneOf/0/properties/id" }, { "description": "Pipe Id", "$ref": "#/properties/specimens/items/oneOf/1/properties/id" }, { "description": "Bar Id", "$ref": "#/properties/specimens/items/oneOf/2/properties/id" } ] }, "surfaceId": { "anyOf": [ { "description": "Plate Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defPlateGeometry/properties/surfaces/items/properties/id" }, { "description": "Pipe Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defPipeGeometry/properties/surfaces/items/properties/id" }, { "description": "Bar Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defBarGeometry/properties/surfaces/items/properties/id" } ] }, "uCoordinateOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "vCoordinateOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "skewAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPositiveAngle"} }, "additionalProperties": false, "required": [ "specimenId", "surfaceId", "uCoordinateOffset", "vCoordinateOffset", "skewAngle" ] }, "defCalibrationState": { "type": "object", "properties": { "calibrated": {"type": "boolean"} }, "additionalProperties": false, "required": ["calibrated"] }, "defCalibrationStates": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "anyOf": [ { "type": "object", "properties": { "sensitivityCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "tcgCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "velocityCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "wedgeDelayCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "dacCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "dgsCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } }, { "type": "object", "properties": { "tofdWedgeDelayCalibration": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCalibrationState"} } } ] } }, "defWedgeAssociation": { "type": "object", "properties": { "wedgeId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "mountingLocationId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "orientation": { "enum": [ "Normal", "Reverse" ] } }, "additionalProperties": false, "required": [ "wedgeId", "mountingLocationId" ] }, "defSinglePositionGates": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": { "type": "string", "minLength": 1 }, "geometry": { "enum": [ "SoundPath", "TrueDepth" ] }, "start": {"type": "number"}, "length": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "threshold": {"type": "number"}, "thresholdPolarity": { "enum": [ "Absolute", "Positive", "Negative" ] }, "synchronization": { "type": "object", "properties": { "mode": { "enum": [ "Pulse", "GateRelative" ] }, "triggeringEvent": { "enum": [ "Peak", "Crossing" ] }, "gateId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} } } }, "additionalProperties": false, "required": [ "id", "start", "length", "threshold", "thresholdPolarity", "synchronization" ] } }, "defMultiPositionGates": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": { "type": "string", "minLength": 1 }, "geometry": { "enum": [ "SoundPath", "TrueDepth" ] }, "starts": { "type": "array", "minItems": 1, "items": {"type": "number"} }, "lengths": { "type": "array", "minItems": 1, "items": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "threshold": {"type": "number"}, "thresholdPolarity": { "enum": [ "Absolute", "Positive", "Negative" ] }, "synchronization": { "type": "object", "properties": { "mode": { "enum": [ "Pulse", "GateRelative" ] }, "triggeringEvent": { "enum": [ "Peak", "Crossing" ] }, "gateId": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"} }, "required": ["mode"], "additionalProperties": false } }, "additionalProperties": false, "required": [ "id", "starts", "lengths", "threshold", "thresholdPolarity", "synchronization" ] } }, "defAScanStart": {"type": "number"}, "defAScanLength": { "type": "number", "minimum": 0 } } } }, "properties": { "$schema": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "version": { "enum": ["4.0.0"] }, "scenario": { "enum": [ "General Weld", "General Mapping" ] }, "groups": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "usage": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "datasets": {"$ref": "#/definitions/nsDatasets"}, "processes": {"$ref": "#/definitions/nsProcesses"} }, "additionalProperties": false, "required": ["id"] }, "additionalProperties": false }, "dataMappings": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "specimenId": { "anyOf": [ { "description": "Plate Id", "$ref": "#/properties/specimens/items/oneOf/0/properties/id" }, { "description": "Pipe Id", "$ref": "#/properties/specimens/items/oneOf/1/properties/id" }, { "description": "Bar Id", "$ref": "#/properties/specimens/items/oneOf/2/properties/id" } ] }, "surfaceId": { "anyOf": [ { "description": "Plate Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defPlateGeometry/properties/surfaces/items/properties/id" }, { "description": "Pipe Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defPipeGeometry/properties/surfaces/items/properties/id" }, { "description": "Bar Surface Id", "$ref": "#/definitions/nsUltrasonicTypes/definitions/defBarGeometry/properties/surfaces/items/properties/id" } ] }, "discreteGrid": { "type": "object", "properties": { "scanPattern": { "enum": [ "OneLineScan", "RasterScan" ] }, "uCoordinateOrientation": { "enum": [ "Around", "Along", "Width", "Length" ] }, "dimensions": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": [ {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/uCoordinate"}, {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAxis/definitions/vCoordinate"} ], "additionalItems": false } }, "additionalProperties": false, "required": [ "scanPattern", "uCoordinateOrientation", "dimensions" ] } }, "additionalProperties": false, "required": [ "id", "specimenId", "surfaceId", "discreteGrid" ] } }, "probes": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "oneOf": [ { "type": "object", "description": "Conventional Round", "required": [ "id", "conventionalRound", "wedgeAssociation" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serie": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "conventionalRound": {"$ref": "#/definitions/nsProbeTypes/definitions/defConventionalRound"}, "wedgeAssociation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWedgeAssociation"} }, "additionalProperties": false }, { "type": "object", "description": "Conventional Rectangular", "required": [ "id", "conventionalRectangular", "wedgeAssociation" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serie": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "conventionalRectangular": {"$ref": "#/definitions/nsProbeTypes/definitions/defConventionalRectangular"}, "wedgeAssociation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWedgeAssociation"} }, "additionalProperties": false }, { "type": "object", "description": "Phased Array Linear", "required": [ "id", "phasedArrayLinear", "wedgeAssociation" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serie": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "phasedArrayLinear": {"$ref": "#/definitions/nsProbeTypes/definitions/defPhasedArrayLinear"}, "wedgeAssociation": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWedgeAssociation"} }, "additionalProperties": false } ] }, "additionalProperties": false }, "wedges": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "oneOf": [ { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serie": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "angleBeamWedge": { "type": "object", "properties": { "width": { "type": "number", "minimum": 0 }, "height": { "type": "number", "minimum": 0 }, "length": { "type": "number", "minimum": 0 }, "longitudinalVelocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "mountingLocations": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "wedgeAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "squintAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "roofAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "primaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "secondaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "tertiaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"} }, "additionalProperties": false, "required": [ "id", "wedgeAngle", "primaryOffset", "secondaryOffset", "tertiaryOffset" ] } }, "pocketDepth": {"type": "number"} }, "additionalProperties": false, "required": [ "width", "height", "length", "longitudinalVelocity", "mountingLocations" ] }, "positioning": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPositioning"} }, "description": "angleBeamWedge", "additionalProperties": false, "required": [ "id", "model", "angleBeamWedge", "positioning" ] }, { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serie": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "fluidColumn": { "type": "object", "properties": { "nominalHeight": { "type": "number", "minimum": 0 }, "longitudinalVelocity": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defVelocity"}, "mountingLocations": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "wedgeAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "squintAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "roofAngle": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defAngle"}, "primaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "secondaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"}, "tertiaryOffset": {"$ref": "#/definitions/nsGeneralTypes/definitions/defOffset"} }, "additionalProperties": false, "required": [ "id", "wedgeAngle", "primaryOffset", "secondaryOffset", "tertiaryOffset" ] } }, "pocketDepth": {"type": "number"} }, "additionalProperties": false, "required": [ "nominalHeight", "longitudinalVelocity", "mountingLocations" ] }, "positioning": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPositioning"} }, "description": "fluidColumn", "additionalProperties": false, "required": [ "id", "model", "fluidColumn", "positioning" ] } ] } }, "specimens": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "oneOf": [ { "type": "object", "description": "Plate", "required": [ "id", "plateGeometry" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "plateGeometry": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPlateGeometry"}, "weldGeometry": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWeldGeometry"}, "customOverlay2D": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCustomOverlay2D"} }, "additionalProperties": false }, { "type": "object", "description": "Pipe", "required": [ "id", "pipeGeometry" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "pipeGeometry": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defPipeGeometry"}, "weldGeometry": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defWeldGeometry"}, "customOverlay2D": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defCustomOverlay2D"} }, "additionalProperties": false }, { "type": "object", "description": "Bar", "required": [ "id", "barGeometry" ], "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "barGeometry": {"$ref": "#/definitions/nsUltrasonicTypes/definitions/defBarGeometry"} }, "additionalProperties": false } ] }, "additionalProperties": false }, "acquisitionUnits": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "platform": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "model": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "acquisitionRate": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "additionalProperties": false, "required": [ "id", "platform", "model", "acquisitionRate" ] } }, "motionDevices": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "id": {"$ref": "#/definitions/nsGeneralTypes/definitions/defUniqueId"}, "name": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "encoder": { "type": "object", "properties": { "serialNumber": {"$ref": "#/definitions/nsGeneralTypes/definitions/defNonNullString"}, "mode": { "enum": [ "Quadrature", "ClockDir", "PulseUp", "PulseDown" ] }, "stepResolution": {"$ref": "#/definitions/nsGeneralTypes/definitions/defResolution"}, "preset": { "type": "number", "minimum": 0 } }, "additionalProperties": false, "required": [ "mode", "stepResolution" ] } }, "additionalProperties": false, "required": [ "id", "encoder" ] } } }, "additionalProperties": false, "required": [ "$schema", "version", "scenario", "groups" ] }