/usr/share/doc/libgpiv3-doc/html/main.html is in libgpiv3-doc 0.6.1-3build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>LibGpiv API dokumentatsie</title>
<link rel="icon" content="image/png" href="http://gpiv.sourceforge.net/figures/gpiv_logo_16.png">
<link href="doxygen_stylesheet.css" rel="stylesheet" type="text/css">
<!--
<link href="tabs.css" rel="stylesheet" type="text/css">
-->
</head><body>
<div id=logo align=left>
<h2 align=left>Lib<img src="http://gpiv.sourceforge.net/figures/gpiv_logo.png" width="50" height="50"
alt="Gpiv logo" align=middle>piv API documentation</h2>
</div> <!-- end sitelogo -->
<!--
<div id=search align=right>
<form action="search.php" method="get">
<label> <u>S</u>earch for </label>
<input type="text" name="query" value="" size="20" accesskey="s"/>
</form>
</div> -->
<!-- end search -->
<div class="qindex">
<a class="qindex" href="index.html">Main Page</a> |
<a class="qindex" href="files.html">Files</a> |
<a class="qindex" href="annotated.html">Data Structures</a> |
<a class="qindex" href="functions.html">Functions</a> |
<a class="qindex" href="globals.html">Global Variables</a> |
<!--<a class="qindex" href="pages.html">Related Pages</a> |-->
<!--<a class="qindex" href="deprecated.html">Deprecated list</a> |-->
</div><!-- end qindex -->
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li class="current"><a href="main.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<h1>Documentation of Libgpiv API </h1> </div>
</div>
<div class="contents">
<h2><a class="anchor" id="intro_sec"></a>
Introduction</h2>
<p>LIBGPIV is a software library for the so-called Digital Particle Image Velocimetry (DPIV). It contains the core functions for image recording, image processing, image interrogation (resulting into estimators of particle image displacements, i.e. PIV data), validation of PIV data (on peak-locking effects, erroneous vectors (outliers), velocity gradient), post-processing (functions for calculating (scalar) derivatives of the PIV data, like vorticity and strain), input/output functions, memory allocation etc.</p>
<p>The library has been implemented in several command-line driven programs that can be found in the GPIVTOOLS distribution. A Graphic User Interface (GPIV) is available as well, that controls all processes and its parameters and displays its results graphically in a more advanced way. GPIV has been implemented with the Gtk/GNOME libraries and resides in GPIV package. Also a python module PYGPIV has been written that allows the use of this library functionalities within Python scripts.</p>
<p>This library has been written in ANSI-C and has been developed on a GNU/LINUX box and should work on any UNIX-like system. The main web page can be found at: <a href="http://gpiv.sourceforge.net/">http://gpiv.sourceforge.net/</a></p>
<h2><a class="anchor" id="licence_sec"></a>
License</h2>
<p>LIBGPIV is Free Software licensed under the GNU Public license terms. See the COPYING file for the license.</p>
<h2><a class="anchor" id="install_sec"></a>
Installation</h2>
<p>Unpacking and compilation: </p>
<div class="fragment"><pre class="fragment">
gzip -d libgpiv-*.tar.gz
tar -xvf libgpiv-*.tar
./configure
make
make install
</pre></div><p>Some features will only work when they are enabled before the building process. An IEEE1394 (Firewire) camera, using the IIDC specifications protocol, is enabled with: </p>
<div class="fragment"><pre class="fragment">
./configure --enable-cam
</pre></div><p>Triggering, using RealTime Linux (RTL) and RealTime Aplication Interface (RTAI), is enabled with: </p>
<div class="fragment"><pre class="fragment">
./configure --enable-trig
</pre></div><p>Libgpiv is included in the GNU/Debian system for most of the supported (currently 11) CPU architectures and is probably also included in Linux distro's that have been derived from GNU/Debian, like Ubuntu and Knoppix. This may drasticly ease the installation, as one has not to be bothered about library dependencies etc.</p>
<h2><a class="anchor" id="policy_sec"></a>
Interface naming and some policy rules</h2>
<p>It has been tried to write an intuitive and systematic API as possible with mnemo-syntactic naming to the variables, functions and constants. But, as you probably know, its hard to be consistent. Anyhow, here follow some general API policy rules.</p>
<p>Structures are named following: "GpivNameAnothername" convention, while variables and parameters using that structure are mostly named as: "name_anothername", or have been named different for clarity.</p>
<p>Macros start with: "GPIV_" and public functions with: "gpiv_", in general following their module name:</p>
<p>"img_" for image functions,</p>
<p>"imgproc_" for image processing,</p>
<p>"piv_" for image (PIV) interrogation,</p>
<p>"valid_" for (PIV) data validation,</p>
<p>"post_" for data post-processing,</p>
<p>and / or following their functionality, like:</p>
<p>"(f)read_" and "(f)write_" for in and output,</p>
<p>"(free_)vector_" or "(free_)matrix_" for memory (de)allocation,</p>
<p>(Ending on "_index" may be used for arbitrary starting and ending indices.)</p>
<p>In general, a function will return NULL on success or an error message will be returned if the function fails.</p>
<p>To create a structure (and fill it with data) is done following: </p>
<div class="fragment"><pre class="fragment">
struct = gpiv_* ()
</pre></div><p> or the function will return NULL if it fails.</p>
<p>To modify the contents of an existing structure while calling a libgpiv function is done as: </p>
<div class="fragment"><pre class="fragment">
gpiv_* (pointer to struct, ...)
</pre></div><p>To use the contents of an existing structure while calling a libgpiv function is done as: </p>
<div class="fragment"><pre class="fragment">
gpiv_* (..., const pointer to struct, ...)
</pre></div><p>To read data from a file into a structure is done following: </p>
<div class="fragment"><pre class="fragment">
struct = gpiv_read_* (FILE *fp, ...)
</pre></div><p>or if a file name is used: </p>
<div class="fragment"><pre class="fragment">
struct = gpiv_fread_* (gchar *filename, ...)
</pre></div><p>Writing / storing the data of a structure to a file is done with: </p>
<div class="fragment"><pre class="fragment">
gpiv_write_* (FILE *fp, ...)
</pre></div><p>or with: </p>
<div class="fragment"><pre class="fragment">
gpiv_fwrite_* (gchar *filename, ...)
</pre></div><h2><a class="anchor" id="final_sec"></a>
Final remarks</h2>
<p>We hope that the software will work fine and that you'll enjoy it during using and developing. Remarks, suggestions and patches for improvements/additions are welcome. </p>
</div>
<hr size="1"><address style="align: right;"><small>
Generated on Fri Oct 8 2010 16:34:51 for libgpiv-0.6.1 by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.1</small></address>
</body>
</html>
|