Skip to content

Complete action reference

This page is generated from the live registry and documents all 70 callable actions. The signature and parameter tables are therefore the contract enforced by the runner, not a parallel handwritten list.

All successful actions return data, warnings, provenance, and an equivalent replay script. File-writing actions place files under root; source recordings remain read-only.

inspect

Grounding snapshot: actions, defaults, and optional recording metadata.

cw.call("inspect", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

describe_config

Every config key, default, and enum domain.

cw.call("describe_config")

This action has no parameters.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

normalize_config

Clamp and complete a partial config.

cw.call("normalize_config", config=None)
Name Type Required Default Units Meaning
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

normalization_methods

Every value-normalisation method, formula, alias and requirement.

cw.call("normalization_methods")

This action has no parameters.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

normalize

Normalise one selected trace with an explicit, reproducible method.

cw.call("normalize", recording, config=None, normalization_method='minmax', target_min=-1.0, target_max=1.0, reference_value=None, reference_start_hours=None, reference_end_hours=None, reference_statistic='mean', standard_deviation_ddof=0, detrended=False, envelope_floor_fraction=0.1)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
normalization_method string no "minmax" - Transformation to apply. Canonical choices are none, mean_center, median_center, zscore, robust_zscore, robust_scale, own_mean, own_daily_total, minmax, max_abs, reference_delta, fold_change, delta_over_reference, log2_fold_change, percent_of_reference, percent_change, envelope and pre_treatment_cycle. Aliases include range for minmax, extreme or to_extreme for max_abs, z for zscore, dff for delta_over_reference, and fold for fold_change.
target_min float no -1.0 normalised units Lower output bound for minmax range scaling; ignored by other methods.
target_max float no 1.0 normalised units Upper output bound for minmax range scaling; must exceed target_min.
reference_value float no null recording units Explicit baseline for reference_delta, fold_change, delta_over_reference, log2_fold_change, percent_of_reference, percent_change or pre_treatment_cycle. Use this or a reference time window, never both.
reference_start_hours float no null hours Inclusive start of the baseline window, in hours from the selected recording start. Must be paired with reference_end_hours.
reference_end_hours float no null hours Inclusive end of the baseline window used to calculate the reference. Must exceed and be paired with reference_start_hours.
reference_statistic string no "mean" - How a reference time window is reduced: mean or median.
standard_deviation_ddof integer no 0 - Degrees of freedom removed from the z-score standard-deviation divisor: 0 for a population, 1 for a sample.
detrended boolean no false - Whether inputs are already baseline-subtracted.
envelope_floor_fraction float no 0.1 fraction For envelope normalisation, return missing values after the fitted oscillation envelope falls below this fraction of its starting amplitude. Must lie from 0 inclusive to 1 exclusive.

Config: all keys and defaults.

Result access: declared.

Figure views: processed_trace.

load_recording

Import a recording and return metadata.

cw.call("load_recording", recording)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

list_output

List files written under the output root.

cw.call("list_output")

This action has no parameters.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

set_group_colours

Fix the colour a named group is drawn in, overriding the house cycle.

cw.call("set_group_colours", colours=None)
Name Type Required Default Units Meaning
colours object no null - Group label to colour: {'WT': 'circadian_teal', 'KO': '#ff00aa'}. A house colour name, a matplotlib name, or a literal hex. Omit to read the current table; pass {} to clear it. Applies to every figure drawn afterwards, so a group keeps its colour regardless of what order the groups arrive in.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

summary

Headline read on one recording: period, rhythm, quality, metrics.

cw.call("summary", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

analyze

Full analysis with selectable sections.

cw.call("analyze", recording, config=None, sections=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
sections array of string no null - Analysis sections to return; use ['all'] for full output.

Config: all keys and defaults.

Result access: composite.

Figure views: activity_profile, periodograms, daily_timing, onset_interval_serial, fft_spectrum, autocorrelation, bout_lengths, interbout_serial, time_series, wavelet, actogram, period_methods.

quality

Data-quality metrics for the selected window.

cw.call("quality", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

rhythm

Rhythmic/arrhythmic verdict for the configured periodogram.

cw.call("rhythm", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

periodograms

Lomb-Scargle, chi-square and F periodograms.

cw.call("periodograms", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: periodograms.

daily_measures

Daily onset, offset, alpha and phase markers.

cw.call("daily_measures", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: daily_timing.

onset_fits

Regression fits through daily onsets and offsets.

cw.call("onset_fits", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

profile

Folded average-day activity profile.

cw.call("profile", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: activity_profile.

peak_aligned_profile

Align an average-cycle profile to a participant morning or evening peak.

cw.call("peak_aligned_profile", recording, config=None, peak_period, anchor_amplitude=None, peak_options=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
peak_period string yes - Peak to detect and align: morning (07:00-14:00) or evening (17:00-22:00).
anchor_amplitude float no null activity amplitude Optional established participant peak amplitude. When supplied, the unsmoothed aligned profile is scaled so time zero equals this value.
peak_options object no null - Peak-alignment options: alignment_window_hours, smoothing_window_bins, polynomial_order, minimum_peak_distance_hours, active_window_hours, and allow_window_max_fallback.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

cosinor

Cosinor fit at the configured period.

cw.call("cosinor", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

period_methods

Which period methods are available, and what each one can report.

cw.call("period_methods")

This action has no parameters.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

estimate_period

Period, phase and amplitude by one named method.

cw.call("estimate_period", recording, config=None, method=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
method string no null - Which period method to run: lomb, chi_square, f, fft_nlls, mesa, mfourfit, spectrum_resampling, jtk or ejtk. Omit to use the config's period_method (default lomb). Run period_methods for what each one can and cannot report -- MESA and mFourFit give no error bar and no significance measure, and FFT-NLLS is the only one that yields RAE.

Config: all keys and defaults.

Result access: declared.

Figure views: period_methods.

compare_periods

Run several period methods over one record and return one comparison table.

cw.call("compare_periods", recording, config=None, methods=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
methods array of strings no null - Which period methods to compare, as a list of registry keys. Omit to use the config's period_methods. BioDare2's advice is to pair any method that cannot test significance (MESA, mFourFit, FFT-NLLS) with one that can (lomb), and discard the rest if the Lomb-Scargle periodogram rejects the record.

Config: all keys and defaults.

Result access: declared.

Figure views: compare_periods.

rhythmicity

JTK / eJTK rhythmicity test across sparsely sampled series, corrected together.

cw.call("rhythmicity", recordings, config=None, rhythmicity_method=None)
Name Type Required Default Units Meaning
recordings array of recording specs yes - Recordings to pool into one group trace.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
rhythmicity_method string no null - jtk for classic JTK_CYCLE or ejtk for the permutation null (default). eJTK is the one to use; classic JTK is kept for comparability with published work and is known to be anti-conservative. Both are for sparsely sampled, omics-like data -- a densely sampled record is binned down to jtk_max_points before either sees it.

Config: all keys and defaults.

Result access: declared.

Figure views: rhythmicity.

nonparametric

IS, IV, RA, L5 and M10 metrics.

cw.call("nonparametric", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

bouts

Activity bout detection and summary statistics.

cw.call("bouts", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: bout_lengths, interbout_serial.

fft

FFT amplitude or power spectrum.

cw.call("fft", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: fft_spectrum.

autocorrelation

Autocorrelation function and best period.

cw.call("autocorrelation", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: autocorrelation.

wavelet

Continuous wavelet transform power and ridge.

cw.call("wavelet", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: wavelet.

actogram

Actogram matrix and display levels (the numbers behind the plot).

cw.call("actogram", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

time_series

Binned time series for every measurement channel.

cw.call("time_series", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: time_series.

select_frame

Selected sample window as records, with truncation metadata.

cw.call("select_frame", recording, config=None, limit=200)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
limit integer no 200 rows Maximum rows returned by select_frame.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

methods_paragraph

Publication-ready Methods paragraph for the actual analysis.

cw.call("methods_paragraph", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

analysis_script

Generate (but do not save) a runnable Python script that reproduces this analysis.

cw.call("analysis_script", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

write_analysis_script

Write the replay script under root/scripts.

cw.call("write_analysis_script", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

render_actogram

Render actogram SVG under root/figures.

cw.call("render_actogram", recording, config=None, options=None, individual_layers=False)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
options object no null - Actogram export options.
individual_layers boolean no false - Also write one SVG per measurement channel.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

render_figures

Render the full figure set under root/figures.

cw.call("render_figures", recording, config=None, interface_state=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
interface_state object no null - Figure-selection state from the UI.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

detrend

Baseline subtract, smooth, optionally exclude transients, and fit damping.

cw.call("detrend", recording, config=None, detrend_method='running_mean', window_hours=24.0, polynomial_degree=3, min_valid_fraction=0.5, bandwidth_hours=None, low_cut_hours=45.0, high_cut_hours=4.0, filter_order=2, lowess_fraction=None, lowess_iterations=3, asls_smoothness=1000000.0, asls_asymmetry=0.01, asls_iterations=10, smooth_window_hours=0.0, exclude_hours=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
detrend_method string no "running_mean" - Baseline removal method: none, linear, robust_linear/Huber, first_difference, running_mean, moving_median, lowess/loess, savitzky_golay, polynomial (including cubic/bicubic and poly6), kernel/baseline, amp_baseline, asymmetric_least_squares/asls, or frequency.
window_hours float no 24.0 hours Baseline window.
polynomial_degree integer no 3 count Polynomial baseline degree; poly6/degree6 force 6 and cubic/poly3/bicubic force 3.
min_valid_fraction float no 0.5 dimensionless Minimum finite share of a local smoothing window.
bandwidth_hours float no null hours Gaussian kernel standard deviation; omitted uses one quarter of window_hours.
low_cut_hours float no 45.0 hours Longest period retained by frequency detrending.
high_cut_hours float no 4.0 hours Shortest period retained by frequency detrending.
filter_order integer no 2 count Butterworth frequency-filter order.
lowess_fraction float no null dimensionless Fraction of finite samples in each LOWESS local fit; omitted derives it from window_hours.
lowess_iterations integer no 3 count LOWESS robust residual-reweighting passes after the initial local fit; 0 disables reweighting.
asls_smoothness float no 1000000.0 dimensionless Positive second-difference penalty for asymmetric least squares; larger is smoother.
asls_asymmetry float no 0.01 dimensionless Weight in (0, 0.5) for points above the asymmetric baseline; smaller excludes positive peaks more strongly.
asls_iterations integer no 10 count Asymmetric least-squares reweighting passes, from 1 to 100.
smooth_window_hours float no 0.0 hours Centred smoothing window; zero disables smoothing.
exclude_hours float no null hours Leading hours to discard before fitting.

Config: all keys and defaults.

Result access: declared.

Figure views: processed_trace.

group_profile

Pool recordings into a mean +/- SEM group trace.

cw.call("group_profile", recordings, config=None, normalize='own_mean', time_axis='clock_time', pool_order='profile_then_pool', statistic='mean', within_recording_reducer='mean', detrended=False)
Name Type Required Default Units Meaning
recordings array of recording specs yes - Recordings to pool into one group trace.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
normalize string no "own_mean" - Value normalisation before pooling. Accepts none, mean_center, median_center, zscore, robust_zscore, robust_scale, own_mean, own_daily_total, minmax, max_abs, reference_delta, fold_change, delta_over_reference, log2_fold_change, percent_of_reference, percent_change, envelope or pre_treatment_cycle. Reference-based methods require reference metadata on each profile; use normalization_methods for formulas.
time_axis string no "clock_time" - clock_time, tau_scaled, or onset_aligned.
pool_order string no "profile_then_pool" - profile_then_pool or virtual_animal.
statistic string no "mean" - mean or median.
within_recording_reducer string no "mean" - How each recording contributes at each phase bin before pooling: mean averages selected cycles; max retains the largest observed binned value across the selected recording.
detrended boolean no false - Whether inputs are already baseline-subtracted.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

phase_response_curve

Circadian time of a stimulus, per-animal shift, the cohort PRC and its type.

cw.call("phase_response_curve", animals, config=None)
Name Type Required Default Units Meaning
animals array of objects yes - One entry per animal in the pulse experiment. Either a record to score -- {'recording': spec, 'stimulus': '2026-01-08 18:00', 'label': 'm01', 'config': {...}} -- or a point already scored elsewhere: {'circadian_time': 15.2, 'shift_hours': -1.4, 'label': 'm01'}. A record needs fit1_start/fit1_end before the pulse and fit2_start/fit2_end after it in its config, and 'stimulus' is the wall-clock time the pulse landed (or hours from the start of the record's first day). An animal whose pre-stimulus fit is too short is dropped with a warning rather than failing the cohort.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: phase_response_curve.

compare_phase_response_curves

Fit two cohorts' phase response curves with one model and test each difference.

cw.call("compare_phase_response_curves", shift_cohorts, config=None, unit='animal')
Name Type Required Default Units Meaning
shift_cohorts object yes - Two labelled cohorts of pulsed animals, to test whether their phase response curves differ: {'WT': [animal, ...], 'KO': [...]}. Each animal takes the same shape phase_response_curve's animals does -- a record to score, or a point already scored. Exactly two cohorts: which contrast is meant is a decision about the experiment.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
unit string no "animal" - Independent animal supplying each phase-response point; the legacy default is animal.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

instantaneous_phase

Hilbert phase, instantaneous period and amplitude envelope over time.

cw.call("instantaneous_phase", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: instantaneous_phase.

phase_comparison

Circular summary and between-group test for phase.

cw.call("phase_comparison", phases, config=None, period_hours=None)
Name Type Required Default Units Meaning
phases object yes hours Phase values grouped by label: {'WT': [6.1, 5.8, ...], 'KO': [...]}. These are phases the caller already has -- onset hours from daily_measures, phase_hours from estimate_period, or their own scoring. This action does not compute phases, so the numbers may come from anywhere as long as they are clock hours on one shared period.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
period_hours float no null hours The cycle the phases live on. Omit to use the config's period_hours (24 h by default). A free-running cohort should pass its own tau, so that 'one cycle' means one of the animals' cycles rather than one solar day. splitting uses it for a second purpose that is the same idea: the period the resolution element P**2/T is worked out at, which sets how far apart two components must be before that record can show them to differ.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

phase_summary

Circular mean, concentration and Rayleigh test for one set of phases.

cw.call("phase_summary", phase_values, config=None, period_hours=None, label='')
Name Type Required Default Units Meaning
phase_values array yes hours Phase values for one group or tissue, expressed on one shared cycle.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
period_hours float no null hours The cycle the phases live on. Omit to use the config's period_hours (24 h by default). A free-running cohort should pass its own tau, so that 'one cycle' means one of the animals' cycles rather than one solar day. splitting uses it for a second purpose that is the same idea: the period the resolution element P**2/T is worked out at, which sets how far apart two components must be before that record can show them to differ.
label string no "" - Readable name returned with the single-group phase summary.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

synchrony

Kuramoto coherence over single cells, and whether damping is desynchrony or amplitude loss.

cw.call("synchrony", traces, hours, config=None)
Name Type Required Default Units Meaning
traces object or array yes recording units Single-cell traces on one shared time grid: {'roi_1': [values], ...}. Per-ROI output from a slice recording.
hours array yes hours The shared time grid the traces are sampled on, in hours from the start of the recording.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: synchrony.

period_dispersion

Whether a population lost coherence because its cells' periods diverged or because their phases were displaced.

cw.call("period_dispersion", traces, hours, config=None)
Name Type Required Default Units Meaning
traces object or array yes recording units Single-cell traces on one shared time grid: {'roi_1': [values], ...}. Per-ROI output from a slice recording.
hours array yes hours The shared time grid the traces are sampled on, in hours from the start of the recording.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: period_dispersion.

phase_angle

How far the animal's daily marker sits from the light transition, and whether that angle held.

cw.call("phase_angle", recording, cohorts=None, config=None, marker=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
cohorts object no null - Recordings grouped by label, to test whether the groups hold different angles of entrainment: {'WT': [spec, ...], 'KO': [...]}. One angle per animal, so the unit of analysis is the animal. Omit it and only the focal recording is answered for.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
marker string no null - Which daily marker the angle of entrainment is measured from: onset, offset or acrophase. Defaults to the entrainment_marker config key, and is never guessed from the data.

Config: all keys and defaults.

Result access: declared.

Figure views: phase_angle.

reentrainment

How many cycles the animal took to catch up with a shifted schedule, and at what rate.

cw.call("reentrainment", recording, config=None, shift_day=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
shift_day string no null - The date the light schedule moved, as YYYY-MM-DD. Omit it and the date is read out of the schedule itself; supply it when the schedule in the config does not carry the move. The shift date belongs to neither side: the first full day on the new schedule is day 1.

Config: all keys and defaults.

Result access: declared.

Figure views: reentrainment.

masking

Whether a light pulse changed activity while it was on, which is not the same finding as a phase shift.

cw.call("masking", recording, pulse_start, pulse_hours, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
pulse_start string yes - When the light pulse began, as an ISO date-time (2026-05-11T22:00). The same clock window on the days before it becomes the control.
pulse_hours float yes hours How long the pulse lasted. Must be greater than zero.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: masking.

sleep

Sleep scored as sustained immobility, split by light and dark, with bouts and fragmentation.

cw.call("sleep", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: sleep.

food_anticipation

Whether the animal became active before a declared mealtime, and whether that anticipation survived a fast.

cw.call("food_anticipation", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: food_anticipation.

two_process_fit

Fit the two-process model of sleep regulation to a scored record, and report which of its parameters the record does not separate.

cw.call("two_process_fit", sleep_result, period_hours=24.0, acrophase_hours=0.0, config=None)
Name Type Required Default Units Meaning
sleep_result object yes - An immobility_sleep result, whole. A record it refused to score is refused here for the same reason rather than re-derived.
period_hours float no 24.0 hours Fixed cycle of the two-process sleep fit; omitted or null uses the installed reference-cycle default, not a search range.
acrophase_hours number no 0.0 hours Circadian-term acrophase of the sleep model; omitted or null uses zero on the declared cycle.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: two_process_fit.

two_process_predict

Run the fitted sleep model forward under a proposed cycle length, once per parameter set the record cannot rule out.

cw.call("two_process_predict", fit, schedule, config=None)
Name Type Required Default Units Meaning
fit object yes - A two_process_fit result, whole. A fit with no parameters -- a record the model refused -- is refused here rather than run with defaults.
schedule object yes - The proposed schedule: days, period_hours, and optionally acrophase_hours and label. The acrophase defaults to the one the record was fitted under, which assumes the animal holds the same phase angle; where it would not, entrainment_range predicts the new one and it should be passed here.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: two_process_predict.

entrainment_range

Which zeitgeber periods a measured phase response curve predicts this animal can entrain to, and the phase angle it would sit at.

cw.call("entrainment_range", curve, tau_hours, config=None)
Name Type Required Default Units Meaning
curve object yes - A phase_response_curve result, whole. Its fit is what is iterated; a curve with no fit -- too few animals -- is refused rather than predicted from.
tau_hours number yes hours The animal's own free-running period, in hours. The cohort curve does not carry it because a cohort has one per animal.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: entrainment_range.

predicted_reentrainment

How many cycles the same curve predicts a schedule shift will take, and the transient on the way.

cw.call("predicted_reentrainment", curve, tau_hours, shift_hours, t_hours=24.0, config=None)
Name Type Required Default Units Meaning
curve object yes - A phase_response_curve result, whole. Its fit is what is iterated; a curve with no fit -- too few animals -- is refused rather than predicted from.
tau_hours number yes hours The animal's own free-running period, in hours. The cohort curve does not carry it because a cohort has one per animal.
shift_hours number yes hours How far the schedule moved, in hours, POSITIVE for an advance -- the transition arriving earlier -- which is the phase response curve's own sign convention.
t_hours number no 24.0 hours The zeitgeber period the animal is being shifted within, in hours.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: predicted_reentrainment.

paired_measures

The same subjects measured in two epochs: what moved, by how much, and whether pairing bought any precision.

cw.call("paired_measures", epochs, config=None, circular_measures=None)
Name Type Required Default Units Meaning
epochs object yes - The epochs of one study, each a list of subject entries: {"baseline": [{"subject_id": "m01", "measures": {"period_hours": 23.8}}, ...], "treatment": [...]}. Pairing is by subject_id, so a subject missing from any epoch is dropped and named. paired_measures takes exactly two and longitudinal_measures three or more; each refuses the other's shape by name.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
circular_measures array no null - Which measure names are clock times rather than plain numbers, e.g. ["acrophase_hours"]. Those are differenced round the circle -- 23.5 h to 00.5 h is +1 h, not -23 h -- and tested with a Rayleigh test. Nothing is inferred from a name.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

longitudinal_measures

The same subjects measured at three or more ordered visits: the omnibus across visits, the linear trend along them, and the pairs.

cw.call("longitudinal_measures", epochs, config=None, circular_measures=None, order=None)
Name Type Required Default Units Meaning
epochs object yes - The epochs of one study, each a list of subject entries: {"baseline": [{"subject_id": "m01", "measures": {"period_hours": 23.8}}, ...], "treatment": [...]}. Pairing is by subject_id, so a subject missing from any epoch is dropped and named. paired_measures takes exactly two and longitudinal_measures three or more; each refuses the other's shape by name.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
circular_measures array no null - Which measure names are clock times rather than plain numbers, e.g. ["acrophase_hours"]. Those are differenced round the circle -- 23.5 h to 00.5 h is +1 h, not -23 h -- and tested with a Rayleigh test. Nothing is inferred from a name.
order array no null - The epoch labels in study order, e.g. ["baseline", "6_months", "12_months"]. The linear trend is fitted along this axis, so it decides what rising and falling mean. Without it the order the epochs arrived in is used and said to have been assumed.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

channel_comparison

The lag between two measurement channels of one subject, with each channel's own period so the lag is not misread as a phase angle.

cw.call("channel_comparison", recording, channels, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
channels array yes - Exactly two measurement channel keys from this recording, e.g. ["activity", "body_temperature"]. Use inspect to list what a recording carries.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: channel_comparison.

splitting

Two circadian components running at once, or the reason the record carries one.

cw.call("splitting", recording, config=None, period_hours=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
period_hours float no null hours The cycle the phases live on. Omit to use the config's period_hours (24 h by default). A free-running cohort should pass its own tau, so that 'one cycle' means one of the animals' cycles rather than one solar day. splitting uses it for a second purpose that is the same idea: the period the resolution element P**2/T is worked out at, which sets how far apart two components must be before that record can show them to differ.

Config: all keys and defaults.

Result access: declared.

Figure views: splitting.

ultradian

The strongest component faster than a day, and how large it is beside the daily one.

cw.call("ultradian", recording, config=None)
Name Type Required Default Units Meaning
recording recording spec yes - The record to analyse: {'path': 'data/m01.awd'} (a bare path string also works), {'demo': true} for the built-in deterministic record, {'inline': {'filename': ..., 'text': ...}} for tabular text, {'trace': {'hours': [...], 'values': [...], 'name': ...}} for one elapsed-time trace, or {'channels': {'hours': [...], 'values': {'reporter_a': [...], 'reporter_b': [...]}}} for several measurements from one subject. A returned processed_trace spec retains transformed values, their original clock, source identity and explicit processing history. Versioned recording_snapshot specs are self-contained numeric inputs for replaying in-memory Recording objects; they do not invoke a raw-activity importer.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: ultradian.

dose_response

Phase shift against stimulus dose at one circadian time: the half-maximal dose, the saturating maximum, and what was withheld.

cw.call("dose_response", dose_points, config=None, dose_unit=None)
Name Type Required Default Units Meaning
dose_points array yes - The phase shifts of one dose series, as [[dose, shift_hours, label, circadian_time], ...] or as objects with "dose", "shift_hours", an optional "label" naming the animal and an optional "circadian_time". One entry per animal per dose. The dose is in whatever unit the stimulus was measured in and the package never guesses which; the shift follows the Aschoff sign convention the rest of the package uses, advance positive.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
dose_unit string no null - What the dose was measured in -- lux, uW/cm2, mg, photons. A label and nothing else: it is printed wherever a dose is printed and no arithmetic is done with it. Omit it and no unit appears anywhere, which is the honest output for a package that was not told what was measured.

Config: all keys and defaults.

Result access: declared.

Figure views: dose_response.

temperature_compensation

Q10 for the period across a temperature series, and whether the clock is compensated.

cw.call("temperature_compensation", temperature_points, config=None)
Name Type Required Default Units Meaning
temperature_points array yes - One entry per unit per temperature: [[20.0, 24.1, 'slice_1'], ...], or objects with temperature_c, period_hours and an optional label. Three slices at each of three temperatures is nine entries, and the labels are what lets the interval be clustered on the slice rather than on the measurement.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: temperature_compensation.

phase_map

Phase against position across regions: whether there is a wave, and which way and how fast it travels.

cw.call("phase_map", points, config=None, period_hours=None, position_units='um')
Name Type Required Default Units Meaning
points object or array yes hours and position units One entry per region, each carrying a phase and a position: [{'label': 'left', 'phase_hours': 6.2, 'x': 120, 'y': 340}, ...]. A list of [label, phase_hours, x, y] arrays works too. The phases are ones the caller already measured -- acrophases from a cosinor, peak times, onsets -- and the positions are region centroids in whatever unit position_units names. Six regions is the floor; below it the plane is fitted but never tested.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
period_hours float no null hours The cycle the phases live on. Omit to use the config's period_hours (24 h by default). A free-running cohort should pass its own tau, so that 'one cycle' means one of the animals' cycles rather than one solar day. splitting uses it for a second purpose that is the same idea: the period the resolution element P**2/T is worked out at, which sets how far apart two components must be before that record can show them to differ.
position_units string no "um" - What the x and y in points are measured in: 'um', 'px', 'mm'. It travels through to the reported speed, which comes back in these units per hour. Nothing is converted -- this is a label, so pass the unit the positions are actually in.

Config: all keys and defaults.

Result access: declared.

Figure views: phase_map.

coupling

How far one named trace leads another, whether that lag is a number, and whether it held.

cw.call("coupling", series_a, series_b, hours, config=None)
Name Type Required Default Units Meaning
series_a object or array yes recording units The first trace: {'label': 'left lobe', 'values': [...]} on the shared hours grid. A [label, values] array works too. The label is reported back as the one that leads or lags, so make it the name you would use in a figure.
series_b object or array yes recording units The second trace, same shape as series_a and on the same hours grid. The reported lag is negative when series_a peaks first.
hours array yes hours The shared time grid the traces are sampled on, in hours from the start of the recording.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: coupling.

sample_size

How many units a difference needs, or what power a given n has, by simulating the test that will actually be run.

cw.call("sample_size", question='phase_difference', difference, resultant_length=None, n_per_group=None, target_power=None, config=None)
Name Type Required Default Units Meaning
question string no "phase_difference" - Which power question to answer: 'phase_difference' for two groups of phases compared on the circle, or 'mesor', 'amplitude' or 'rhythm_phase' for a cosinor parameter compared between two cohorts. 'observed' asks for post-hoc observed power and is refused with the reason, because it is a restatement of the p-value you already have.
difference float yes hours or recording units The smallest difference worth detecting, in the parameter's own units: hours for a phase, recording units for a mesor or an amplitude. Not the difference you observed -- the one that would change your mind.
resultant_length float no null - Within-group phase concentration for the phase-difference question; omitted uses the shared resultant-length default.
n_per_group integer no null units per group Give it to ask 'what power do I have at this n'. Leave it out to ask 'how many do I need', which searches over n instead.
target_power float no null - Prospective target power; omitted follows config.power_target. Ignored when a fixed sample size is evaluated.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.

Config: all keys and defaults.

Result access: declared.

Figure views: sample_size.

compare_rhythms

Fit one cosinor to two groups and test which rhythm parameter differs.

cw.call("compare_rhythms", groups, config=None, unit='subject')
Name Type Required Default Units Meaning
groups object yes - Recordings grouped by label: {'WT': [spec, ...], 'KO': [...]}.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
unit string no "subject" - Unit of analysis: subject, slice, or cell.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

group_comparison

Two-way mixed RM ANOVA with pointwise post-hoc across groups.

cw.call("group_comparison", groups, config=None, alpha=0.05, correction='sidak', unit='subject', sphericity='greenhouse_geisser')
Name Type Required Default Units Meaning
groups object yes - Recordings grouped by label: {'WT': [spec, ...], 'KO': [...]}.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
alpha float no 0.05 - Group-comparison significance threshold.
correction string no "sidak" - sidak, bonferroni, or none.
unit string no "subject" - Unit of analysis: subject, slice, or cell.
sphericity string no "greenhouse_geisser" - greenhouse_geisser, huynh_feldt, or none.

Config: all keys and defaults.

Result access: declared.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

render_group_figure

Render the group overlay and optional significance bar to SVG.

cw.call("render_group_figure", groups, config=None, normalize='own_mean', time_axis='clock_time', pool_order='profile_then_pool', statistic='mean', within_recording_reducer='mean', detrended=False, alpha=0.05, correction='sidak', unit='subject', sphericity='greenhouse_geisser', statistics=True, figure_options=None)
Name Type Required Default Units Meaning
groups object yes - Recordings grouped by label: {'WT': [spec, ...], 'KO': [...]}.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
normalize string no "own_mean" - Value normalisation before pooling. Accepts none, mean_center, median_center, zscore, robust_zscore, robust_scale, own_mean, own_daily_total, minmax, max_abs, reference_delta, fold_change, delta_over_reference, log2_fold_change, percent_of_reference, percent_change, envelope or pre_treatment_cycle. Reference-based methods require reference metadata on each profile; use normalization_methods for formulas.
time_axis string no "clock_time" - clock_time, tau_scaled, or onset_aligned.
pool_order string no "profile_then_pool" - profile_then_pool or virtual_animal.
statistic string no "mean" - mean or median.
within_recording_reducer string no "mean" - How each recording contributes at each phase bin before pooling: mean averages selected cycles; max retains the largest observed binned value across the selected recording.
detrended boolean no false - Whether inputs are already baseline-subtracted.
alpha float no 0.05 - Group-comparison significance threshold.
correction string no "sidak" - sidak, bonferroni, or none.
unit string no "subject" - Unit of analysis: subject, slice, or cell.
sphericity string no "greenhouse_geisser" - greenhouse_geisser, huynh_feldt, or none.
statistics boolean no true - Whether to compute and render group statistics.
figure_options object no null - Optional group SVG presentation options: colors/color_map, x_bounds, x_ticks or x_tick_step, x_tick_label_offset, x_label, y_label, title, margin, legend, text_scale, title_scale, axis_scale, tick_scale, legend_scale, show_grid, group_order/order, style/house_style. style defaults to 'pyflash' for PyFLASH-compatible typography, outward ticks, frameless legends and left/bottom spines.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

diagnosis_groups

Resolve cohort metadata into diagnosis-labelled recording groups.

cw.call("diagnosis_groups", cohort)
Name Type Required Default Units Meaning
cohort object yes - Metadata-driven cohort spec. Requires metadata_csv plus either a recording_column or recording_pattern; groups rows by diagnosis_column, defaulting to a diagnosis/condition/group-like column. Optional exclude_subjects removes participant IDs without editing source metadata. Optional mask_csv supplies one start/end analysis interval per subject; mask_subject_column, mask_start_column, and mask_end_column override its inferred columns.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

study_report

One document for a whole study: the named analyses run on every recording of a cohort, the scalar table they produce, the group and paired comparisons, and every recording's checksum.

cw.call("study_report", cohort, analyses, config=None, epoch_column=None)
Name Type Required Default Units Meaning
cohort object yes - Metadata-driven cohort spec. Requires metadata_csv plus either a recording_column or recording_pattern; groups rows by diagnosis_column, defaulting to a diagnosis/condition/group-like column. Optional exclude_subjects removes participant IDs without editing source metadata. Optional mask_csv supplies one start/end analysis interval per subject; mask_subject_column, mask_start_column, and mask_end_column override its inferred columns.
analyses array yes - Action names to run on every recording of the study, e.g. ["cosinor", "sleep"]. Each is dispatched through this same registry, so a number in the report is the number that action returns on its own; run discover for the list of names.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
epoch_column string no null - Metadata column naming which epoch each recording belongs to, e.g. "epoch" holding baseline/treatment. Where it names exactly two epochs and subjects appear in both, the report runs the paired comparison; where it does not, the report says which of those it was. Omit it for a study with one epoch.

Config: all keys and defaults.

Result access: composite.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

render_diagnosis_profile

Render a diagnosis-condition average activity profile overlay from cohort metadata.

cw.call("render_diagnosis_profile", cohort, config=None, normalize='own_mean', time_axis='clock_time', pool_order='profile_then_pool', statistic='mean', within_recording_reducer='mean', detrended=False, alpha=0.05, correction='sidak', unit='subject', sphericity='greenhouse_geisser', statistics=True, figure_options=None)
Name Type Required Default Units Meaning
cohort object yes - Metadata-driven cohort spec. Requires metadata_csv plus either a recording_column or recording_pattern; groups rows by diagnosis_column, defaulting to a diagnosis/condition/group-like column. Optional exclude_subjects removes participant IDs without editing source metadata. Optional mask_csv supplies one start/end analysis interval per subject; mask_subject_column, mask_start_column, and mask_end_column override its inferred columns.
config object no null - Partial scientific settings. Omitted or None values use the shared installed defaults; invalid fresh values are rejected. Run describe_config for names, meanings, units, bounds and choices. Explicitly load old saved mappings with load_saved_settings to report compatibility conversions.
normalize string no "own_mean" - Value normalisation before pooling. Accepts none, mean_center, median_center, zscore, robust_zscore, robust_scale, own_mean, own_daily_total, minmax, max_abs, reference_delta, fold_change, delta_over_reference, log2_fold_change, percent_of_reference, percent_change, envelope or pre_treatment_cycle. Reference-based methods require reference metadata on each profile; use normalization_methods for formulas.
time_axis string no "clock_time" - clock_time, tau_scaled, or onset_aligned.
pool_order string no "profile_then_pool" - profile_then_pool or virtual_animal.
statistic string no "mean" - mean or median.
within_recording_reducer string no "mean" - How each recording contributes at each phase bin before pooling: mean averages selected cycles; max retains the largest observed binned value across the selected recording.
detrended boolean no false - Whether inputs are already baseline-subtracted.
alpha float no 0.05 - Group-comparison significance threshold.
correction string no "sidak" - sidak, bonferroni, or none.
unit string no "subject" - Unit of analysis: subject, slice, or cell.
sphericity string no "greenhouse_geisser" - greenhouse_geisser, huynh_feldt, or none.
statistics boolean no true - Whether to compute and render group statistics.
figure_options object no null - Optional group SVG presentation options: colors/color_map, x_bounds, x_ticks or x_tick_step, x_tick_label_offset, x_label, y_label, title, margin, legend, text_scale, title_scale, axis_scale, tick_scale, legend_scale, show_grid, group_order/order, style/house_style. style defaults to 'pyflash' for PyFLASH-compatible typography, outward ticks, frameless legends and left/bottom spines.

Config: all keys and defaults.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

clear_output

Delete generated files under the output root after confirmation.

cw.call("clear_output", confirm=False)
Name Type Required Default Units Meaning
confirm boolean no false - Explicit confirmation for a destructive action.

Result access: raw.

Figure views: No Result.plot adapter; use the declared result or the separate export action.

Period estimator settings

These references come from each installed method definition; their defaults, units and constraints come from the shared configuration reference. A template-period grid is distinct from a numeric search range. Batch multiple-testing correction is not an individual estimator setting.

ER Periodogram (chi_square)

Fold-and-compare periodogram: how much of the variance a given period explains, against a chi-square critical value.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, periodogram_alpha, chi_square_spline_interval_hours, chi_square_normalisation.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

eJTK (ejtk)

The same template match with the null built by permutation, which is better calibrated than the analytic one. The rhythmicity test to reach for on sparsely sampled data.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: jtk_periods, jtk_asymmetries, jtk_phase_step_hours, jtk_max_points, jtk_alpha, ejtk_permutations, jtk_seed.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

F Periodogram (f)

The chi-square periodogram's variance ratio tested as an F statistic. BioDare2 has no equivalent; it is kept because it handles unequal sample counts per phase bin.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, periodogram_alpha, chi_square_spline_interval_hours, chi_square_normalisation.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

FFT NLLS (fft_nlls)

Sum of independent cosines fitted by non-linear least squares from FFT starting values. The only method that reports an error for period, phase and amplitude, and so the only source of RAE.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, period_hours, nlls_max_components, nlls_improvement_alpha, nlls_circadian_min, nlls_circadian_max.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

JTK_CYCLE (jtk)

Rank correlation against a library of cosine templates, with an analytic null. Kept for comparability with published work; it is known to be anti-conservative, which is why eJTK exists.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: jtk_periods, jtk_asymmetries, jtk_phase_step_hours, jtk_max_points, jtk_alpha.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

LS Periodogram (lomb)

Least-squares spectral estimate that tolerates gaps and uneven sampling, and carries a false-alarm probability.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, periodogram_alpha.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

MESA (mesa)

Maximum entropy spectrum of an autoregressive model. Shares no assumptions with the curve-fitting methods and is the most resilient of the six to baseline trend, so it is the one to validate the others against.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, mesa_model_length.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order

MFourFit (mfourfit)

A main cosine plus up to four harmonics of it, grid-searched over period. BioDare2 rates it the most accurate of the six on entrained data, but it returns a period even for noise, so it needs a significance test beside it.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, mfourfit_step_hours, mfourfit_harmonics.

Detrending: linear (forced by method).

Spectrum Resampling (spectrum_resampling)

Bootstraps the smoothed FFT spectrum and averages where the peak lands, which recovers periods finer than the FFT grid can hold. The only method whose confidence interval comes from the data rather than from a fit.

Shared inputs: start, end, exclusions, analysis_channel, bin_minutes, phase_reference, phase_units.

Method settings: period_min_hours, period_max_hours, sr_grid_points, sr_trim_high_frequency, sr_bandwidth, sr_iterations, sr_seed.

Detrending: explicit period_detrend, with the applicable settings below.

  • none: no additional controls
  • linear: no additional controls
  • robust_linear: no additional controls
  • first_difference: no additional controls
  • polynomial: period_detrend_polynomial_degree
  • running_mean: period_detrend_window_hours, period_detrend_min_valid_fraction
  • moving_median: period_detrend_window_hours, period_detrend_min_valid_fraction
  • kernel: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • amp_baseline: period_detrend_window_hours, period_detrend_bandwidth_hours, period_detrend_min_valid_fraction
  • lowess: period_detrend_window_hours, period_detrend_lowess_fraction, period_detrend_lowess_iterations
  • savitzky_golay: period_detrend_window_hours, period_detrend_polynomial_degree
  • asymmetric_least_squares: period_detrend_asls_smoothness, period_detrend_asls_asymmetry, period_detrend_asls_iterations
  • frequency: period_detrend_low_cut_hours, period_detrend_high_cut_hours, period_detrend_filter_order