Skip to content

Instantly share code, notes, and snippets.

@apirogov
Created May 11, 2021 11:42
Show Gist options
  • Save apirogov/23994babb5cd25cfa609e04a1ce32d9c to your computer and use it in GitHub Desktop.
Save apirogov/23994babb5cd25cfa609e04a1ce32d9c to your computer and use it in GitHub Desktop.
{
"title": "TEMExperimentDataSet",
"description": "Visual data collected from a transmission electron microscopy experiment in a single grain of a sample.",
"type": "object",
"properties": {
"author": {
"title": "Author",
"description": "Person who designed and/or performed the experiment.",
"type": "string"
},
"authorEmail": {
"title": "Authoremail",
"type": "string",
"format": "email"
},
"date": {
"title": "Date",
"description": "Date on which the experiment has been performed.",
"type": "string",
"format": "date"
},
"description": {
"title": "Description",
"description": "Informative high-level description of the objective and setup of the experiment.",
"minLength": 100,
"type": "string"
},
"notes": {
"title": "Notes",
"description": "Additional information or clarifications concerning the setup and conventions of experiment.",
"type": "string"
},
"sampleName": {
"title": "Samplename",
"description": "Name or identifier of the sample used in the experiment.",
"type": "string"
},
"temperature": {
"title": "Temperature",
"description": "Temperature of sample during experiment (K).",
"minimum": 0,
"type": "number"
},
"eulerangles": {
"$ref": "#/definitions/EulerAngles"
},
"dataFiles": {
"title": "Datafiles",
"description": "Collection of videos or images from experiment.",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/TEMExperimentImage"
},
{
"$ref": "#/definitions/TEMExperimentVideo"
}
]
}
}
},
"required": [
"author",
"authorEmail",
"date",
"description",
"sampleName",
"temperature",
"eulerangles",
"dataFiles"
],
"definitions": {
"EulerAngles": {
"title": "EulerAngles",
"description": "Euler angles of the grain in degrees (\u03c61 : 0-360\u00b0, \u03c6 : 0-180\u00b0, \u03c62 : 0-360\u00b0)",
"type": "object",
"properties": {
"phi1": {
"title": "Phi1",
"exclusiveMaximum": 360,
"minimum": 0,
"type": "number"
},
"phi": {
"title": "Phi",
"exclusiveMaximum": 180,
"minimum": 0,
"type": "number"
},
"phi2": {
"title": "Phi2",
"exclusiveMaximum": 360,
"minimum": 0,
"type": "number"
}
},
"required": [
"phi1",
"phi",
"phi2"
]
},
"CrystalVec": {
"title": "CrystalVec",
"description": "Crystallographic vector given as Miller index (hkl).",
"type": "object",
"properties": {
"h": {
"title": "H",
"type": "integer"
},
"k": {
"title": "K",
"type": "integer"
},
"l": {
"title": "L",
"type": "integer"
}
},
"required": [
"h",
"k",
"l"
]
},
"LocatedSlipSystem": {
"title": "LocatedSlipSystem",
"description": "Information about a slip system in an experiment setup.",
"type": "object",
"properties": {
"burgersVector": {
"title": "Burgersvector",
"description": "Burgers vector",
"allOf": [
{
"$ref": "#/definitions/CrystalVec"
}
]
},
"slipPlane": {
"title": "Slipplane",
"description": "Slip plane normal vector",
"allOf": [
{
"$ref": "#/definitions/CrystalVec"
}
]
},
"schmidFactor": {
"title": "Schmidfactor",
"description": "Schmid factor",
"type": "number"
},
"gVector": {
"title": "Gvector",
"description": "Diffraction vector",
"allOf": [
{
"$ref": "#/definitions/CrystalVec"
}
]
},
"planeAngle": {
"title": "Planeangle",
"description": "Angle (\u03b1) in degrees between image plane and slip plane",
"exclusiveMinimum": -360,
"exclusiveMaximum": 360,
"type": "number"
}
},
"required": [
"burgersVector",
"slipPlane",
"schmidFactor",
"gVector",
"planeAngle"
]
},
"Pos2D": {
"title": "Pos2D",
"description": "Position in 2D space.",
"type": "object",
"properties": {
"x": {
"title": "X",
"type": "number"
},
"y": {
"title": "Y",
"type": "number"
}
},
"required": [
"x",
"y"
]
},
"TEMExperimentImage": {
"title": "TEMExperimentImage",
"description": "Image snapshot of TEM experiment.",
"type": "object",
"properties": {
"fileName": {
"title": "Filename",
"description": "Original file name of the file.",
"type": "string"
},
"description": {
"title": "Description",
"description": "Description of what is seen in this file.",
"minLength": 1,
"type": "string"
},
"scaleBar": {
"title": "Scalebar",
"description": "Scale bar (\u00b5m/pixel)",
"exclusiveMinimum": 0,
"type": "number"
},
"tilt": {
"title": "Tilt",
"description": "Tilt around Y-axis in degrees (right-hand (TODO: confirm?), positive=clockwise)",
"exclusiveMinimum": -360,
"exclusiveMaximum": 360,
"type": "number"
},
"elongation": {
"title": "Elongation",
"description": "Elongation in \u00b5m (positive = increase in y axis from pulling)",
"type": "number"
},
"appliedStress": {
"title": "Appliedstress",
"description": "Applied stress in MPa (positive = pressure)",
"type": "number"
},
"slipSystems": {
"title": "Slipsystems",
"description": "Relevant slip systems (TODO: better description?)",
"type": "array",
"items": {
"$ref": "#/definitions/LocatedSlipSystem"
}
},
"center": {
"title": "Center",
"description": "Center of the image (X,Y) in TODO unit (wrt. fixed reference point in sample)",
"allOf": [
{
"$ref": "#/definitions/Pos2D"
}
]
}
},
"required": [
"fileName",
"description",
"scaleBar",
"tilt",
"elongation",
"slipSystems",
"center"
]
},
"TEMExperimentVideo": {
"title": "TEMExperimentVideo",
"description": "Video recording of TEM experiment.",
"type": "object",
"properties": {
"fileName": {
"title": "Filename",
"description": "Original file name of the file.",
"type": "string"
},
"description": {
"title": "Description",
"description": "Description of what is seen in this file.",
"minLength": 1,
"type": "string"
},
"scaleBar": {
"title": "Scalebar",
"description": "Scale bar (\u00b5m/pixel)",
"exclusiveMinimum": 0,
"type": "number"
},
"tilt": {
"title": "Tilt",
"description": "Tilt around Y-axis in degrees (right-hand (TODO: confirm?), positive=clockwise)",
"exclusiveMinimum": -360,
"exclusiveMaximum": 360,
"type": "number"
},
"elongation": {
"title": "Elongation",
"description": "Elongation in \u00b5m (positive = increase in y axis from pulling)",
"type": "number"
},
"appliedStress": {
"title": "Appliedstress",
"description": "Applied stress in MPa (positive = pressure)",
"type": "number"
},
"slipSystems": {
"title": "Slipsystems",
"description": "Relevant slip systems (TODO: better description?)",
"type": "array",
"items": {
"$ref": "#/definitions/LocatedSlipSystem"
}
},
"cutStart": {
"title": "Cutstart",
"description": "Start time (wrt. source video)",
"type": "string",
"format": "time"
},
"cutEnd": {
"title": "Cutend",
"description": "End time (wrt. source video)",
"type": "string",
"format": "time"
},
"speed": {
"title": "Speed",
"description": "Speed of video (multiplier wrt. source video)",
"exclusiveMinimum": 0,
"type": "number"
},
"pileupPos": {
"title": "Pileuppos",
"description": "Position of pile-up (X,Y) in TODO unit (wrt. fixed reference point in sample)",
"allOf": [
{
"$ref": "#/definitions/Pos2D"
}
]
}
},
"required": [
"fileName",
"description",
"scaleBar",
"tilt",
"elongation",
"slipSystems",
"cutStart",
"cutEnd",
"speed",
"pileupPos"
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment