**(non-)continuous data object**

per default, matrixes in the data object are stored as follows: the last two dimensions are stored continuously in a two dimensional matrix by the help of openCV-Mat-structures. All these 2dim-matrixes are then stored in a one-dimensional vector, however the relation between the position in this vector and the first

(n-2)dimensions, wherenis the number of total dimensions, is given by a simple equation, which can for instance be found in theopenCVdocumentation. Since the data blocks for each two-dimensional matrix must not be stored continuously in memory, this method is callednon-continuous data object.In order to realize a compatible version with respect to

numpy,matlab... the data can also be storedcontinuously. The basic structure for the data object is the same than in thenon-continuous(default) version, but the data of each 2dim-matrix lies continuously in memory and each data-pointer of each matrix just points to the first element of the corresponding matrix in this big data block in memory. Data objects of classndDataObjectare always organized as continuous data object, while ordinary data objects (classdataObject) can be continuous or non-continuous.The non-continuous representation has advantages especially with respect to huge data sets, since it is more difficult to get a big continuous block in memory without reorganizing it than multiple smaller blocks of memory, which can be distributed randomly in memory.

Matrixes with only one or two dimension are automatically stored continuously.

**Deep Copies**

Are copies

**Shallow Copies**

are copied references

**Python Version**