1- Naming
2- ======
1+ General
2+ =======
33
44
5- Neurodata Types
6- ---------------
75
6+ Names
7+ -----
8+
9+
10+
11+ Standard Names
12+ ~~~~~~~~~~~~~~
813
914As a default, name class instances with the same name as the class.
1015
@@ -22,32 +27,36 @@ Group. In this case the instances must have unique names. If they are both equal
2227the class name (e.g. "ElectricalSeries_1" and "ElectricalSeries_2"). If one of the instances is an extra of less
2328importance, name that one something different (e.g. "ElectricalSeries" and "ElectricalSeries_extra_electrode").
2429
25- Names are not for storing meta-data. If you need to place other data of the same neurodata_type, you will need to
26- choose another name. Keep in mind that meta-data should not be stored solely in the name of objects. It is OK to name
27- an object something like “ElectricalSeries_large_array” however the name alone is not sufficient documentation. In this
28- case, the source of the signal will be clear from the device of the rows from the linked electrodes table region, and
29- you should also include any important distinguishing information in the description field of the object. Make an effort
30- to make meta-data as explicit as possible. Good names help users but do not help applications parse your file.
3130
32- ’/’ is not allowed in names. When creating a custom name, using the forward slash (/) is not allowed, as this can
33- confuse h5py and lead to the creation of an additional group. Instead of including a forward slash in the name, please
34- use “Over” like in DfOverF.
3531
32+ .. _best_practice_name_slashes :
33+
34+ Do Not Use Slashes
35+ ~~~~~~~~~~~~~~~~~~
36+
37+ '/' is not allowed in Group or Dataset names, as this can confuse h5py and lead to the creation of an additional group.
38+ Instead of including a forward slash in the name, please use "Over" like in DfOverF.
3639
37- Processing Modules
38- ------------------
40+ Check function: :py:meth: `~nwbinspector.checks.general.check_name_slashes `
3941
4042
41- Indicate Modality
42- ~~~~~~~~~~~~~~~~~
4343
44- Give preference to default processing module names. These names mirror the extension module names: “ecephys”,
45- “icephys”, “behavior”, “ophys”, “misc”.
44+ Descriptions
45+ ------------
4646
47- We encourage the use of these defaults, but there may be some cases when deviating from this pattern is appropriate.
4847
49- For instance, if there is a processing step that involves data from multiple modalities, or if the user wants to
50- compare two processing pipelines for a single modality (e.g. different spike sorters), you should create
51- Processing Modules with custom names.
5248
53- ProcessingModules are themselves neurodata_types, and the other rules for neurodata_types also apply here.
49+ .. _best_practice_description :
50+
51+ Metadata and Descriptions
52+ ~~~~~~~~~~~~~~~~~~~~~~~~~
53+
54+ Names are not for storing meta-data, so meta-data should not be stored solely in the name of objects. It is OK to name
55+ an object something like “ElectricalSeries_large_array” however the name alone is not sufficient documentation. In this
56+ case, the source of the signal will be clear from the device of the rows from the linked electrodes table region, and
57+ you should also include any important distinguishing information in the description field of the object. Make an effort
58+ to make meta-data as explicit as possible. Good names help users but do not help applications parse your file.
59+
60+ As such, it is not recommended to use blank or default 'placeholder' descriptions.
61+
62+ Check function: :py:meth: `~nwbinspector.checks.general.check_description `
0 commit comments