Table of Contents

NAME

QccVolumeIntAlloc, QccVolumeIntFree, QccVolumeIntZero, QccVolumeIntResize, QccVolumeIntCopy, QccVolumeIntMaxValue, QccVolumeIntMinValue, QccVolumeIntPrint, QccVolumeIntAdd, QccVolumeIntSubtract, QccVolumeIntMean QccVolumeIntVariance - miscellaneous integer-volume routines

SYNOPSIS

#include "libQccPack.h"

QccVolumeInt QccVolumeIntAlloc(int num_frames, int num_rows, int num_cols);

void QccVolumeIntFree(QccVolumeInt volume, int num_frames, int num_rows);

int QccVolumeIntZero(QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

QccVolumeInt QccVolumeIntResize(QccVolumeInt volume, int num_frames, int num_rows, int num_cols, int new_num_frames, int new_num_rows, int new_num_cols);

int QccVolumeIntCopy(QccVolumeInt volume1, const QccVolumeInt volume2, int num_frames, int num_rows, int num_cols);

double QccVolumeIntMaxValue(const QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

double QccVolumeIntMinValue(const QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

int QccVolumeIntPrint(const QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

int QccVolumeIntAdd(QccVolumeInt volume1, const QccVolumeInt volume2, int num_frames, int num_rows, int num_cols);

int QccVolumeIntSubtract(QccVolumeInt volume1, const QccVolumeInt volume2, int num_frames, int num_rows, int num_cols);

double QccVolumeIntMean(const QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

double QccVolumeIntVariance(const QccVolumeInt volume, int num_frames, int num_rows, int num_cols);

DESCRIPTION

QccPack library routines use three-dimensional arrays of type QccVolumeInt which is defined as
typedef QccMatrixInt *QccVolumeInt;

Although integer volumes can represent data from various applications, throughout QccPack, the following terminology, which arises in the video-coding application, is adopted. Integer volumes are described as consisting of a collection of 2D "frames" distributed in the temporal direction. Each frame describes a 2D spatial region, and is indexed by row and column in the two spatial directions.

QccVolumeIntAlloc() allocates a QccVolumeInt consisting of num_frames integer matrices; each integer matrix is a two-dimensional array of type QccMatrixInt and has dimensions num_rows by num_cols. QccVolumeIntAlloc() returns a NULL pointer if the allocation fails.

QccVolumeIntFree() frees a QccVolumeInt previously allocated by QccVolumeIntAlloc().

QccVolumeIntZero() makes each element of volume zero.

QccVolumeIntResize() changes the size of volume from num_frames x num_rows x num_cols to new_num_frames x new_num_rows x new_num_cols by calling realloc(3) and QccMatrixResize(3) . Upon success, the new volume is returned; a NULL pointer is returned if realloc(3) or QccMatrixResize(3) fails. If volume is NULL, QccVolumeIntAlloc() is called. In any case, all elements added to volume are zero.

QccVolumeIntCopy() copies volume2 to volume1.

QccVolumeIntMaxValue() returns the largest element in volume.

QccVolumeIntMinValue() returns the smallest element in volume.

QccVolumeIntPrint() prints the elements of volume to stdout.

QccVolumeIntAdd() adds each component of volume1 to the corresponding component of volume2, returning the resulting volume in volume1. volume1 and volume2 must be the same size.

QccVolumeIntSubtract() subtracts each component of volume2 from the corresponding component of volume1, returning the resulting volume in volume1. volume1 and volume2 must be the same size.

QccVolumeIntMean() calculates the mean of the elements in

QccVolumeIntVariance() calculates the variance of the elements in volume.

SEE ALSO

QccVectorInt(3) , QccMatrixInt(3) , QccPack(3)

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



Get QccPack at SourceForge.net. Fast, secure and Free Open Source software downloads