<refentry id="amitk-amitk-point">
<refmeta>
<refentrytitle role="top_of_page">amitk_point</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>AMITK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>amitk_point</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>



enum                <link linkend="AmitkView">AmitkView</link>;
enum                <link linkend="AmitkAxis">AmitkAxis</link>;
enum                <link linkend="AmitkDim">AmitkDim</link>;
enum                <link linkend="AmitkLengthUnit">AmitkLengthUnit</link>;
#define             <link linkend="AMITK-TYPE-POINT:CAPS">AMITK_TYPE_POINT</link>
#define             <link linkend="AMITK-TYPE-VOXEL:CAPS">AMITK_TYPE_VOXEL</link>
#define             <link linkend="AMITK-TYPE-PIXEL:CAPS">AMITK_TYPE_PIXEL</link>
#define             <link linkend="AMITK-TYPE-CANVAS-POINT:CAPS">AMITK_TYPE_CANVAS_POINT</link>
#define             <link linkend="AMITK-TYPE-AXES:CAPS">AMITK_TYPE_AXES</link>
                    <link linkend="AmitkPoint">AmitkPoint</link>;
                    <link linkend="AmitkVoxel">AmitkVoxel</link>;
                    <link linkend="AmitkPixel">AmitkPixel</link>;
                    <link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link>;
<link linkend="GType">GType</link>               <link linkend="amitk-point-get-type">amitk_point_get_type</link>                (void);
<link linkend="AmitkPoint">AmitkPoint</link>*         <link linkend="amitk-point-copy">amitk_point_copy</link>                    (const <link linkend="AmitkPoint">AmitkPoint</link> *point);
<link linkend="void">void</link>                <link linkend="amitk-point-free">amitk_point_free</link>                    (<link linkend="AmitkPoint">AmitkPoint</link> *point);
<link linkend="AmitkPoint">AmitkPoint</link>          <link linkend="amitk-point-read-xml">amitk_point_read_xml</link>                (<link linkend="xmlNodePtr">xmlNodePtr</link> nodes,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="gchar">gchar</link> **perror_buf);
<link linkend="void">void</link>                <link linkend="amitk-point-write-xml">amitk_point_write_xml</link>               (<link linkend="xmlNodePtr">xmlNodePtr</link> node,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> point);
<link linkend="GType">GType</link>               <link linkend="amitk-voxel-get-type">amitk_voxel_get_type</link>                (void);
<link linkend="AmitkVoxel">AmitkVoxel</link>*         <link linkend="amitk-voxel-copy">amitk_voxel_copy</link>                    (const <link linkend="AmitkVoxel">AmitkVoxel</link> *voxel);
<link linkend="void">void</link>                <link linkend="amitk-voxel-free">amitk_voxel_free</link>                    (<link linkend="AmitkVoxel">AmitkVoxel</link> *voxel);
<link linkend="AmitkVoxel">AmitkVoxel</link>          <link linkend="amitk-voxel-read-xml">amitk_voxel_read_xml</link>                (<link linkend="xmlNodePtr">xmlNodePtr</link> nodes,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="gchar">gchar</link> **perror_buf);
<link linkend="void">void</link>                <link linkend="amitk-voxel-write-xml">amitk_voxel_write_xml</link>               (<link linkend="xmlNodePtr">xmlNodePtr</link> node,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="AmitkVoxel">AmitkVoxel</link> voxel);
<link linkend="GType">GType</link>               <link linkend="amitk-pixel-get-type">amitk_pixel_get_type</link>                (void);
<link linkend="AmitkPixel">AmitkPixel</link>*         <link linkend="amitk-pixel-copy">amitk_pixel_copy</link>                    (const <link linkend="AmitkPixel">AmitkPixel</link> *pixel);
<link linkend="void">void</link>                <link linkend="amitk-pixel-free">amitk_pixel_free</link>                    (<link linkend="AmitkPixel">AmitkPixel</link> *pixel);
<link linkend="GType">GType</link>               <link linkend="amitk-canvas-point-get-type">amitk_canvas_point_get_type</link>         (void);
<link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link>*   <link linkend="amitk-canvas-point-copy">amitk_canvas_point_copy</link>             (const <link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> *point);
<link linkend="void">void</link>                <link linkend="amitk-canvas-point-free">amitk_canvas_point_free</link>             (<link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> *point);
typedef             <link linkend="AmitkAxes">AmitkAxes</link>;
<link linkend="GType">GType</link>               <link linkend="amitk-axes-get-type">amitk_axes_get_type</link>                 (void);
<link linkend="AmitkAxes">AmitkAxes</link>*          <link linkend="amitk-axes-copy">amitk_axes_copy</link>                     (const <link linkend="AmitkAxes">AmitkAxes</link> *axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-free">amitk_axes_free</link>                     (<link linkend="AmitkAxes">AmitkAxes</link> *axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-copy-in-place">amitk_axes_copy_in_place</link>            (<link linkend="AmitkAxes">AmitkAxes</link> dest_axes,
                                                         const <link linkend="AmitkAxes">AmitkAxes</link> src_axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-transpose">amitk_axes_transpose</link>                (<link linkend="AmitkAxes">AmitkAxes</link> axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-mult">amitk_axes_mult</link>                     (const <link linkend="AmitkAxes">AmitkAxes</link> const_axes1,
                                                         const <link linkend="AmitkAxes">AmitkAxes</link> const_axes2,
                                                         <link linkend="AmitkAxes">AmitkAxes</link> dest_axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-make-orthonormal">amitk_axes_make_orthonormal</link>         (<link linkend="AmitkAxes">AmitkAxes</link> axes);
<link linkend="void">void</link>                <link linkend="amitk-axes-rotate-on-vector">amitk_axes_rotate_on_vector</link>         (<link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> vector,
                                                         <link linkend="amide-real-t">amide_real_t</link> theta);
<link linkend="AmitkPoint">AmitkPoint</link>          <link linkend="amitk-axes-get-orthogonal-axis">amitk_axes_get_orthogonal_axis</link>      (const <link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         const <link linkend="AmitkView">AmitkView</link> which_view,
                                                         const <link linkend="AmitkLayout">AmitkLayout</link> which_layout,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis);
<link linkend="AmitkPoint">AmitkPoint</link>          <link linkend="amitk-axes-get-normal-axis">amitk_axes_get_normal_axis</link>          (const <link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         const <link linkend="AmitkView">AmitkView</link> which_view);
typedef             <link linkend="AmitkCorners">AmitkCorners</link>;
<link linkend="GType">GType</link>               <link linkend="amitk-corners-get-type">amitk_corners_get_type</link>              (void);
<link linkend="void">void</link>                <link linkend="amitk-corners-free">amitk_corners_free</link>                  (<link linkend="AmitkCorners">AmitkCorners</link> *corners);
<link linkend="AmitkCorners">AmitkCorners</link>*       <link linkend="amitk-corners-copy">amitk_corners_copy</link>                  (const <link linkend="AmitkCorners">AmitkCorners</link> *corners);
#define             <link linkend="EPSILON:CAPS">EPSILON</link>
#define             <link linkend="CLOSE:CAPS">CLOSE</link>
#define             <link linkend="EMPTY:CAPS">EMPTY</link>
#define             <link linkend="SIGMA-TO-FWHM:CAPS">SIGMA_TO_FWHM</link>
#define             <link linkend="SIGMA-TO-FWTM:CAPS">SIGMA_TO_FWTM</link>
#define             <link linkend="REAL-EQUAL:CAPS">REAL_EQUAL</link>                          (x,y)
#define             <link linkend="EQUAL-ZERO:CAPS">EQUAL_ZERO</link>                          (fp1)
#define             <link linkend="REAL-CLOSE:CAPS">REAL_CLOSE</link>                          (x,y)
#define             <link linkend="POINT-EQUAL:CAPS">POINT_EQUAL</link>                         (point1,point2)
#define             <link linkend="VOXEL-EQUAL:CAPS">VOXEL_EQUAL</link>                         (voxel1,voxel2)
#define             <link linkend="VOXEL-TO-POINT:CAPS">VOXEL_TO_POINT</link>                      (vox, vox_size, real)
#define             <link linkend="POINT-TO-VOXEL:CAPS">POINT_TO_VOXEL</link>                      (real, vox_size, frame, gate, vox)
#define             <link linkend="VOXEL-CORNER:CAPS">VOXEL_CORNER</link>                        (vox, vox_size, corner)
#define             <link linkend="POINT-MAX:CAPS">POINT_MAX</link>                           (point1)
#define             <link linkend="POINT-DOT-PRODUCT:CAPS">POINT_DOT_PRODUCT</link>                   (point1,point2)
#define             <link linkend="POINT-MAGNITUDE:CAPS">POINT_MAGNITUDE</link>                     (point)
#define             <link linkend="POINT-ABS:CAPS">POINT_ABS</link>                           (point1,point2)
#define             <link linkend="POINT-ADD:CAPS">POINT_ADD</link>                           (point1,point2,point3)
#define             <link linkend="POINT-SUB:CAPS">POINT_SUB</link>                           (point1,point2,point3)
#define             <link linkend="POINT-MULT:CAPS">POINT_MULT</link>                          (point1,point2,point3)
#define             <link linkend="POINT-DIV:CAPS">POINT_DIV</link>                           (point1,point2,point3)
#define             <link linkend="POINT-DIFF:CAPS">POINT_DIFF</link>                          (point1,point2,point3)
#define             <link linkend="POINT-CMULT:CAPS">POINT_CMULT</link>                         (cm,point1,point3)
#define             <link linkend="POINT-CROSS-PRODUCT:CAPS">POINT_CROSS_PRODUCT</link>                 (point1, point2, point3)
#define             <link linkend="POINT-MADD:CAPS">POINT_MADD</link>                          (cm,point1,dm,point2,point3)
<link linkend="AmitkPoint">AmitkPoint</link>          <link linkend="canvas-point-2-point">canvas_point_2_point</link>                (<link linkend="AmitkPoint">AmitkPoint</link> volume_corner,
                                                         <link linkend="gint">gint</link> width,
                                                         <link linkend="gint">gint</link> height,
                                                         <link linkend="gdouble">gdouble</link> x_offset,
                                                         <link linkend="gdouble">gdouble</link> y_offset,
                                                         <link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> canvas_cpoint);
<link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link>    <link linkend="point-2-canvas-point">point_2_canvas_point</link>                (<link linkend="AmitkPoint">AmitkPoint</link> volume_corner,
                                                         <link linkend="gint">gint</link> width,
                                                         <link linkend="gint">gint</link> height,
                                                         <link linkend="gdouble">gdouble</link> x_offset,
                                                         <link linkend="gdouble">gdouble</link> y_offset,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> canvas_point);
<link linkend="void">void</link>                <link linkend="voxel-print">voxel_print</link>                         (<link linkend="gchar">gchar</link> *message,
                                                         const <link linkend="AmitkVoxel">AmitkVoxel</link> voxel);
<link linkend="amide-intpoint-t">amide_intpoint_t</link>    <link linkend="voxel-get-dim">voxel_get_dim</link>                       (const <link linkend="AmitkVoxel">AmitkVoxel</link> voxel,
                                                         const <link linkend="AmitkDim">AmitkDim</link> which_dim);
<link linkend="void">void</link>                <link linkend="voxel-set-dim">voxel_set_dim</link>                       (<link linkend="AmitkVoxel">AmitkVoxel</link> *voxel,
                                                         const <link linkend="AmitkDim">AmitkDim</link> which_dim,
                                                         <link linkend="amide-intpoint-t">amide_intpoint_t</link> value);
<link linkend="void">void</link>                <link linkend="point-print">point_print</link>                         (<link linkend="gchar">gchar</link> *message,
                                                         const <link linkend="AmitkPoint">AmitkPoint</link> point);
<link linkend="AmitkPoint">AmitkPoint</link>          <link linkend="point-rotate-on-vector">point_rotate_on_vector</link>              (const <link linkend="AmitkPoint">AmitkPoint</link> in,
                                                         const <link linkend="AmitkPoint">AmitkPoint</link> vector,
                                                         const <link linkend="amide-real-t">amide_real_t</link> theta);
<link linkend="amide-real-t">amide_real_t</link>        <link linkend="point-get-component">point_get_component</link>                 (const <link linkend="AmitkPoint">AmitkPoint</link> point,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis);
<link linkend="void">void</link>                <link linkend="point-set-component">point_set_component</link>                 (<link linkend="AmitkPoint">AmitkPoint</link> *point,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis,
                                                         const <link linkend="amide-real-t">amide_real_t</link> value);
extern              const AmitkPoint <link linkend="zero-point">zero_point</link>;
#define             <link linkend="ONE-POINT:CAPS">ONE_POINT</link>
extern              const AmitkPoint <link linkend="one-point">one_point</link>;
extern              const AmitkPoint <link linkend="ten-point">ten_point</link>;
extern              const AmitkVoxel <link linkend="zero-voxel">zero_voxel</link>;
#define             <link linkend="ONE-VOXEL:CAPS">ONE_VOXEL</link>
extern              const AmitkVoxel <link linkend="one-voxel">one_voxel</link>;
extern              const AmitkAxes <link linkend="base-axes">base_axes</link>;
const <link linkend="gchar">gchar</link>*        <link linkend="amitk-view-get-name">amitk_view_get_name</link>                 (const <link linkend="AmitkView">AmitkView</link> view);
const <link linkend="gchar">gchar</link>*        <link linkend="amitk-dim-get-name">amitk_dim_get_name</link>                  (const <link linkend="AmitkDim">AmitkDim</link> dim);
const <link linkend="gchar">gchar</link>*        <link linkend="amitk-axis-get-name">amitk_axis_get_name</link>                 (const <link linkend="AmitkAxis">AmitkAxis</link> axis);
const <link linkend="gchar">gchar</link>*        <link linkend="amitk-length-unit-get-name">amitk_length_unit_get_name</link>          (const <link linkend="AmitkLengthUnit">AmitkLengthUnit</link> length_unit);
</synopsis>
</refsynopsisdiv>









<refsect1 role="desc">
<title role="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 role="details">
<title role="details.title">Details</title>
<refsect2>
<title><anchor id="AmitkView" role="enum"/>enum AmitkView</title>
<indexterm><primary>AmitkView</primary></indexterm><programlisting>typedef enum {
  AMITK_VIEW_TRANSVERSE, 
  AMITK_VIEW_CORONAL, 
  AMITK_VIEW_SAGITTAL, 
  AMITK_VIEW_NUM
} AmitkView;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkAxis" role="enum"/>enum AmitkAxis</title>
<indexterm><primary>AmitkAxis</primary></indexterm><programlisting>typedef enum {
  AMITK_AXIS_X,
  AMITK_AXIS_Y,
  AMITK_AXIS_Z,
  AMITK_AXIS_NUM
} AmitkAxis;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkDim" role="enum"/>enum AmitkDim</title>
<indexterm><primary>AmitkDim</primary></indexterm><programlisting>typedef enum {
  AMITK_DIM_X,
  AMITK_DIM_Y,
  AMITK_DIM_Z,
  AMITK_DIM_G,
  AMITK_DIM_T,
  AMITK_DIM_NUM
} AmitkDim;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkLengthUnit" role="enum"/>enum AmitkLengthUnit</title>
<indexterm><primary>AmitkLengthUnit</primary></indexterm><programlisting>typedef enum {
  AMITK_LENGTH_UNIT_MM,
  AMITK_LENGTH_UNIT_CM,
  AMITK_LENGTH_UNIT_M,
  AMITK_LENGTH_UNIT_INCHES,
  AMITK_LENGTH_UNIT_FEET,
  AMITK_LENGTH_UNIT_NUM
} AmitkLengthUnit;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AMITK-TYPE-POINT:CAPS" role="macro"/>AMITK_TYPE_POINT</title>
<indexterm><primary>AMITK_TYPE_POINT</primary></indexterm><programlisting>#define	AMITK_TYPE_POINT		(amitk_point_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AMITK-TYPE-VOXEL:CAPS" role="macro"/>AMITK_TYPE_VOXEL</title>
<indexterm><primary>AMITK_TYPE_VOXEL</primary></indexterm><programlisting>#define AMITK_TYPE_VOXEL                (amitk_voxel_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AMITK-TYPE-PIXEL:CAPS" role="macro"/>AMITK_TYPE_PIXEL</title>
<indexterm><primary>AMITK_TYPE_PIXEL</primary></indexterm><programlisting>#define AMITK_TYPE_PIXEL                (amitk_pixel_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AMITK-TYPE-CANVAS-POINT:CAPS" role="macro"/>AMITK_TYPE_CANVAS_POINT</title>
<indexterm><primary>AMITK_TYPE_CANVAS_POINT</primary></indexterm><programlisting>#define AMITK_TYPE_CANVAS_POINT         (amitk_canvas_point_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AMITK-TYPE-AXES:CAPS" role="macro"/>AMITK_TYPE_AXES</title>
<indexterm><primary>AMITK_TYPE_AXES</primary></indexterm><programlisting>#define AMITK_TYPE_AXES                 (amitk_axes_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkPoint" role="struct"/>AmitkPoint</title>
<indexterm><primary>AmitkPoint</primary></indexterm><programlisting>typedef struct {
  amide_real_t x;
  amide_real_t y;
  amide_real_t z;
} AmitkPoint;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkVoxel" role="struct"/>AmitkVoxel</title>
<indexterm><primary>AmitkVoxel</primary></indexterm><programlisting>typedef struct {
  amide_intpoint_t x;
  amide_intpoint_t y;
  amide_intpoint_t z;
  amide_intpoint_t g;
  amide_intpoint_t t;
} AmitkVoxel;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkPixel" role="struct"/>AmitkPixel</title>
<indexterm><primary>AmitkPixel</primary></indexterm><programlisting>typedef struct {
  amide_intpoint_t x;
  amide_intpoint_t y;
} AmitkPixel;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="AmitkCanvasPoint" role="struct"/>AmitkCanvasPoint</title>
<indexterm><primary>AmitkCanvasPoint</primary></indexterm><programlisting>typedef struct {
  amide_real_t x;
  amide_real_t y;
} AmitkCanvasPoint;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="amitk-point-get-type" role="function"/>amitk_point_get_type ()</title>
<indexterm><primary>amitk_point_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_point_get_type                (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-point-copy" role="function"/>amitk_point_copy ()</title>
<indexterm><primary>amitk_point_copy</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>*         amitk_point_copy                    (const <link linkend="AmitkPoint">AmitkPoint</link> *point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-point-free" role="function"/>amitk_point_free ()</title>
<indexterm><primary>amitk_point_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_point_free                    (<link linkend="AmitkPoint">AmitkPoint</link> *point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-point-read-xml" role="function"/>amitk_point_read_xml ()</title>
<indexterm><primary>amitk_point_read_xml</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>          amitk_point_read_xml                (<link linkend="xmlNodePtr">xmlNodePtr</link> nodes,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="gchar">gchar</link> **perror_buf);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>nodes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>descriptor</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>perror_buf</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-point-write-xml" role="function"/>amitk_point_write_xml ()</title>
<indexterm><primary>amitk_point_write_xml</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_point_write_xml               (<link linkend="xmlNodePtr">xmlNodePtr</link> node,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>descriptor</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-voxel-get-type" role="function"/>amitk_voxel_get_type ()</title>
<indexterm><primary>amitk_voxel_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_voxel_get_type                (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-voxel-copy" role="function"/>amitk_voxel_copy ()</title>
<indexterm><primary>amitk_voxel_copy</primary></indexterm><programlisting><link linkend="AmitkVoxel">AmitkVoxel</link>*         amitk_voxel_copy                    (const <link linkend="AmitkVoxel">AmitkVoxel</link> *voxel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-voxel-free" role="function"/>amitk_voxel_free ()</title>
<indexterm><primary>amitk_voxel_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_voxel_free                    (<link linkend="AmitkVoxel">AmitkVoxel</link> *voxel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-voxel-read-xml" role="function"/>amitk_voxel_read_xml ()</title>
<indexterm><primary>amitk_voxel_read_xml</primary></indexterm><programlisting><link linkend="AmitkVoxel">AmitkVoxel</link>          amitk_voxel_read_xml                (<link linkend="xmlNodePtr">xmlNodePtr</link> nodes,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="gchar">gchar</link> **perror_buf);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>nodes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>descriptor</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>perror_buf</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-voxel-write-xml" role="function"/>amitk_voxel_write_xml ()</title>
<indexterm><primary>amitk_voxel_write_xml</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_voxel_write_xml               (<link linkend="xmlNodePtr">xmlNodePtr</link> node,
                                                         <link linkend="gchar">gchar</link> *descriptor,
                                                         <link linkend="AmitkVoxel">AmitkVoxel</link> voxel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>descriptor</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-pixel-get-type" role="function"/>amitk_pixel_get_type ()</title>
<indexterm><primary>amitk_pixel_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_pixel_get_type                (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-pixel-copy" role="function"/>amitk_pixel_copy ()</title>
<indexterm><primary>amitk_pixel_copy</primary></indexterm><programlisting><link linkend="AmitkPixel">AmitkPixel</link>*         amitk_pixel_copy                    (const <link linkend="AmitkPixel">AmitkPixel</link> *pixel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>pixel</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-pixel-free" role="function"/>amitk_pixel_free ()</title>
<indexterm><primary>amitk_pixel_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_pixel_free                    (<link linkend="AmitkPixel">AmitkPixel</link> *pixel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>pixel</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-canvas-point-get-type" role="function"/>amitk_canvas_point_get_type ()</title>
<indexterm><primary>amitk_canvas_point_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_canvas_point_get_type         (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-canvas-point-copy" role="function"/>amitk_canvas_point_copy ()</title>
<indexterm><primary>amitk_canvas_point_copy</primary></indexterm><programlisting><link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link>*   amitk_canvas_point_copy             (const <link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> *point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-canvas-point-free" role="function"/>amitk_canvas_point_free ()</title>
<indexterm><primary>amitk_canvas_point_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_canvas_point_free             (<link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> *point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="AmitkAxes" role="typedef"/>AmitkAxes</title>
<indexterm><primary>AmitkAxes</primary></indexterm><programlisting>typedef AmitkPoint AmitkAxes[AMITK_AXIS_NUM];
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="amitk-axes-get-type" role="function"/>amitk_axes_get_type ()</title>
<indexterm><primary>amitk_axes_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_axes_get_type                 (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-copy" role="function"/>amitk_axes_copy ()</title>
<indexterm><primary>amitk_axes_copy</primary></indexterm><programlisting><link linkend="AmitkAxes">AmitkAxes</link>*          amitk_axes_copy                     (const <link linkend="AmitkAxes">AmitkAxes</link> *axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-free" role="function"/>amitk_axes_free ()</title>
<indexterm><primary>amitk_axes_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_free                     (<link linkend="AmitkAxes">AmitkAxes</link> *axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-copy-in-place" role="function"/>amitk_axes_copy_in_place ()</title>
<indexterm><primary>amitk_axes_copy_in_place</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_copy_in_place            (<link linkend="AmitkAxes">AmitkAxes</link> dest_axes,
                                                         const <link linkend="AmitkAxes">AmitkAxes</link> src_axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dest_axes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>src_axes</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-transpose" role="function"/>amitk_axes_transpose ()</title>
<indexterm><primary>amitk_axes_transpose</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_transpose                (<link linkend="AmitkAxes">AmitkAxes</link> axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-mult" role="function"/>amitk_axes_mult ()</title>
<indexterm><primary>amitk_axes_mult</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_mult                     (const <link linkend="AmitkAxes">AmitkAxes</link> const_axes1,
                                                         const <link linkend="AmitkAxes">AmitkAxes</link> const_axes2,
                                                         <link linkend="AmitkAxes">AmitkAxes</link> dest_axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>const_axes1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>const_axes2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dest_axes</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-make-orthonormal" role="function"/>amitk_axes_make_orthonormal ()</title>
<indexterm><primary>amitk_axes_make_orthonormal</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_make_orthonormal         (<link linkend="AmitkAxes">AmitkAxes</link> axes);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-rotate-on-vector" role="function"/>amitk_axes_rotate_on_vector ()</title>
<indexterm><primary>amitk_axes_rotate_on_vector</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_axes_rotate_on_vector         (<link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> vector,
                                                         <link linkend="amide-real-t">amide_real_t</link> theta);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vector</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>theta</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-get-orthogonal-axis" role="function"/>amitk_axes_get_orthogonal_axis ()</title>
<indexterm><primary>amitk_axes_get_orthogonal_axis</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>          amitk_axes_get_orthogonal_axis      (const <link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         const <link linkend="AmitkView">AmitkView</link> which_view,
                                                         const <link linkend="AmitkLayout">AmitkLayout</link> which_layout,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_view</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_layout</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_axis</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axes-get-normal-axis" role="function"/>amitk_axes_get_normal_axis ()</title>
<indexterm><primary>amitk_axes_get_normal_axis</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>          amitk_axes_get_normal_axis          (const <link linkend="AmitkAxes">AmitkAxes</link> axes,
                                                         const <link linkend="AmitkView">AmitkView</link> which_view);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axes</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_view</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="AmitkCorners" role="typedef"/>AmitkCorners</title>
<indexterm><primary>AmitkCorners</primary></indexterm><programlisting>typedef AmitkPoint AmitkCorners[2];
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="amitk-corners-get-type" role="function"/>amitk_corners_get_type ()</title>
<indexterm><primary>amitk_corners_get_type</primary></indexterm><programlisting><link linkend="GType">GType</link>               amitk_corners_get_type              (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-corners-free" role="function"/>amitk_corners_free ()</title>
<indexterm><primary>amitk_corners_free</primary></indexterm><programlisting><link linkend="void">void</link>                amitk_corners_free                  (<link linkend="AmitkCorners">AmitkCorners</link> *corners);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>corners</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-corners-copy" role="function"/>amitk_corners_copy ()</title>
<indexterm><primary>amitk_corners_copy</primary></indexterm><programlisting><link linkend="AmitkCorners">AmitkCorners</link>*       amitk_corners_copy                  (const <link linkend="AmitkCorners">AmitkCorners</link> *corners);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>corners</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="EPSILON:CAPS" role="macro"/>EPSILON</title>
<indexterm><primary>EPSILON</primary></indexterm><programlisting>#define EPSILON 1.4901161193847656e-08 /* what's close enough to be equal.... */
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="CLOSE:CAPS" role="macro"/>CLOSE</title>
<indexterm><primary>CLOSE</primary></indexterm><programlisting>#define CLOSE 0.0001 /* within 0.01% */
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="EMPTY:CAPS" role="macro"/>EMPTY</title>
<indexterm><primary>EMPTY</primary></indexterm><programlisting>#define EMPTY 0.0
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="SIGMA-TO-FWHM:CAPS" role="macro"/>SIGMA_TO_FWHM</title>
<indexterm><primary>SIGMA_TO_FWHM</primary></indexterm><programlisting>#define SIGMA_TO_FWHM 2.354820045 
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="SIGMA-TO-FWTM:CAPS" role="macro"/>SIGMA_TO_FWTM</title>
<indexterm><primary>SIGMA_TO_FWTM</primary></indexterm><programlisting>#define SIGMA_TO_FWTM 4.291932053
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="REAL-EQUAL:CAPS" role="macro"/>REAL_EQUAL()</title>
<indexterm><primary>REAL_EQUAL</primary></indexterm><programlisting>#define REAL_EQUAL(x,y) (fabs(x-y)/MAX(MAX(fabs(x),fabs(y)),DBL_MIN) &lt; EPSILON)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="EQUAL-ZERO:CAPS" role="macro"/>EQUAL_ZERO()</title>
<indexterm><primary>EQUAL_ZERO</primary></indexterm><programlisting>#define EQUAL_ZERO(fp1) (REAL_EQUAL((fp1), 0.0))
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>fp1</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="REAL-CLOSE:CAPS" role="macro"/>REAL_CLOSE()</title>
<indexterm><primary>REAL_CLOSE</primary></indexterm><programlisting>#define REAL_CLOSE(x,y) (fabs(x-y)/MAX(MAX(fabs(x),fabs(y)),DBL_MIN) &lt; CLOSE)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-EQUAL:CAPS" role="macro"/>POINT_EQUAL()</title>
<indexterm><primary>POINT_EQUAL</primary></indexterm><programlisting>#define             POINT_EQUAL(point1,point2)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="VOXEL-EQUAL:CAPS" role="macro"/>VOXEL_EQUAL()</title>
<indexterm><primary>VOXEL_EQUAL</primary></indexterm><programlisting>#define             VOXEL_EQUAL(voxel1,voxel2)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>voxel1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>voxel2</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="VOXEL-TO-POINT:CAPS" role="macro"/>VOXEL_TO_POINT()</title>
<indexterm><primary>VOXEL_TO_POINT</primary></indexterm><programlisting>#define             VOXEL_TO_POINT(vox, vox_size, real)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>vox</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vox_size</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>real</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-TO-VOXEL:CAPS" role="macro"/>POINT_TO_VOXEL()</title>
<indexterm><primary>POINT_TO_VOXEL</primary></indexterm><programlisting>#define             POINT_TO_VOXEL(real, vox_size, frame, gate, vox)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>real</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vox_size</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>frame</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>gate</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vox</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="VOXEL-CORNER:CAPS" role="macro"/>VOXEL_CORNER()</title>
<indexterm><primary>VOXEL_CORNER</primary></indexterm><programlisting>#define             VOXEL_CORNER(vox, vox_size, corner)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>vox</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vox_size</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>corner</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-MAX:CAPS" role="macro"/>POINT_MAX()</title>
<indexterm><primary>POINT_MAX</primary></indexterm><programlisting>#define POINT_MAX(point1) (MAX( MAX((point1).x, (point1).y), (point1).z))
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-DOT-PRODUCT:CAPS" role="macro"/>POINT_DOT_PRODUCT()</title>
<indexterm><primary>POINT_DOT_PRODUCT</primary></indexterm><programlisting>#define POINT_DOT_PRODUCT(point1,point2) ((point1).x*(point2).x+(point1).y*(point2).y+(point1).z*(point2).z)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-MAGNITUDE:CAPS" role="macro"/>POINT_MAGNITUDE()</title>
<indexterm><primary>POINT_MAGNITUDE</primary></indexterm><programlisting>#define POINT_MAGNITUDE(point) (sqrt(POINT_DOT_PRODUCT((point), (point))))
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-ABS:CAPS" role="macro"/>POINT_ABS()</title>
<indexterm><primary>POINT_ABS</primary></indexterm><programlisting>#define             POINT_ABS(point1,point2)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-ADD:CAPS" role="macro"/>POINT_ADD()</title>
<indexterm><primary>POINT_ADD</primary></indexterm><programlisting>#define             POINT_ADD(point1,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-SUB:CAPS" role="macro"/>POINT_SUB()</title>
<indexterm><primary>POINT_SUB</primary></indexterm><programlisting>#define             POINT_SUB(point1,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-MULT:CAPS" role="macro"/>POINT_MULT()</title>
<indexterm><primary>POINT_MULT</primary></indexterm><programlisting>#define             POINT_MULT(point1,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-DIV:CAPS" role="macro"/>POINT_DIV()</title>
<indexterm><primary>POINT_DIV</primary></indexterm><programlisting>#define             POINT_DIV(point1,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-DIFF:CAPS" role="macro"/>POINT_DIFF()</title>
<indexterm><primary>POINT_DIFF</primary></indexterm><programlisting>#define             POINT_DIFF(point1,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-CMULT:CAPS" role="macro"/>POINT_CMULT()</title>
<indexterm><primary>POINT_CMULT</primary></indexterm><programlisting>#define             POINT_CMULT(cm,point1,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>cm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-CROSS-PRODUCT:CAPS" role="macro"/>POINT_CROSS_PRODUCT()</title>
<indexterm><primary>POINT_CROSS_PRODUCT</primary></indexterm><programlisting>#define             POINT_CROSS_PRODUCT(point1, point2, point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="POINT-MADD:CAPS" role="macro"/>POINT_MADD()</title>
<indexterm><primary>POINT_MADD</primary></indexterm><programlisting>#define             POINT_MADD(cm,point1,dm,point2,point3)</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>cm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point3</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="canvas-point-2-point" role="function"/>canvas_point_2_point ()</title>
<indexterm><primary>canvas_point_2_point</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>          canvas_point_2_point                (<link linkend="AmitkPoint">AmitkPoint</link> volume_corner,
                                                         <link linkend="gint">gint</link> width,
                                                         <link linkend="gint">gint</link> height,
                                                         <link linkend="gdouble">gdouble</link> x_offset,
                                                         <link linkend="gdouble">gdouble</link> y_offset,
                                                         <link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link> canvas_cpoint);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>volume_corner</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>canvas_cpoint</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="point-2-canvas-point" role="function"/>point_2_canvas_point ()</title>
<indexterm><primary>point_2_canvas_point</primary></indexterm><programlisting><link linkend="AmitkCanvasPoint">AmitkCanvasPoint</link>    point_2_canvas_point                (<link linkend="AmitkPoint">AmitkPoint</link> volume_corner,
                                                         <link linkend="gint">gint</link> width,
                                                         <link linkend="gint">gint</link> height,
                                                         <link linkend="gdouble">gdouble</link> x_offset,
                                                         <link linkend="gdouble">gdouble</link> y_offset,
                                                         <link linkend="AmitkPoint">AmitkPoint</link> canvas_point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>volume_corner</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>canvas_point</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="voxel-print" role="function"/>voxel_print ()</title>
<indexterm><primary>voxel_print</primary></indexterm><programlisting><link linkend="void">void</link>                voxel_print                         (<link linkend="gchar">gchar</link> *message,
                                                         const <link linkend="AmitkVoxel">AmitkVoxel</link> voxel);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="voxel-get-dim" role="function"/>voxel_get_dim ()</title>
<indexterm><primary>voxel_get_dim</primary></indexterm><programlisting><link linkend="amide-intpoint-t">amide_intpoint_t</link>    voxel_get_dim                       (const <link linkend="AmitkVoxel">AmitkVoxel</link> voxel,
                                                         const <link linkend="AmitkDim">AmitkDim</link> which_dim);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_dim</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="voxel-set-dim" role="function"/>voxel_set_dim ()</title>
<indexterm><primary>voxel_set_dim</primary></indexterm><programlisting><link linkend="void">void</link>                voxel_set_dim                       (<link linkend="AmitkVoxel">AmitkVoxel</link> *voxel,
                                                         const <link linkend="AmitkDim">AmitkDim</link> which_dim,
                                                         <link linkend="amide-intpoint-t">amide_intpoint_t</link> value);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>voxel</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_dim</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="point-print" role="function"/>point_print ()</title>
<indexterm><primary>point_print</primary></indexterm><programlisting><link linkend="void">void</link>                point_print                         (<link linkend="gchar">gchar</link> *message,
                                                         const <link linkend="AmitkPoint">AmitkPoint</link> point);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>message</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="point-rotate-on-vector" role="function"/>point_rotate_on_vector ()</title>
<indexterm><primary>point_rotate_on_vector</primary></indexterm><programlisting><link linkend="AmitkPoint">AmitkPoint</link>          point_rotate_on_vector              (const <link linkend="AmitkPoint">AmitkPoint</link> in,
                                                         const <link linkend="AmitkPoint">AmitkPoint</link> vector,
                                                         const <link linkend="amide-real-t">amide_real_t</link> theta);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vector</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>theta</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="point-get-component" role="function"/>point_get_component ()</title>
<indexterm><primary>point_get_component</primary></indexterm><programlisting><link linkend="amide-real-t">amide_real_t</link>        point_get_component                 (const <link linkend="AmitkPoint">AmitkPoint</link> point,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_axis</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="point-set-component" role="function"/>point_set_component ()</title>
<indexterm><primary>point_set_component</primary></indexterm><programlisting><link linkend="void">void</link>                point_set_component                 (<link linkend="AmitkPoint">AmitkPoint</link> *point,
                                                         const <link linkend="AmitkAxis">AmitkAxis</link> which_axis,
                                                         const <link linkend="amide-real-t">amide_real_t</link> value);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>point</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>which_axis</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="zero-point" role="variable"/>zero_point</title>
<indexterm><primary>zero_point</primary></indexterm><programlisting>extern const AmitkPoint zero_point;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ONE-POINT:CAPS" role="macro"/>ONE_POINT</title>
<indexterm><primary>ONE_POINT</primary></indexterm><programlisting>#define ONE_POINT {1.0,1.0,1.0}
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="one-point" role="variable"/>one_point</title>
<indexterm><primary>one_point</primary></indexterm><programlisting>extern const AmitkPoint one_point;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ten-point" role="variable"/>ten_point</title>
<indexterm><primary>ten_point</primary></indexterm><programlisting>extern const AmitkPoint ten_point;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="zero-voxel" role="variable"/>zero_voxel</title>
<indexterm><primary>zero_voxel</primary></indexterm><programlisting>extern const AmitkVoxel zero_voxel;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ONE-VOXEL:CAPS" role="macro"/>ONE_VOXEL</title>
<indexterm><primary>ONE_VOXEL</primary></indexterm><programlisting>#define ONE_VOXEL {1,1,1,1,1}
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="one-voxel" role="variable"/>one_voxel</title>
<indexterm><primary>one_voxel</primary></indexterm><programlisting>extern const AmitkVoxel one_voxel;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="base-axes" role="variable"/>base_axes</title>
<indexterm><primary>base_axes</primary></indexterm><programlisting>extern const AmitkAxes base_axes;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="amitk-view-get-name" role="function"/>amitk_view_get_name ()</title>
<indexterm><primary>amitk_view_get_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>*        amitk_view_get_name                 (const <link linkend="AmitkView">AmitkView</link> view);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>view</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-dim-get-name" role="function"/>amitk_dim_get_name ()</title>
<indexterm><primary>amitk_dim_get_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>*        amitk_dim_get_name                  (const <link linkend="AmitkDim">AmitkDim</link> dim);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dim</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-axis-get-name" role="function"/>amitk_axis_get_name ()</title>
<indexterm><primary>amitk_axis_get_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>*        amitk_axis_get_name                 (const <link linkend="AmitkAxis">AmitkAxis</link> axis);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>axis</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="amitk-length-unit-get-name" role="function"/>amitk_length_unit_get_name ()</title>
<indexterm><primary>amitk_length_unit_get_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>*        amitk_length_unit_get_name          (const <link linkend="AmitkLengthUnit">AmitkLengthUnit</link> length_unit);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>length_unit</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
