# TransposeData

void TransposeData (void *dataArray, int dataType, int numberOfPoints, int numberOfChannels);

## Purpose

Transposes a two–dimensional array of the specified data type.

This function is especially useful for separating the data from a multi–channel scanning operation into separate channels. For example, if you had an array of data from 5 scans of channels A through C in the following form:

A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 A5 B5 C5

Transposing the data would yield the following array in which the data from each channel is stored contiguously:

A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 C1 C2 C3 C4 C5

## Parameters

Input
Name | Type | Description
dataArray | void * | Pass the array of data to transpose.
dataType | integer | Pass the data type of the elements in the array.
numberOfPoints | integer | Pass the total number of points in the data array.
numberOfChannels | integer | If the data was generated by a series of multi–channel scans, then pass the number of channels in the data. This is the same as the number of columns in the data.

## Return Value

None.