Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

transforms

transforms

Standalone transform functions for DesignMatrix.

Each function takes a DesignMatrix instance as the first argument (dm) and returns a new DesignMatrix via copy_with(dm,...).

Methods:

NameDescription
downsampleReduce temporal resolution using Polars-native operations.
standardizeStandardize columns using the specified method.
upsampleIncrease temporal resolution using Polars-native interpolation.
zscoreZ-score standardize columns to mean zero and unit variance.

Classes

Methods

downsample

downsample(dm: DesignMatrix, target: float, method: str = 'mean') -> DesignMatrix

Reduce temporal resolution using Polars-native operations.

Parameters:

NameTypeDescriptionDefault
dmDesignMatrixDesignMatrix instance to transform.required
targetfloatTarget sampling frequency in Hz (must be < current sampling_freq).required
methodstrAggregation method - ‘mean’ or ‘median’. Default: ‘mean’.‘mean’

Returns:

NameTypeDescription
DesignMatrixDesignMatrixDownsampled DesignMatrix with updated sampling_freq.

Examples:

>>> dm = DesignMatrix({"a": list(range(100))}, sampling_freq=1.0)
>>> dm_down = downsample(dm, target=0.5)  # 1 Hz -> 0.5 Hz (100 -> 50 samples)

standardize

standardize(dm: DesignMatrix, columns: list[str] | None = None, method: str = 'zscore') -> DesignMatrix

Standardize columns using the specified method.

This method provides a consistent API with BrainData and Collection for data normalization.

Parameters:

NameTypeDescriptionDefault
dmDesignMatrixDesignMatrix instance to transform.required
columnslist [ str ] | NoneColumns to standardize. If None, standardize all non-confound columns.None
methodstrStandardization method. Options are: - ‘zscore’: Z-score standardization (mean=0, std=1) [default] - ‘center’: Mean centering only (mean=0)‘zscore’

Returns:

NameTypeDescription
DesignMatrixDesignMatrixNew DesignMatrix with standardized columns.

Examples:

>>> dm = DesignMatrix(np.random.randn(100, 3))
>>> dm_z = standardize(dm, method='zscore')  # z-score all columns
>>> dm_c = standardize(dm, method='center')  # center only

upsample

upsample(dm: DesignMatrix, target: float, method: str = 'linear') -> DesignMatrix

Increase temporal resolution using Polars-native interpolation.

Parameters:

NameTypeDescriptionDefault
dmDesignMatrixDesignMatrix instance to transform.required
targetfloatTarget sampling frequency in Hz (must be > current sampling_freq)required
methodstrInterpolation method - ‘linear’ or ‘nearest’ (default: ‘linear’)‘linear’

Returns:

NameTypeDescription
DesignMatrixDesignMatrixUpsampled DesignMatrix with updated sampling_freq.

Examples:

>>> dm = DesignMatrix({"a": list(range(10))}, sampling_freq=1.0)
>>> dm_up = upsample(dm, target=2.0)  # 1 Hz -> 2 Hz (10 -> 18 samples)

zscore

zscore(dm: DesignMatrix, columns: list[str] | None = None) -> DesignMatrix

Z-score standardize columns to mean zero and unit variance.

Parameters:

NameTypeDescriptionDefault
dmDesignMatrixDesignMatrix instance to transform.required
columnslist of strColumns to standardize. If None, standardize all non-confound columns.None

Returns:

NameTypeDescription
DesignMatrixDesignMatrixNew DesignMatrix with standardized columns