datahipy.bids
The datahipy.bids subpackage contains modules that define utility functions to interact with BIDS datasets.
datahipy.bids.const
Define constants used by packages of datahipy.bids.
datahipy.bids.dataset
Utility functions to retrieve BIDS dataset content to be indexed by the Elasticsearch engine of the HIP.
- datahipy.bids.dataset.create_bids_layout(bids_dir=None, **kwargs)[source]
Create a pybids representation of a BIDS dataset.
Parameters
- bids_dirstr
Path to the BIDS dataset.
- kwargsdict
Dictionary of arguments key/value to pass to the pybids BIDSLayout function.
Returns
- layoutpybids.BIDSLayout
Pybids representation of the BIDS dataset.
- datahipy.bids.dataset.create_empty_bids_dataset(bids_dir=None, dataset_desc=None, project_dir=None)[source]
Create an empty BIDS dataset.
Parameters
- bids_dirstr
Path to the BIDS dataset.
- dataset_descdict
Dictionary with the content of the dataset_description.json file.
- project_dirstr
Path to the project directory in which the BIDS dataset will be nested.
- datahipy.bids.dataset.create_initial_bids_changes(bids_dir, content_lines=None)[source]
Create an initial
CHANGESfile for a BIDS dataset.Parameters
- bids_dirstr
Path to the BIDS dataset.
- datahipy.bids.dataset.create_initial_bids_readme(bids_dir, dataset_desc)[source]
Create an initial
READMEfile for a BIDS dataset.Parameters
- bids_dirstr
Path to the BIDS dataset.
- dataset_descdict
Dictionary with the content of the dataset_description.json file.
- datahipy.bids.dataset.create_initial_participants_tsv(bids_dir)[source]
Create an initial
participants.tsvfile for a BIDS dataset.Parameters
- bids_dirstr
Path to the BIDS dataset.
- datahipy.bids.dataset.dataset_clone(input_data, output_file)[source]
Clone a dataset from the public space of the HIP.
Parameters
- input_datastr
Path to the input_data JSON file in the following format:
{ "sourceDatasetPath": "/path/to/public/dataset", "targetDatasetPath": "/path/of/dataset/to/be/cloned/in/private/space", }
- output_filestr
Path to the output cloned dataset summary in JSON format to be indexed by the Data Search Engine of the HIP.
- datahipy.bids.dataset.dataset_publish(input_data, output_file)[source]
Publish a dataset to the public space of the HIP.
Parameters
- input_datastr
Path to the input_data JSON file in the following format:
{ "sourceDatasetPath": "/path/to/private/or/collab/dataset", "targetDatasetPath": "/path/of/dataset/to/be/published/to/public/space", }
- output_filestr
Path to the output published dataset summary in JSON format to be indexed by the Data Search Engine of the HIP.
- datahipy.bids.dataset.get_all_datasets_content(input_data=None, output_file=None)[source]
Return a JSON file containing a list of dataset dictionaries as response to HIP request.
Parameters
- input_datastr
Path to the HIP json request.
- output_filestr
Path to the output JSON file.
- datahipy.bids.dataset.get_bids_layout_info(bids_dir)[source]
Return a dictionary with information retrieved via the PyBIDS BIDSLayout object representation of the dataset.
Parameters
- bids_dirstr
Path to the BIDS dataset.
Returns
- bids_layout_infodict
Dictionary with information retrieved via the PyBIDS BIDSLayout object representation of the dataset.
datahipy.bids.participant
Utility functions to retrieve participant-level information from a BIDS dataset.
- datahipy.bids.participant.get_participants_info(bids_dir)[source]
Update the input
dataset_descdictionary with information from theparticipants.tsvfile.Parameters
- dataset_descdict
Input dictionary with the dataset content to be indexed.
- bids_dirstr
Path to the BIDS dataset.
Returns
- dataset_descdict
Updated dictionary with the dataset content to be indexed.
- datahipy.bids.participant.get_subject_bidsfile_info(bids_dir, **kwargs)[source]
Return a list of dictionaries with BIDS file information for a given subject.
Parameters
- bids_dirstr
Path to the BIDS dataset.
- kwargsdict
Dictionary of arguments key/value to pass to the pybids BIDSLayout.get() function.
Returns
- subject_infolist
List of dictionaries with BIDS file information for a given subject.
datahipy.bids.electrophy
Utility functions to retrieve information about electrophysiology files (EEG/MEG/iEEG) from a BIDS dataset.
- datahipy.bids.electrophy.get_channels_info(channels_tsv_file)[source]
Extract the content from a BIDS _channels.tsv file in JSON format.
Parameters
- channels_tsv_filestr
Path to the BIDS _channels.tsv file.
Returns
- channels_infostr
JSON representation of the content of the BIDS _channels.tsv file.
- datahipy.bids.electrophy.get_ieeg_info(layout)[source]
Return iEEG data information to be integrated in the dictionary summarizing a BIDS dataset for indexing.
Parameters
- dataset_descdict
Input dictionary with the dataset content to be indexed.
- layoutBIDSLayout
BIDSLayout object for the dataset.
Returns
- ieeg_infodict
Dictionary storing iEEG data information to be integrated in the dataset content to be indexed.
datahipy.bids.validation
Functions for validating BIDS datasets.
- datahipy.bids.validation.add_bidsignore_validation_rule(bids_dir, rule)[source]
Create/update a
bidsignorefile to ignore specific files by the BIDS Validator.Parameters
- bids_dirstr
Path to the BIDS dataset.
- rulestr
Rule to add to the
bidsignorefile, e.g. “**/_ct.” to ignore all CT files.
- datahipy.bids.validation.get_bids_validator_output_info(bids_dir, bids_schema_version=None)[source]
Run the bids-validator on the dataset with the specified schema version and the option to ignore subject consistency.
Parameters
- bids_dirstr
Path to the BIDS dataset.
- bids_schema_versionstr
BIDS schema version to use for the validation. (e.g. “v1.7.0”)
Returns
- bids_validator_output_infodict
Dictionary containing the bids-validator output to be integrated in the dataset content to be indexed.
- datahipy.bids.validation.validate_bids_dataset(container_dataset_path, *args)[source]
Validate a BIDS dataset using the BIDS Validator.
Parameters
- container_dataset_pathstr
Path to the BIDS dataset
- argslist
List of options to pass to the
bids-validator. Can be used to ignore warnings (["--ignoreWarnings"]) or nifti headers (["--ignoreNiftiHeaders"]) or to skip checking that any given file for one subject is present for all other subjects (["--ignoreSubjectConsistency"]) or to use a specific BIDS schema (["-s", "v1.6.0"])
Returns
- outputdict
Output of the bids-validator as a dictionary.
- return_codeint
Return code of the bids-validator.
datahipy.bids.version
Utility functions to retrieve version related information from a BIDS dataset.
- datahipy.bids.version.create_bids_changes_tag_entry(tag, changes_list)[source]
Create a release text block entry to be added to the CHANGES file of a BIDS dataset.
Parameters
- tagstr
Tag of the dataset.
- changes_listlist
List of changes to add to the
CHANGESfile.
Returns
- list
List of lines to be written to the
CHANGESfile.
- datahipy.bids.version.determine_bids_schema_version(dataset_desc)[source]
Determine the BIDS schema version of the BIDS dataset against which it will be validated.
Parameters
- dataset_descdict
Content of the dataset_description.json file.
Returns
- bids_schema_versionstr
BIDS schema version against which the BIDS dataset will be validated.
- datahipy.bids.version.manage_bids_dataset_with_datalad(bids_dir)[source]
Create a Datalad dataset out of an existing BIDS dataset not Datalad-managed yet.
- datahipy.bids.version.update_bids_changes(bids_dir, changes_tag_entry)[source]
Append a new release text block to the top to the
CHANGESfile of a BIDS dataset.Parameters
- bids_dirstr
Path to the BIDS dataset.
- tagstr
Tag of the dataset.
- changes_tag_entrylist
List of lines to be written to the
CHANGESfile.
datahipy.bids.bids_manager
Utility functions to modify BIDS datasets created using BIDS_Manager.
- datahipy.bids.bids_manager.clean_empty_events_tsv_files(layout)[source]
Remove empty events.tsv files.
Parameters
- layoutbids.BIDSLayout
BIDSLayout object representation of the BIDS dataset.
- datahipy.bids.bids_manager.correct_bids_ieeg_json_file(bids_ieeg_json)[source]
Correct BIDS iEEG json file.
Parameters
- bids_ieeg_jsonstr
Path to the BIDS iEEG json file.
Returns
- bids_ieeg_json_contentdict
Corrected content overwritten to the BIDS iEEG json file.
- datahipy.bids.bids_manager.correct_bids_ieeg_json_files(layout)[source]
Correct BIDS iEEG json files.
Parameters
- layoutbids.BIDSLayout
BIDSLayout object representation of the BIDS dataset.
- datahipy.bids.bids_manager.correct_run_index_filename(layout)[source]
Correct run index in BIDS filenames.
Parameters
- layoutbids.BIDSLayout
BIDSLayout object representation of the BIDS dataset.
- datahipy.bids.bids_manager.ensure_list_fields_in_dataset_description(bids_dir, fields)[source]
Ensure that some fields are list type in dataset_description.json.
Parameters
- bids_dirstr
Path to the BIDS dataset.
- fieldslist of str
List of fields to ensure are list type.