mr_vector.h

Go to the documentation of this file.
00001 /*
00002 ############################################################################
00003 
00004 #
00005 
00006 # Copyright (c) 2000 The Interventional Centre, Rikshospitalet, Oslo,
00007 
00008 # Norway. All rights reserved.  This software was developed by the
00009 
00010 # Interventional Centre, at Rikshospitalet, University of Oslo.  All
00011 
00012 # advertising materials mentioning features or use of this software
00013 
00014 # must display the following acknowledgement: This product includes
00015 
00016 # software developed by the Interventional Centre, Rikshospitalet,
00017 
00018 # University of Oslo, Norway.
00019 
00020 # 
00021 
00022 # Redistribution and use in source and binary forms, with or without
00023 
00024 # modification, are permitted provided that the following conditions
00025 
00026 # are met:
00027 
00028 # 
00029 
00030 # 1. Redistributions of source code must retain the above copyright
00031 
00032 #    notice, this list of conditions and the following disclaimer.
00033 
00034 # 2. Redistributions in binary form must reproduce the above copyright
00035 
00036 #    notice, this list of conditions and the following disclaimer in
00037 
00038 #    the documentation and/or other materials provided with the
00039 
00040 #    distribution.
00041 
00042 # 3. All advertising materials mentioning features or use of this
00043 
00044 #    software must display the following acknowledgement: This product
00045 
00046 #    includes software developed by the Interventional Centre,
00047 
00048 #    Rikshospitalet, University of Oslo, Norway.
00049 
00050 # 4. Any scientific publication made using this software should
00051 
00052 #    include the following acknowledgement: The program IVSDX
00053 
00054 #    developed by The Interventional Centre, Rikshospitalet,
00055 
00056 #    University of Oslo, Norway was used.
00057 
00058 # 5. Neither the name of the University nor the names of its
00059 
00060 #    contributors may be used to endorse or promote products derived
00061 
00062 #    from this software without specific prior written permission.
00063 
00064 #
00065 
00066 # THIS SOFTWARE IS PROVIDED BY THE INTERVENTIONAL CENTRE,
00067 
00068 # RIKSHOSPITALET ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
00069 
00070 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00071 
00072 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00073 
00074 # DISCLAIMED. IN NO EVENT SHALL THE INTERVENTIONAL CENTRE,
00075 
00076 # RIKSHOSPITALT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00077 
00078 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00079 
00080 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00081 
00082 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00083 
00084 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00085 
00086 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00087 
00088 # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00089 
00090 # SUCH DAMAGE.
00091 
00092 #
00093 
00094 ############################################################################
00095 */
00096 #ifndef _mr_vector_h_
00097 #define _mr_vector_h_
00098 
00099 #ifdef __cplusplus
00100 extern "C" {
00101 #endif
00102 
00103 void mr_vector_transformation_alpha_betha(float *R_0,float *R_1,float *R_2,double alpha,double betha);
00104 
00105 void mr_vector_transformation(float *n_in,float *N0,float *N1,float *N2);
00106 
00107 void mr_vector_cross_product(float *u,float *v,float *w);
00108 
00109 void mr_vector_in_product(float *a,float *v,float *w);
00110 
00111 void mr_vector_fill_vector_char(unsigned char *a,unsigned char *b,int imax);
00112 
00113 void mr_vector_fill_vector(float *a,float *b,int imax);
00114 
00115 void mr_vector_add_vectors(float *v,float *v1,float *v_add);
00116 
00117 void mr_vector_subtract_vectors(float *v,float *v1,float *v_sub);
00118 
00119 void mr_vector_multiply_vectors(float *v,float *v1,float a);
00120 
00121 void mr_vector_add_vector(float *v,float *v_add);
00122 
00123 void mr_vector_subtract_vector(float *v,float *v_sub);
00124 
00125 void mr_vector_multiply_vector(float *v,float a);
00126 
00127 void mr_vector_normalize_vector(float *v);
00128 
00129 void mr_vector_length_vector(float *v,float *l);
00130 
00131 void mr_vector_initialize_vector(float *v);
00132 
00133 void mr_vector_positive_vector(float *v);
00134 
00135 void mr_vector_initialize_matrix(unsigned short **matrix,int r,int c);
00136 
00137 void mr_vector_determinant_matrix(float *row1,float *row2,float *row3,float *d);
00138 
00139 void mr_vector_adjoint_matrix(float *row1,float *row2,float *row3);
00140 
00141 void mr_vector_inverse_matrix(float *row1,float *row2,float *row3);  
00142 
00143 void mr_vector_rotation(float *n_rf,float *n_rt,float *v);
00144 
00145 void mr_vector_transversal_normal(float *NORMAL_U,float *NORMAL_V);
00146 
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150 
00151 #endif

Generated on Wed Feb 28 15:18:49 2007 for NaviTrack by  doxygen 1.4.6