Skip to content

Commit 31fad7f

Browse files
committed
Updated the docs on tools/, scripts/, validator
1 parent 14082cf commit 31fad7f

24 files changed

Lines changed: 492 additions & 5 deletions

docs/api/tools.rst

Lines changed: 131 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,30 @@ EventManager
1414
:undoc-members:
1515
:show-inheritance:
1616

17+
EventChecker
18+
~~~~~~~~~~~~
19+
20+
.. autoclass:: hed.tools.analysis.event_checker.EventChecker
21+
:members:
22+
:undoc-members:
23+
:show-inheritance:
24+
25+
EventsChecker
26+
~~~~~~~~~~~~~
27+
28+
.. autoclass:: hed.tools.analysis.event_checker.EventsChecker
29+
:members:
30+
:undoc-members:
31+
:show-inheritance:
32+
33+
EventsSummary
34+
~~~~~~~~~~~~~
35+
36+
.. autoclass:: hed.tools.analysis.events_summary.EventsSummary
37+
:members:
38+
:undoc-members:
39+
:show-inheritance:
40+
1741
HedTagManager
1842
~~~~~~~~~~~~~
1943

@@ -22,6 +46,22 @@ HedTagManager
2246
:undoc-members:
2347
:show-inheritance:
2448

49+
HedTagCount
50+
~~~~~~~~~~~
51+
52+
.. autoclass:: hed.tools.analysis.hed_tag_counts.HedTagCount
53+
:members:
54+
:undoc-members:
55+
:show-inheritance:
56+
57+
HedTagCounts
58+
~~~~~~~~~~~~
59+
60+
.. autoclass:: hed.tools.analysis.hed_tag_counts.HedTagCounts
61+
:members:
62+
:undoc-members:
63+
:show-inheritance:
64+
2565
HedTypeManager
2666
~~~~~~~~~~~~~~
2767

@@ -30,6 +70,46 @@ HedTypeManager
3070
:undoc-members:
3171
:show-inheritance:
3272

73+
HedType
74+
~~~~~~~
75+
76+
.. autoclass:: hed.tools.analysis.hed_type.HedType
77+
:members:
78+
:undoc-members:
79+
:show-inheritance:
80+
81+
HedTypeDefs
82+
~~~~~~~~~~~
83+
84+
.. autoclass:: hed.tools.analysis.hed_type_defs.HedTypeDefs
85+
:members:
86+
:undoc-members:
87+
:show-inheritance:
88+
89+
HedTypeFactors
90+
~~~~~~~~~~~~~~
91+
92+
.. autoclass:: hed.tools.analysis.hed_type_factors.HedTypeFactors
93+
:members:
94+
:undoc-members:
95+
:show-inheritance:
96+
97+
HedTypeCount
98+
~~~~~~~~~~~~
99+
100+
.. autoclass:: hed.tools.analysis.hed_type_counts.HedTypeCount
101+
:members:
102+
:undoc-members:
103+
:show-inheritance:
104+
105+
HedTypeCounts
106+
~~~~~~~~~~~~~
107+
108+
.. autoclass:: hed.tools.analysis.hed_type_counts.HedTypeCounts
109+
:members:
110+
:undoc-members:
111+
:show-inheritance:
112+
33113
TabularSummary
34114
~~~~~~~~~~~~~~
35115

@@ -38,10 +118,10 @@ TabularSummary
38118
:undoc-members:
39119
:show-inheritance:
40120

41-
HedType
42-
~~~~~~~
121+
ColumnNameSummary
122+
~~~~~~~~~~~~~~~~~
43123

44-
.. autoclass:: hed.tools.analysis.hed_type.HedType
124+
.. autoclass:: hed.tools.analysis.column_name_summary.ColumnNameSummary
45125
:members:
46126
:undoc-members:
47127
:show-inheritance:
@@ -54,6 +134,29 @@ FileDictionary
54134
:undoc-members:
55135
:show-inheritance:
56136

137+
KeyMap
138+
~~~~~~
139+
140+
.. autoclass:: hed.tools.analysis.key_map.KeyMap
141+
:members:
142+
:undoc-members:
143+
:show-inheritance:
144+
145+
TemporalEvent
146+
~~~~~~~~~~~~~
147+
148+
.. autoclass:: hed.tools.analysis.temporal_event.TemporalEvent
149+
:members:
150+
:undoc-members:
151+
:show-inheritance:
152+
153+
Annotation utilities
154+
~~~~~~~~~~~~~~~~~~~~
155+
156+
.. automodule:: hed.tools.analysis.annotation_util
157+
:members:
158+
:undoc-members:
159+
57160
BIDS tools
58161
----------
59162

@@ -101,5 +204,29 @@ BIDS utilities
101204
~~~~~~~~~~~~~~
102205

103206
.. automodule:: hed.tools.bids.bids_util
104-
:members: parse_bids_filename
207+
:members:
208+
:undoc-members:
209+
210+
Utility functions
211+
-----------------
212+
213+
DataFrame utilities
214+
~~~~~~~~~~~~~~~~~~~
215+
216+
.. automodule:: hed.tools.util.data_util
217+
:members:
218+
:undoc-members:
219+
220+
File/IO utilities
221+
~~~~~~~~~~~~~~~~~
222+
223+
.. automodule:: hed.tools.util.io_util
224+
:members:
225+
:undoc-members:
226+
227+
Schema utilities
228+
~~~~~~~~~~~~~~~~
229+
230+
.. automodule:: hed.tools.util.schema_util
231+
:members:
105232
:undoc-members:

docs/api/validator.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,74 @@ OnsetValidator
4949
:undoc-members:
5050
:show-inheritance:
5151

52+
ReservedChecker
53+
~~~~~~~~~~~~~~~
54+
55+
.. autoclass:: hed.validator.reserved_checker.ReservedChecker
56+
:members:
57+
:undoc-members:
58+
:show-inheritance:
59+
60+
Validator utilities
61+
-------------------
62+
63+
CharValidator
64+
~~~~~~~~~~~~~
65+
66+
.. autoclass:: hed.validator.util.char_util.CharValidator
67+
:members:
68+
:undoc-members:
69+
:show-inheritance:
70+
71+
CharRexValidator
72+
~~~~~~~~~~~~~~~~
73+
74+
.. autoclass:: hed.validator.util.char_util.CharRexValidator
75+
:members:
76+
:undoc-members:
77+
:show-inheritance:
78+
79+
UnitValueValidator
80+
~~~~~~~~~~~~~~~~~~
81+
82+
.. autoclass:: hed.validator.util.class_util.UnitValueValidator
83+
:members:
84+
:undoc-members:
85+
:show-inheritance:
86+
87+
DuplicateChecker
88+
~~~~~~~~~~~~~~~~
89+
90+
.. autoclass:: hed.validator.util.dup_util.DuplicateChecker
91+
:members:
92+
:undoc-members:
93+
:show-inheritance:
94+
95+
GroupValidator
96+
~~~~~~~~~~~~~~
97+
98+
.. autoclass:: hed.validator.util.group_util.GroupValidator
99+
:members:
100+
:undoc-members:
101+
:show-inheritance:
102+
103+
StringValidator
104+
~~~~~~~~~~~~~~~
105+
106+
.. autoclass:: hed.validator.util.string_util.StringValidator
107+
:members:
108+
:undoc-members:
109+
:show-inheritance:
110+
111+
TagValidator
112+
~~~~~~~~~~~~
113+
114+
.. autoclass:: hed.validator.util.tag_util.TagValidator
115+
:members:
116+
:undoc-members:
117+
:show-inheritance:
118+
119+
52120
Validation utilities
53121
--------------------
54122

hed/scripts/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Legacy CLI entry point scripts (deprecated — prefer the ``hedpy`` CLI)."""

hed/scripts/add_hed_ids.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
"""CLI script to add missing HED IDs to a schema in the hed-schemas repository."""
2+
13
from hed.scripts.schema_script_util import get_prerelease_path
24
from hed.scripts.hed_convert_schema import convert_and_update
35
import argparse
@@ -6,6 +8,12 @@
68

79
# Slightly tweaked version of hed_convert_schema.py with a new main function to allow different parameters.
810
def main():
11+
"""Entry point: parse arguments and add HED IDs to the specified schema version.
12+
13+
Returns:
14+
int: 0 on success, non-zero on failure.
15+
16+
"""
917
parser = argparse.ArgumentParser(description="Add hed ids to a specific schema.")
1018
parser.add_argument("repo_path", help="The location of the hed-schemas directory")
1119
parser.add_argument("schema_name", help='The name of the schema("standard" for standard schema) to modify')

hed/scripts/hed_convert_schema.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
"""CLI script to validate and convert HED schema files across formats (XML, MediaWiki, TSV, JSON)."""
2+
13
from hed.scripts.schema_script_util import sort_base_schemas, validate_all_schemas, add_extension
24
from hed.schema.schema_io import load_dataframes, save_dataframes
35
from hed.schema.schema_io.hed_id_util import update_dataframes_from_schema
@@ -76,6 +78,15 @@ def convert_and_update(filenames, set_ids):
7678

7779

7880
def main(arg_list=None):
81+
"""Entry point: parse arguments and convert/validate the named schema files.
82+
83+
Parameters:
84+
arg_list (list[str] or None): Argument list for testing; uses sys.argv if None.
85+
86+
Returns:
87+
int: 0 on success, non-zero if validation fails.
88+
89+
"""
7990
parser = argparse.ArgumentParser(description="Update other schema formats based on the changed one.")
8091
parser.add_argument("filenames", nargs="*", help="List of files to process")
8192
parser.add_argument("--set-ids", action="store_true", help="Add missing HED ids")

hed/scripts/schema_script_util.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
"""Shared utilities for schema validation, sorting, and format conversion used by CLI scripts."""
2+
13
import os.path
24
from collections import defaultdict
35
from hed.schema import from_string, load_schema, from_dataframes

hed/scripts/validate_bids.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,15 @@ def format_final_report(issue_list):
196196

197197

198198
def main(arg_list=None):
199+
"""Entry point: parse arguments, validate the BIDS dataset, and print a summary report.
200+
201+
Parameters:
202+
arg_list (list[str] or None): Argument list for testing; uses sys.argv if None.
203+
204+
Returns:
205+
int: 0 if no issues found, 1 if validation issues are present.
206+
207+
"""
199208
# Create the argument parser
200209
parser = get_parser()
201210

@@ -231,6 +240,16 @@ def main(arg_list=None):
231240

232241

233242
def validate_dataset(args):
243+
"""Run HED validation on the BIDS dataset described by args and return the issue list.
244+
245+
Parameters:
246+
args (argparse.Namespace): Parsed CLI arguments including data_path, suffixes, and
247+
check_for_warnings.
248+
249+
Returns:
250+
list[dict]: Validation issue dictionaries (empty list if no issues).
251+
252+
"""
234253
logger = logging.getLogger("validate_bids")
235254
logger.info(f"Data directory: {args.data_path}")
236255
logger.info(f"HEDTools version: {__version__}")

hed/scripts/validate_schemas.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
"""CLI script to validate HED schema files for compliance and format consistency."""
2+
13
import sys
24
from hed.scripts.schema_script_util import validate_all_schemas, sort_base_schemas
35
from hed.errors import get_printable_issue_string
@@ -20,6 +22,15 @@ def get_parser():
2022

2123

2224
def main(arg_list=None):
25+
"""Entry point: parse arguments and validate the specified schema files.
26+
27+
Parameters:
28+
arg_list (list[str] or None): Argument list for testing; uses sys.argv if None.
29+
30+
Returns:
31+
int: 0 if all schemas are valid, 1 if any issues are found.
32+
33+
"""
2334
parser = get_parser()
2435
args = parser.parse_args(arg_list)
2536

hed/tools/analysis/event_checker.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
"""Checker that validates event-level HED annotation quality for BIDS datasets."""
2+
13
from hed.errors.error_types import TagQualityErrors
24
from hed.errors import ErrorHandler, ErrorContext, sort_issues
35
from hed.tools import EventManager, HedTagManager
46

57

68
class EventChecker:
9+
"""Validates that HED-annotated events meet quality requirements such as having a top-level event tag."""
10+
711
EVENT_TAGS = {
812
"Event",
913
"Sensory-event",

0 commit comments

Comments
 (0)