standardize#
- neurocaps.analysis.standardize(subject_timeseries_list, return_dicts=True, output_dir=None, filenames=None)[source]#
Perform Participant-wise Timeseries Standardization Within Runs.
Standardizes the columns/ROIs of each run independently for all subjects in the subject timeseries. Uses sample standard deviation with Bessel’s correction (n-1 in denominator). Primarily to be used when standardizing was not done in
TimeseriesExtractor.Note
Standard deviations below
np.finfo(std.dtype).epsare replaced with 1 for numerical stability.- Parameters:
subject_timeseries_list (
list[SubjectTimeseries]orlist[str]) – A list where each element consist of a dictionary mapping subject IDs to their run IDs and associated timeseries (TRs x ROIs) as a NumPy array. Can also be a list consisting of paths to pickle files containing this same structure. Refer to documentation forSubjectTimeseriesin the “See Also” section for an example structure.return_dicts (
bool, default=True) – If True, returns a single dictionary containing the standardized input dictionaries. Keys are named “dict_{0}” where {0} corresponds to the dictionary’s position in the input list.output_dir (
strorNone, default=None) – Directory to save the standardized dictionaries as pickle files. The directory will be created if it does not exist. Dictionaries will not be saved if None.filenames (
list[str]orNone, default=None) – A list of names to save the standardized dictionaries as. Names are matched to dictionaries by position (e.g., a file name in the 0th position will be the file name for the dictionary in the 0th position ofsubject_timeseries_list). If None andoutput_diris specified, uses default file names - “subject_timeseries_{0}_standardized.pkl” (where {0} indicates the original input order).
- Returns:
dict[str, SubjectTimeseries] – A nested dictionary containing the standardized subject timeseries if
return_dictsis True.
See also
neurocaps.typing.SubjectTimeseriesType definition for the subject timeseries dictionary structure.