From 1ec1eaa9372f04b9d1171be2d28af17300acef48 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:24:14 +0100 Subject: [PATCH 01/16] Add v1 detector schema --- schemas/detector.tpl.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 schemas/detector.tpl.json diff --git a/schemas/detector.tpl.json b/schemas/detector.tpl.json new file mode 100644 index 0000000..42f697d --- /dev/null +++ b/schemas/detector.tpl.json @@ -0,0 +1,23 @@ +{ + "_type": "microscopy: detector", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": [ + "quantumEfficiency", + "bitDepth" + ], + "properties": { + "quantumEfficiency": { + "type": "float", + "_instruction": "Enter fraction of photons detected at peak wavelength (0-1 or %)" + }, + "bitDepth": { + "type": "integer", + "_instruction": "Add bit depth of the detector's analog-to-digital conversion." + }, + "readNoise": { + "type": "float", + "_instruction": "Add read-out noise of the detector, usually in electron microscope (rms)." + } + + } +} \ No newline at end of file From 63e9321a62a570e2d92b4685bd069dc437b938d5 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:24:40 +0100 Subject: [PATCH 02/16] Add v1 detectorUsage schema --- schemas/detectorUsage.tpl.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 schemas/detectorUsage.tpl.json diff --git a/schemas/detectorUsage.tpl.json b/schemas/detectorUsage.tpl.json new file mode 100644 index 0000000..96b70eb --- /dev/null +++ b/schemas/detectorUsage.tpl.json @@ -0,0 +1,11 @@ +{ + "_type": "microscopy: detectorUsage", + "_extends": "/core/schemas/research/deviceUsage.schema.tpl.json", + "required": [], + "properties": { + "detectorGains": { + "_instruction": "Add gain or sensitivity settings applied to the detector(s) during acquisition (e.g., PMT voltage in volts, sCMOS gain in arbitrary units). Values should be reported per channel if multiple detectors are used.", + "_linkedCategories": "core:QuantitativeValue" + } + } +} \ No newline at end of file From e1999521c6e06fe8415e58aa5b69956eb86b5139 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:24:56 +0100 Subject: [PATCH 03/16] Add v1 GRINLens schema --- schemas/grinLens.tpl.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 schemas/grinLens.tpl.json diff --git a/schemas/grinLens.tpl.json b/schemas/grinLens.tpl.json new file mode 100644 index 0000000..e4173d0 --- /dev/null +++ b/schemas/grinLens.tpl.json @@ -0,0 +1,23 @@ +{ + "_type": "microscopy: microprimUsage", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": "lensDiameter", + "properties": { + "lensDiameter": { + "_instruction": "Add rod diameter.", + "_linkedCategories": "core:QuantitativeValue" + }, + "lensLength": { + "_instruction": "Add length of lens.", + "_linkedCategories": "core:QuantitativeValue" + }, + "FOVAtDepth": { + "_instruction": "Add field of view achievable at imaging depth.", + "_linkedCategories": "core:QuantitativeValue" + }, + "tipShape": { + "_instruction": "Add tipshape", + "_linkedCategories": "controlledterms:?" + } + } +} \ No newline at end of file From 33d01eb18c98481851004bd93cb4f662e7bbb456 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:28:13 +0100 Subject: [PATCH 04/16] Add v0 GRINLensUsage schema --- schemas/grinLensUsage.tpl.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 schemas/grinLensUsage.tpl.json diff --git a/schemas/grinLensUsage.tpl.json b/schemas/grinLensUsage.tpl.json new file mode 100644 index 0000000..5894eec --- /dev/null +++ b/schemas/grinLensUsage.tpl.json @@ -0,0 +1,6 @@ +{ + "_type": "microscopy: grinLensUsage", + "_extends": "/core/schemas/research/deviceUsage.schema.tpl.json", + "required": "", + "properties": {} +} \ No newline at end of file From 6b27475991c159da699288058769e58c1652fac4 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:28:43 +0100 Subject: [PATCH 05/16] Add v1 laser schema --- schemas/laser.tpl.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 schemas/laser.tpl.json diff --git a/schemas/laser.tpl.json b/schemas/laser.tpl.json new file mode 100644 index 0000000..ff5c360 --- /dev/null +++ b/schemas/laser.tpl.json @@ -0,0 +1,25 @@ +{ + "_type": "microscopy: LaserUsage", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": [ + "excitationPeak" + ], + "properties": { + "excitationPeak": { + "_instruction": "Add peak excitation wavelength in nanometers.", + "_linkedCategories": "core:QuantitativeValue" + }, + "tunable": { + "_instruction": "Indicates if the source is tunable across wavelengths.", + "_linkedCategories": "boolean" + }, + "pulseWidth": { + "_instruction": "Add pulse width (duration) of source if pulsed, in femtoseconds (fs).", + "_linkedCategories": "core:QuantitativeValue" + }, + "repRate": { + "_instruction": "Add repetition rate of the pulsed source in megahertz (MHz).", + "_linkedCategories": "core:QuantitativeValue" + } + } +} \ No newline at end of file From 502bada65f0ad578622b6cb203f75bfd7a7497b3 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:29:05 +0100 Subject: [PATCH 06/16] Add v1 laserUsage schema --- schemas/laserUsage.tpl.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 schemas/laserUsage.tpl.json diff --git a/schemas/laserUsage.tpl.json b/schemas/laserUsage.tpl.json new file mode 100644 index 0000000..14c803e --- /dev/null +++ b/schemas/laserUsage.tpl.json @@ -0,0 +1,15 @@ +{ + "_type": "microscopy: LaserUsage", + "_extends": "/core/schemas/research/deviceUsage.schema.tpl.json", + "required": [], + "properties": { + "wavelengthExcitation": { + "_instruction": "Add excitation wavelength(s) actually used during the acquisition, expressed in nanometers.", + "_linkedCategories": "core:QuantitativeValue" + }, + "laserPowerAtSample": { + "_instruction": "Add optical power delivered to the sample at the excitation wavelength, typically reported as median or range, in milliwatts.", + "_linkedCategories": "core:QuantitativeValueArray" + } + } +} \ No newline at end of file From 37d4b49ad83fe0021888dc2786f0dadd9236019c Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:30:32 +0100 Subject: [PATCH 07/16] Add v1 microprism schema --- schemas/microprism.tpl.json | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 schemas/microprism.tpl.json diff --git a/schemas/microprism.tpl.json b/schemas/microprism.tpl.json new file mode 100644 index 0000000..9ec7bf0 --- /dev/null +++ b/schemas/microprism.tpl.json @@ -0,0 +1,39 @@ +{ + "_type": "microscopy: microprism", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": [ + "dimensions", + "prismAngleDeg", + "orientation" + ], + "properties": { + "material": { + "_instruction": "Add microprims optical material.", + "_linkedCategories": "chemicals:chemicalMixture" + }, + "dimensions": { + "_instruction": "Add edge/face dimensions of the prism.", + "_linkedCategories": "?" + }, + "prismAngleDeg": { + "_instruction": "Add apex or right angle spec.", + "_linkedCategories": "core:QuantitativeValue" + }, + "orientation": { + "type": "string", + "_instruction": "Add orientation of reflective face vs cortical layers" + }, + "distanceFromSurface": { + "_instruction": "Add distance between prism face and pial surface (move to device implantion)", + "_linkedCategories": "core:QuantitativeValue" + }, + "tissueReliefCuts": { + "_instruction": "Indicate the presence of relief cuts.", + "_linkedCategories": "boolean" + }, + "edgePolishQuality": { + "type": "string", + "_instruction": "Add quality spec of polished edges." + } + } +} \ No newline at end of file From e8518d6f9717d306e582033820e7d053850a1c66 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:31:38 +0100 Subject: [PATCH 08/16] Add v1 microprismUsage schema --- schemas/microprismUsage.tpl.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 schemas/microprismUsage.tpl.json diff --git a/schemas/microprismUsage.tpl.json b/schemas/microprismUsage.tpl.json new file mode 100644 index 0000000..3134171 --- /dev/null +++ b/schemas/microprismUsage.tpl.json @@ -0,0 +1,11 @@ +{ + "_type": "microscopy: microprismUsage", + "_extends": "/core/schemas/research/deivceUsage.schema.tpl.json", + "required": [], + "properties": { + "opticalInterfaceMedium": { + "_instruction": "Add medium between prism face and tissue.", + "_linkedCategories": "chemicals:chemicalMixture" + } + } +} \ No newline at end of file From 60273356f8159fdf6bc389bfcb8bad57d87bd25b Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:32:57 +0100 Subject: [PATCH 09/16] Add v1 objectiveLens schema --- schemas/objectiveLens.tpl.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 schemas/objectiveLens.tpl.json diff --git a/schemas/objectiveLens.tpl.json b/schemas/objectiveLens.tpl.json new file mode 100644 index 0000000..0d5e0ff --- /dev/null +++ b/schemas/objectiveLens.tpl.json @@ -0,0 +1,24 @@ +{ + "_type": "microscopy: objectiveLens", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": [ + "magnification", + "numericalAperture" + ], + "properties": { + "magnification": { + "type": "string", + "_instruction": "Add nominal magnification of the objective (e.g., 16x, 20x)." + }, + "numericalAperture": { + "type": "float", + "minItems": 0, + "maxItems": 2, + "_instruction": "Add numerical aperture indicating light-gathering ability (NA=n⋅sin(θ))." + }, + "workingDistance": { + "_instruction": "Add working distance of the lens, typically in millimeters.", + "_linkedCategories": "core:QuantitativeValue" + } + } +} \ No newline at end of file From 058e2a75a9a783e5d056baa0894b5d2d08634cb3 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:33:34 +0100 Subject: [PATCH 10/16] Add v1 objectiveLensUsage schema --- schemas/objectiveLensUsage.tpl.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 schemas/objectiveLensUsage.tpl.json diff --git a/schemas/objectiveLensUsage.tpl.json b/schemas/objectiveLensUsage.tpl.json new file mode 100644 index 0000000..0f8a84e --- /dev/null +++ b/schemas/objectiveLensUsage.tpl.json @@ -0,0 +1,19 @@ +{ + "_type": "microscopy: objectiveLensUsage", + "_extends": "/core/schemas/research/deviceUsage.schema.tpl.json", + "required": [ + "immersionMedium ?" + ], + "properties": { + "immersionMedium": { + "_instruction": "Add immersion medium between lens and sample (air, water, oil...).", + "_linkedCategories": "chemicals:chemicalMixture" + + }, + "correctionCollar": { + "_instruction": "Add setting of the objective lens correction collar, used to compensate for coverslip thickness or spherical aberrations. Typically given in millimeters.", + "_linkedCategories": "core:QuantitativeValue" + + } + } +} \ No newline at end of file From a737675742ef85e72d2bc7df113213f74c3863ca Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:34:15 +0100 Subject: [PATCH 11/16] Add v1 ophysAcquisition schema --- schemas/ophysAcquisition.tpl.json | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 schemas/ophysAcquisition.tpl.json diff --git a/schemas/ophysAcquisition.tpl.json b/schemas/ophysAcquisition.tpl.json new file mode 100644 index 0000000..31376af --- /dev/null +++ b/schemas/ophysAcquisition.tpl.json @@ -0,0 +1,64 @@ +{ + "_type": "microscopy: ophysAcquisition", + "_extends": "/core/schemas/research/experimentalAcitivity.schema.tpl.json", + "required": [ + "imagingMode", + "setup", + "frameRate", + "fieldOfView", + "pixelSize" + ], + "properties": { + "imagingMode": { + "type": "string", + "_instruction": "Enter optical imaging modality used during acquisition.", + "_linkedCategories": "controlledTerms:?" + }, + "setup": { + "_instruction": "Add classification of the indicator.", + "_linkedCategories": [ + "microscopy:OphysDevice", + "microscopy:OphysDeviceUsage" + ] + }, + "frameRate": { + "_instruction": "Add imaging frame rate corresponding to the number of frames acquired per second", + "_linkedCategories": "core:QuantitativeValue" + }, + "fieldOfView": { + "_instruction": "Add spatial extent of the umaged region in micrometers.", + "_linkedCategories": "sands:mathematicalShapes" + }, + "pixelSize": { + "_instruction": "Add effective sampling size of each pixel along x, y, (and optional z) dimensions in micrometers.", + "_linkedCategories": [ + "core:QuantitativeValueArray", + "core: optional z ? " + ] + }, + "scanPattern": { + "_instruction": "Add scanner pattern to traverse the sample.", + "_linkedCategories": "controlledTerms:?" + }, + "scanningMode": { + "_instruction": "Add scanner mechanism or readout type.", + "_linkedCategories": "controlledTerms:?" + }, + "zoomFactor": { + "type": "float", + "_instruction": "Add dimensionless zoom setting applied on the microscope optics (affects FOV and pixel size)." + }, + "numberOfPlane": { + "type": "integer", + "_instruction": "Number of imaging planes or mulpiplane or volumetric imaging acquired in one session." + }, + "planeSepraration": { + "_instruction": "Add distance between sucessive imaging planes in micrometer (µm).", + "_linkedCategories": "core:QuantitativeValue" + }, + "filterWheelPositions": { + "_instruction": "Add filter or emission bands selected during the acquisition (e.g., 525/50 nm)", + "_linkedCategories": "array of strings ?" + } + } +} \ No newline at end of file From 543ab53570739b5a461e6146d94dd95f3459d37a Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:36:47 +0100 Subject: [PATCH 12/16] chore: fix comma in properties --- schemas/fluorescentIndicator.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/fluorescentIndicator.tpl.json b/schemas/fluorescentIndicator.tpl.json index 88830ba..38e518e 100644 --- a/schemas/fluorescentIndicator.tpl.json +++ b/schemas/fluorescentIndicator.tpl.json @@ -25,7 +25,7 @@ }, "onKinetics": { "_instruction": "Add rise time (on-kinetics) of fluorescence after calcium binding, typically in milliseconds.", - "_linkedCategories": "core:QuantitativeValue", + "_linkedCategories": "core:QuantitativeValue" }, "offKinetics": { "_instruction": "Add decay time (off-kinetics) of fluorescence after calcium unbinding, typically in milliseconds.", From 4f730b7159f59152bb1c9953427cef865fe51bc2 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:38:13 +0100 Subject: [PATCH 13/16] fix type in grinLens.tpl.json (microscopy:grinLens) --- schemas/grinLens.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/grinLens.tpl.json b/schemas/grinLens.tpl.json index e4173d0..e1c82f0 100644 --- a/schemas/grinLens.tpl.json +++ b/schemas/grinLens.tpl.json @@ -1,5 +1,5 @@ { - "_type": "microscopy: microprimUsage", + "_type": "microscopy: grinLens", "_extends": "/core/schemas/research/device.schema.tpl.json", "required": "lensDiameter", "properties": { From dcef9af667c5484eebf7ad6477b4daecf71a79aa Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:45:13 +0100 Subject: [PATCH 14/16] Organise schemas in activity and device folders --- schemas/{ => activity}/fluorescentIndicator.tpl.json | 0 schemas/{ => activity}/ophysAcquisition.tpl.json | 0 schemas/{ => device}/detector.tpl.json | 0 schemas/{ => device}/detectorUsage.tpl.json | 0 schemas/{ => device}/grinLens.tpl.json | 0 schemas/{ => device}/grinLensUsage.tpl.json | 0 schemas/{ => device}/laser.tpl.json | 0 schemas/{ => device}/laserUsage.tpl.json | 0 schemas/{ => device}/microprism.tpl.json | 0 schemas/{ => device}/microprismUsage.tpl.json | 0 schemas/{ => device}/objectiveLens.tpl.json | 0 schemas/{ => device}/objectiveLensUsage.tpl.json | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename schemas/{ => activity}/fluorescentIndicator.tpl.json (100%) rename schemas/{ => activity}/ophysAcquisition.tpl.json (100%) rename schemas/{ => device}/detector.tpl.json (100%) rename schemas/{ => device}/detectorUsage.tpl.json (100%) rename schemas/{ => device}/grinLens.tpl.json (100%) rename schemas/{ => device}/grinLensUsage.tpl.json (100%) rename schemas/{ => device}/laser.tpl.json (100%) rename schemas/{ => device}/laserUsage.tpl.json (100%) rename schemas/{ => device}/microprism.tpl.json (100%) rename schemas/{ => device}/microprismUsage.tpl.json (100%) rename schemas/{ => device}/objectiveLens.tpl.json (100%) rename schemas/{ => device}/objectiveLensUsage.tpl.json (100%) diff --git a/schemas/fluorescentIndicator.tpl.json b/schemas/activity/fluorescentIndicator.tpl.json similarity index 100% rename from schemas/fluorescentIndicator.tpl.json rename to schemas/activity/fluorescentIndicator.tpl.json diff --git a/schemas/ophysAcquisition.tpl.json b/schemas/activity/ophysAcquisition.tpl.json similarity index 100% rename from schemas/ophysAcquisition.tpl.json rename to schemas/activity/ophysAcquisition.tpl.json diff --git a/schemas/detector.tpl.json b/schemas/device/detector.tpl.json similarity index 100% rename from schemas/detector.tpl.json rename to schemas/device/detector.tpl.json diff --git a/schemas/detectorUsage.tpl.json b/schemas/device/detectorUsage.tpl.json similarity index 100% rename from schemas/detectorUsage.tpl.json rename to schemas/device/detectorUsage.tpl.json diff --git a/schemas/grinLens.tpl.json b/schemas/device/grinLens.tpl.json similarity index 100% rename from schemas/grinLens.tpl.json rename to schemas/device/grinLens.tpl.json diff --git a/schemas/grinLensUsage.tpl.json b/schemas/device/grinLensUsage.tpl.json similarity index 100% rename from schemas/grinLensUsage.tpl.json rename to schemas/device/grinLensUsage.tpl.json diff --git a/schemas/laser.tpl.json b/schemas/device/laser.tpl.json similarity index 100% rename from schemas/laser.tpl.json rename to schemas/device/laser.tpl.json diff --git a/schemas/laserUsage.tpl.json b/schemas/device/laserUsage.tpl.json similarity index 100% rename from schemas/laserUsage.tpl.json rename to schemas/device/laserUsage.tpl.json diff --git a/schemas/microprism.tpl.json b/schemas/device/microprism.tpl.json similarity index 100% rename from schemas/microprism.tpl.json rename to schemas/device/microprism.tpl.json diff --git a/schemas/microprismUsage.tpl.json b/schemas/device/microprismUsage.tpl.json similarity index 100% rename from schemas/microprismUsage.tpl.json rename to schemas/device/microprismUsage.tpl.json diff --git a/schemas/objectiveLens.tpl.json b/schemas/device/objectiveLens.tpl.json similarity index 100% rename from schemas/objectiveLens.tpl.json rename to schemas/device/objectiveLens.tpl.json diff --git a/schemas/objectiveLensUsage.tpl.json b/schemas/device/objectiveLensUsage.tpl.json similarity index 100% rename from schemas/objectiveLensUsage.tpl.json rename to schemas/device/objectiveLensUsage.tpl.json From 55c374d1719f800d149dae69dea86e493668434f Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 14:59:43 +0100 Subject: [PATCH 15/16] Add v1 ophysSetup schema --- schemas/device/OphysSetup.tpl.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 schemas/device/OphysSetup.tpl.json diff --git a/schemas/device/OphysSetup.tpl.json b/schemas/device/OphysSetup.tpl.json new file mode 100644 index 0000000..2915d64 --- /dev/null +++ b/schemas/device/OphysSetup.tpl.json @@ -0,0 +1,13 @@ +{ + "_type": "microscopy: ophysSetup", + "_extends": "/core/schemas/research/device.schema.tpl.json", + "required": [ + "hasPart" + ], + "properties": { + "hasPart": { + "_instruction": "Add all components, including other setups, that are part of this optical setup.", + "_linkedCategories": "opticalSetupComponents" + } + } +} \ No newline at end of file From 30226c606afc4efb5a306e7807960c7d5d2d0ed2 Mon Sep 17 00:00:00 2001 From: abonard Date: Mon, 10 Nov 2025 15:24:24 +0100 Subject: [PATCH 16/16] fix spelling microprism --- schemas/device/microprism.tpl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/device/microprism.tpl.json b/schemas/device/microprism.tpl.json index 9ec7bf0..6647fdd 100644 --- a/schemas/device/microprism.tpl.json +++ b/schemas/device/microprism.tpl.json @@ -8,7 +8,7 @@ ], "properties": { "material": { - "_instruction": "Add microprims optical material.", + "_instruction": "Add microprism optical material.", "_linkedCategories": "chemicals:chemicalMixture" }, "dimensions": {