changeset 20:8b8d4f1c5fb6

Improved doxygen documentation
author Jamie Bullock <jamie@postlude.co.uk>
date Tue, 10 Oct 2006 12:29:39 +0000
parents c7d93630aa5f
children 44e1a5363745
files xtract/libxtract.h xtract/xtract_scalar.h xtract/xtract_vector.h
diffstat 3 files changed, 37 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/xtract/libxtract.h	Tue Oct 10 10:52:16 2006 +0000
+++ b/xtract/libxtract.h	Tue Oct 10 12:29:39 2006 +0000
@@ -18,6 +18,17 @@
  * USA.
  */
 
+/** \mainpage 
+  *
+  * LibXtract is a simple, portable, lightweight library of audio feature extraction functions. The purpose of the library is to provide a relatively exhaustive set of feature extraction primatives that are designed to be 'cascaded' to create a extraction hierarchies. 
+  * For example, 'variance', 'average deviation', 'skewness' and 'kurtosis', all require the 'mean' of the input vector to be precomputed. However, rather than compute the 'mean' 'inside' each function, it is expected that the 'mean' will be passed in as an argument. This means that if the user wishes to use all of these features, the mean is calculated only once, and then passed to any functions that require it.
+  * 
+  * This philosophy of 'cascading' features is followed throughout the library, for example with features that operate on the magnitude spectrum of a signal vector (e.g. 'irregularity'), the magnitude spectrum is not calculated 'inside' the respective function, instead, a pointer to the first element in an array containing the magnitude spectrum is passed in as an argument. 
+  *
+  * Hopefully this not only makes the library more efficient when computing large numbers of features, but also makes it more flexible because extraction functions can be combined arbitrarily (one can take the irregularility of the Mel Frequency Cepstral Coefficients for example).
+  *
+  */
+
 #ifndef XTRACT_H
 #define XTRACT_H
 
@@ -28,9 +39,6 @@
 /** 
  * \file libxtract.h: main header file and API definition 
  */
-
-#define VERSION "0.11"
-
     
 #include "xtract_scalar.h"
 #include "xtract_vector.h"
@@ -38,6 +46,12 @@
 #include "xtract_types.h"
 #include "xtract_macros.h"
 
+/** \defgroup libxtract API
+  *
+  * Defines a very simple API that provides access to the functions in the library
+  * @{
+  */
+
 #define XTRACT_FEATURES 43
 #define LOG_LIMIT 10e-10
 #define VERY_BIG_NUMBER 2e10
@@ -184,6 +198,8 @@
 
 /* Free functions */
 
+/** @} */
+
 #ifdef __cplusplus
 }
 #endif
--- a/xtract/xtract_scalar.h	Tue Oct 10 10:52:16 2006 +0000
+++ b/xtract/xtract_scalar.h	Tue Oct 10 12:29:39 2006 +0000
@@ -27,6 +27,12 @@
 extern "C" {
 #endif
 
+/**
+  * \defgroup scalar extraction functions
+  *
+  * Defines scalar extraction functions, and their parameters.
+  * @{
+  */
 
 /** \brief Extract the mean of an input vector
  * 
@@ -296,6 +302,8 @@
  */
 int xtract_f0(float *data, int N, void *argv, float *result);
 
+/** @} */
+
 #ifdef __cplusplus
 }
 #endif
--- a/xtract/xtract_vector.h	Tue Oct 10 10:52:16 2006 +0000
+++ b/xtract/xtract_vector.h	Tue Oct 10 12:29:39 2006 +0000
@@ -26,6 +26,13 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+	
+/**
+  * \defgroup vector extraction functions
+  *
+  * Defines vectorr extraction functions, and their parameters.
+  * @{
+  */
 
 /** \brief Extract normalized (0-1) frequency domain magnitude spectrum from time domain signal 
  * 
@@ -110,7 +117,9 @@
  * \param *result: a pointer to an array of size N, containing N/2 freqs and N/2 amplitudes, amplitudes are on a decibel scale with dbFS = 0 
  */
 int xtract_peaks(float *data, int N, void *argv, float *result);
-    
+
+/** @} */
+
 #ifdef __cplusplus
 }
 #endif