Marsyas  0.5.0-beta1
Public Member Functions
Deinterleave Class Reference

Reorder input along observations. More...

#include <Deinterleave.h>

Inherits MarSystem.

Public Member Functions

MarSystemclone () const
 Deinterleave (std::string name)
 Deinterleave (const Deinterleave &a)
void myProcess (realvec &in, realvec &out)
 Processes data.
 ~Deinterleave ()

Detailed Description

Reorder input along observations.

This is designed, so that its output can potentially be meaningfully split by the Parallel MarSystem.

if you want to deinterleave along samples: transpose, then deinterleave using this marsystem, then transpose again (using the Transposer MarSystem).

The input realvec is assumed to be organized in numSets equal modulo sets - i.e. in a manner of:

    n*numSets,n*numSets+1,...,n*numSets+(numSets-1)

This marsystem ensures that the output will be ordered with the sets grouped together - i.e. in a manner of:

    numSet[0][0],numSet[0][1],numSet[0][2],...,numSet[0][inObervations/numsets],
    numSet[1][0],numSet[1][1],numSet[1][2],...,numSet[1][inObervations/numsets],
    ...,
    numSet[numSets-1][0],numSet[numSets-1][1],numSet[numSets-1][2],...,numSet[numSets-1][inObervations/numsets]

Note that, if the number of observations is not divisible by the number of Sets, then the first "rest" groups will have one element more than the remaining groups. (With "rest" being the rest of the division of the number of observations by the number of Sets).

For example, if there are 8 input rows (i.e. observations), then this marsystem would - for three sets (numSets - control set to 3) - reorder the elements of the 8 elements (ordered 0th,1st,2nd,3rd,4th,5th,6th,7th) of each row to the new order 0th,3rd,6th,1st,4th,7th,2nd,5th.

Controls:

Definition at line 65 of file Deinterleave.h.


Constructor & Destructor Documentation

Deinterleave ( std::string  name)

Definition at line 24 of file Deinterleave.cpp.

Deinterleave ( const Deinterleave a)

Definition at line 36 of file Deinterleave.cpp.

Definition at line 50 of file Deinterleave.cpp.


Member Function Documentation

MarSystem * clone ( ) const [virtual]

Implements MarSystem.

Definition at line 56 of file Deinterleave.cpp.

void myProcess ( realvec in,
realvec out 
) [virtual]

Processes data.

Parameters:
inInput data to read.
outOutput data to write.

Implement this method in subclass to define specific data processing.

Implements MarSystem.

Definition at line 121 of file Deinterleave.cpp.


The documentation for this class was generated from the following files: