# Batchalign

Jump to navigation
Jump to search

### Purpose

Convert data columns based on matching a reference column to a target vector.

### Synopsis

- aligned = batchalign(data,ref_column,target,options)

### Description

Stretch or contract data columns based on a **target** using given **method**. Savgol options can be used to exaggerate transitions in data prior to cow.

#### Inputs

**data**= (nsample, nvar) dataset or double array containing data columns to align.

**ref_column**= scalar indicating the column # of data that we are going to match OR ref_vector which is a vector to use in match.

**target**= (nsample, 1) vector or dataset to which we are trying to match the ref_column or ref_vector.

#### Outputs

**aligned**: dataset or double array (depending on input data type) containing the aligned data. If it is a dataset of different number of rows from input then the class, axisscale and labels are set according to the closest row in input dataset.

### Options

*options* = a structure array with the following fields:

**method**: [ 'linear' | {'cow'} | 'padwithnan' ] Alignment method.- 'linear' means the data columns are extented/contracted using linear interpolation to have the same number of data points as the target vector.
- 'cow' applies Correlation Optimized Warping to match the reference column to the target vector, then apply the same transformation to the other columns.
- 'padwithnan' uses NaN values to extend columns, or truncates columns, to have the same number of data points as the target vector.

**savgolwidth**: Number of points in savgol filter.**savgolorder**: Order of savgol polynomial.**savgolderiv**: [0,1,2...] Order of derivative to take of target and ref_column before doing alignment (default = 0).

Cow only options.

**cow**: structure with the following fields:**cow.segments**: Segment length.**cow.slack**: max range of warping. 'slack' value must be less than or equal to segments minus 4.**cow.plots**: Governs plotting with COW (0 = no plots).**cow.correlationpower**: correlation power.**cow.forceequalsegs**: Force equal segment lengths in "xt" and "xP".**cow.fixmaxcorrection**: Fix maximum correction.