diff --git a/generateInterfaceSchema.py b/generateInterfaceSchema.py index b3e712f8a3..784c1ba587 100644 --- a/generateInterfaceSchema.py +++ b/generateInterfaceSchema.py @@ -31,9 +31,7 @@ class CustomNWBConverter(NWBConverter): sourceDataStoryPath = Path("stories/pages/SourceData.stories.js") -importCode = "\n".join( - map(lambda arr: f"import {arr[0]}Schema from '../inputs/interface_schemas/{arr[1]}'", paths.items()) -) +importCode = "\n".join(map(lambda arr: f"import {arr[0]}Schema from '../{Path(*arr[1].parts[1:])}'", paths.items())) storyCode = "\n".join( map( lambda arr: f"""export const {arr[0]} = PageTemplate.bind({{}}); diff --git a/stories/inputs/interface_schemas/AlphaOmegaRecordingInterface.json b/stories/inputs/interface_schemas/AlphaOmegaRecordingInterface.json index 420bf7378d..cfd2d72d51 100644 --- a/stories/inputs/interface_schemas/AlphaOmegaRecordingInterface.json +++ b/stories/inputs/interface_schemas/AlphaOmegaRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to the folder of .mpx files." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/AxonaRecordingInterface.json b/stories/inputs/interface_schemas/AxonaRecordingInterface.json index 3459b77b23..5e703560a6 100644 --- a/stories/inputs/interface_schemas/AxonaRecordingInterface.json +++ b/stories/inputs/interface_schemas/AxonaRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .bin file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/BiocamRecordingInterface.json b/stories/inputs/interface_schemas/BiocamRecordingInterface.json index 8d51c7b063..7a7fa27302 100644 --- a/stories/inputs/interface_schemas/BiocamRecordingInterface.json +++ b/stories/inputs/interface_schemas/BiocamRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .bwr file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/BlackrockRecordingInterface.json b/stories/inputs/interface_schemas/BlackrockRecordingInterface.json index 415e95cc33..e14bcea726 100644 --- a/stories/inputs/interface_schemas/BlackrockRecordingInterface.json +++ b/stories/inputs/interface_schemas/BlackrockRecordingInterface.json @@ -8,7 +8,7 @@ "properties": { "file_path": { "format": "file", - "description": "Path to Blackrock file.", + "description": "Path to the Blackrock file with suffix being .ns1, .ns2, .ns3, .ns4m .ns4, or .ns6.", "type": "string" }, "nsx_override": { diff --git a/stories/inputs/interface_schemas/BlackrockSortingInterface.json b/stories/inputs/interface_schemas/BlackrockSortingInterface.json index da459b8245..98baa65846 100644 --- a/stories/inputs/interface_schemas/BlackrockSortingInterface.json +++ b/stories/inputs/interface_schemas/BlackrockSortingInterface.json @@ -8,7 +8,7 @@ "properties": { "file_path": { "format": "file", - "description": "Path to Blackrock file.", + "description": "Path to Blackrock .nev file.", "type": "string" }, "sampling_frequency": { diff --git a/stories/inputs/interface_schemas/BrukerTiffMultiPlaneConverter.json b/stories/inputs/interface_schemas/BrukerTiffMultiPlaneConverter.json index 48200f14ed..072c287f0e 100644 --- a/stories/inputs/interface_schemas/BrukerTiffMultiPlaneConverter.json +++ b/stories/inputs/interface_schemas/BrukerTiffMultiPlaneConverter.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "The folder that contains the Bruker TIF image files (.ome.tif) and configuration files (.xml, .env)." }, "plane_separation_type": { "enum": [ diff --git a/stories/inputs/interface_schemas/BrukerTiffMultiPlaneImagingInterface.json b/stories/inputs/interface_schemas/BrukerTiffMultiPlaneImagingInterface.json index a4383d1772..4aa3faca75 100644 --- a/stories/inputs/interface_schemas/BrukerTiffMultiPlaneImagingInterface.json +++ b/stories/inputs/interface_schemas/BrukerTiffMultiPlaneImagingInterface.json @@ -9,7 +9,7 @@ "folder_path": { "format": "directory", "type": "string", - "description": "The path that points to the folder containing the Bruker volumetric TIF image files and configuration files." + "description": "The folder that contains the Bruker TIF image files (.ome.tif) and configuration files (.xml, .env)." }, "stream_name": { "type": "string" diff --git a/stories/inputs/interface_schemas/BrukerTiffSinglePlaneImagingInterface.json b/stories/inputs/interface_schemas/BrukerTiffSinglePlaneImagingInterface.json index 844834ff9a..c04abec2df 100644 --- a/stories/inputs/interface_schemas/BrukerTiffSinglePlaneImagingInterface.json +++ b/stories/inputs/interface_schemas/BrukerTiffSinglePlaneImagingInterface.json @@ -9,7 +9,7 @@ "folder_path": { "format": "directory", "type": "string", - "description": "The path that points to the folder containing the Bruker TIF image files and configuration files." + "description": "The folder containing the Bruker TIF image files and configuration files." }, "stream_name": { "type": "string" diff --git a/stories/inputs/interface_schemas/CaimanSegmentationInterface.json b/stories/inputs/interface_schemas/CaimanSegmentationInterface.json index db580d9a52..1810b39b7e 100644 --- a/stories/inputs/interface_schemas/CaimanSegmentationInterface.json +++ b/stories/inputs/interface_schemas/CaimanSegmentationInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .hdf5 file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/CellExplorerRecordingInterface.json b/stories/inputs/interface_schemas/CellExplorerRecordingInterface.json index 1e4e944289..ff3ce4df57 100644 --- a/stories/inputs/interface_schemas/CellExplorerRecordingInterface.json +++ b/stories/inputs/interface_schemas/CellExplorerRecordingInterface.json @@ -8,7 +8,7 @@ "properties": { "folder_path": { "format": "directory", - "description": "The folder where the session data is located. It should contain a\n`{folder.name}.session.mat` file and the binary files `{folder.name}.dat`\nor `{folder.name}.lfp` for the LFP interface.", + "description": "Folder containing the .session.mat file", "type": "string" }, "verbose": { diff --git a/stories/inputs/interface_schemas/DeepLabCutInterface.json b/stories/inputs/interface_schemas/DeepLabCutInterface.json index 29cbcd0bdf..7e2e5fa401 100644 --- a/stories/inputs/interface_schemas/DeepLabCutInterface.json +++ b/stories/inputs/interface_schemas/DeepLabCutInterface.json @@ -9,11 +9,13 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .h5 file output by dlc." }, "config_file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .yml config file" }, "subject_name": { "type": "string", diff --git a/stories/inputs/interface_schemas/EDFRecordingInterface.json b/stories/inputs/interface_schemas/EDFRecordingInterface.json index 0caa4372dc..b7371462e0 100644 --- a/stories/inputs/interface_schemas/EDFRecordingInterface.json +++ b/stories/inputs/interface_schemas/EDFRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .edf file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/FicTracDataInterface.json b/stories/inputs/interface_schemas/FicTracDataInterface.json index a04818bf73..6cd7f5f912 100644 --- a/stories/inputs/interface_schemas/FicTracDataInterface.json +++ b/stories/inputs/interface_schemas/FicTracDataInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .dat file (the output of fictrac)" }, "radius": { "type": "number" diff --git a/stories/inputs/interface_schemas/IntanRecordingInterface.json b/stories/inputs/interface_schemas/IntanRecordingInterface.json index 07904ada2e..b7910b04ce 100644 --- a/stories/inputs/interface_schemas/IntanRecordingInterface.json +++ b/stories/inputs/interface_schemas/IntanRecordingInterface.json @@ -8,11 +8,11 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to either a .rhd or a .rhs file" }, "stream_id": { - "type": "string", - "default": "0" + "type": "string" }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/KiloSortSortingInterface.json b/stories/inputs/interface_schemas/KiloSortSortingInterface.json index a31d22b750..b386258234 100644 --- a/stories/inputs/interface_schemas/KiloSortSortingInterface.json +++ b/stories/inputs/interface_schemas/KiloSortSortingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to the output Phy folder (containing the params.py)" }, "keep_good_only": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/MCSRawRecordingInterface.json b/stories/inputs/interface_schemas/MCSRawRecordingInterface.json index 872b4e85c1..58d5d63d11 100644 --- a/stories/inputs/interface_schemas/MCSRawRecordingInterface.json +++ b/stories/inputs/interface_schemas/MCSRawRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .raw file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/MEArecRecordingInterface.json b/stories/inputs/interface_schemas/MEArecRecordingInterface.json index b2a4df0110..d8bb66224b 100644 --- a/stories/inputs/interface_schemas/MEArecRecordingInterface.json +++ b/stories/inputs/interface_schemas/MEArecRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the MEArec .h5 file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/MicroManagerTiffImagingInterface.json b/stories/inputs/interface_schemas/MicroManagerTiffImagingInterface.json index fb0cd88769..9791ad85b2 100644 --- a/stories/inputs/interface_schemas/MicroManagerTiffImagingInterface.json +++ b/stories/inputs/interface_schemas/MicroManagerTiffImagingInterface.json @@ -9,7 +9,7 @@ "folder_path": { "format": "directory", "type": "string", - "description": "The path that points to the folder containing the OME-TIF image files." + "description": "The folder containing the OME-TIF image files." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/MiniscopeBehaviorInterface.json b/stories/inputs/interface_schemas/MiniscopeBehaviorInterface.json index 467086c405..506b9f7d2c 100644 --- a/stories/inputs/interface_schemas/MiniscopeBehaviorInterface.json +++ b/stories/inputs/interface_schemas/MiniscopeBehaviorInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "The main Miniscope folder. The movie files are expected to be in sub folders within the main folder." } }, "type": "object", diff --git a/stories/inputs/interface_schemas/MiniscopeConverter.json b/stories/inputs/interface_schemas/MiniscopeConverter.json index 392e08169b..38f969e75a 100644 --- a/stories/inputs/interface_schemas/MiniscopeConverter.json +++ b/stories/inputs/interface_schemas/MiniscopeConverter.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "The path to the main Miniscope folder." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/MiniscopeImagingInterface.json b/stories/inputs/interface_schemas/MiniscopeImagingInterface.json index 33171beb59..cb5e3b55a5 100644 --- a/stories/inputs/interface_schemas/MiniscopeImagingInterface.json +++ b/stories/inputs/interface_schemas/MiniscopeImagingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "The main Miniscope folder. The microscope movie files are expected to be in sub folders within the main folder." } }, "type": "object", diff --git a/stories/inputs/interface_schemas/NeuralynxRecordingInterface.json b/stories/inputs/interface_schemas/NeuralynxRecordingInterface.json index dfd28cadaa..1bf31403fb 100644 --- a/stories/inputs/interface_schemas/NeuralynxRecordingInterface.json +++ b/stories/inputs/interface_schemas/NeuralynxRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to Neuralynx directory containing \".nse\", \".ntt\", \".nse\", or \".nev\" files." }, "stream_name": { "type": "string" diff --git a/stories/inputs/interface_schemas/NeuroScopeLFPInterface.json b/stories/inputs/interface_schemas/NeuroScopeLFPInterface.json index d42a885ab0..639985ff2e 100644 --- a/stories/inputs/interface_schemas/NeuroScopeLFPInterface.json +++ b/stories/inputs/interface_schemas/NeuroScopeLFPInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .lfp or .eeg file." }, "gain": { "type": "number" diff --git a/stories/inputs/interface_schemas/NeuroScopeRecordingInterface.json b/stories/inputs/interface_schemas/NeuroScopeRecordingInterface.json index 3e95a33d07..7afc396a6d 100644 --- a/stories/inputs/interface_schemas/NeuroScopeRecordingInterface.json +++ b/stories/inputs/interface_schemas/NeuroScopeRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .dat file." }, "gain": { "type": "number" diff --git a/stories/inputs/interface_schemas/NeuroScopeSortingInterface.json b/stories/inputs/interface_schemas/NeuroScopeSortingInterface.json index 680fcbce92..10ebfe0695 100644 --- a/stories/inputs/interface_schemas/NeuroScopeSortingInterface.json +++ b/stories/inputs/interface_schemas/NeuroScopeSortingInterface.json @@ -8,18 +8,22 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to folder containing .res and .clu files." }, "keep_mua_units": { "type": "boolean", - "default": true + "default": true, + "description": "Whether to return sorted spikes from multi-unit activity." }, "exclude_shanks": { - "type": "array" + "type": "array", + "description": "List of indices to ignore." }, "xml_file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to .xml file containing device and electrode configuration." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/OpenEphysRecordingInterface.json b/stories/inputs/interface_schemas/OpenEphysRecordingInterface.json index df1202bc20..caf2e25da6 100644 --- a/stories/inputs/interface_schemas/OpenEphysRecordingInterface.json +++ b/stories/inputs/interface_schemas/OpenEphysRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to OpenEphys directory (.continuous or .dat files)." }, "stream_name": { "type": "string" diff --git a/stories/inputs/interface_schemas/PhySortingInterface.json b/stories/inputs/interface_schemas/PhySortingInterface.json index a1c9e140b1..cf03020e9c 100644 --- a/stories/inputs/interface_schemas/PhySortingInterface.json +++ b/stories/inputs/interface_schemas/PhySortingInterface.json @@ -8,7 +8,8 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to the output Phy folder (containing the params.py)." }, "exclude_cluster_groups": { "type": "array", diff --git a/stories/inputs/interface_schemas/PlexonRecordingInterface.json b/stories/inputs/interface_schemas/PlexonRecordingInterface.json index 98fbba8242..5d000b3a24 100644 --- a/stories/inputs/interface_schemas/PlexonRecordingInterface.json +++ b/stories/inputs/interface_schemas/PlexonRecordingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .plx file." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/PlexonSortingInterface.json b/stories/inputs/interface_schemas/PlexonSortingInterface.json index 7d7963c401..5cc6bdc181 100644 --- a/stories/inputs/interface_schemas/PlexonSortingInterface.json +++ b/stories/inputs/interface_schemas/PlexonSortingInterface.json @@ -8,7 +8,8 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the plexon spiking data (.plx file)." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/SLEAPInterface.json b/stories/inputs/interface_schemas/SLEAPInterface.json index 57242afdc3..77703778ba 100644 --- a/stories/inputs/interface_schemas/SLEAPInterface.json +++ b/stories/inputs/interface_schemas/SLEAPInterface.json @@ -8,11 +8,13 @@ "properties": { "file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path to the .slp file (the output of sleap)" }, "video_file_path": { "format": "file", - "type": "string" + "type": "string", + "description": "Path of the video for extracting timestamps (optional)." }, "verbose": { "type": "boolean", diff --git a/stories/inputs/interface_schemas/ScanImageImagingInterface.json b/stories/inputs/interface_schemas/ScanImageImagingInterface.json index 71b3cb59a1..1affeb16b8 100644 --- a/stories/inputs/interface_schemas/ScanImageImagingInterface.json +++ b/stories/inputs/interface_schemas/ScanImageImagingInterface.json @@ -11,6 +11,12 @@ "type": "string", "description": "Path to Tiff file." }, + "channel_name": { + "type": "string" + }, + "plane_name": { + "type": "string" + }, "fallback_sampling_frequency": { "type": "number" }, diff --git a/stories/inputs/interface_schemas/Spike2RecordingInterface.json b/stories/inputs/interface_schemas/Spike2RecordingInterface.json index e9bf8f6b1a..ad5d913210 100644 --- a/stories/inputs/interface_schemas/Spike2RecordingInterface.json +++ b/stories/inputs/interface_schemas/Spike2RecordingInterface.json @@ -8,7 +8,7 @@ "properties": { "file_path": { "format": "file", - "description": "Path to CED data file.", + "description": "Path to .smr or .smrx file.", "type": "string" }, "verbose": { diff --git a/stories/inputs/interface_schemas/Suite2pSegmentationInterface.json b/stories/inputs/interface_schemas/Suite2pSegmentationInterface.json index f0e101c813..417ff557c6 100644 --- a/stories/inputs/interface_schemas/Suite2pSegmentationInterface.json +++ b/stories/inputs/interface_schemas/Suite2pSegmentationInterface.json @@ -8,13 +8,15 @@ "properties": { "folder_path": { "format": "directory", - "type": "string" + "type": "string", + "description": "Path to the folder containing Suite2p segmentation data. Should contain 'plane#' subfolder(s)." }, "channel_name": { "type": "string" }, "plane_name": { - "type": "string" + "type": "string", + "description": "The name of the plane to load. This interface only loads one plane at a time. Use the full name, e.g. 'plane0'. If this value is omitted, the first plane found will be loaded." }, "plane_segmentation_name": { "type": "string" @@ -22,13 +24,6 @@ "verbose": { "type": "boolean", "default": true - }, - "combined": { - "type": "boolean", - "default": false - }, - "plane_no": { - "type": "number" } }, "type": "object",