Changeset d8dbe0f in tol
- Timestamp:
- Dec 22, 2009, 9:52:25 AM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 0bd9e15
- Parents:
- 7827bac
- Location:
- tol/contrib/ANN
- Files:
-
- 2 edited
-
sample.tol (modified) (1 diff)
-
tolANN.cpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol/contrib/ANN/sample.tol
r7827bac rd8dbe0f 1 1 Real dim = 2; 2 Matrix XY = Rand( 100000, dim, 0, 1 );3 Real id = KDTree.New( XY );2 Matrix XY = Rand( 20000, dim, 0, 1 ); 3 Real id = ANN.KDTree.New( XY ); 4 4 Real k = 10; 5 Set KDTree.KSearch( id, Rand( 10000, dim, 0, 1 ), k );6 Real KDTree.Delete( id );5 Set ANN.KDTree.KSearch( id, Rand( 100000, dim, 0, 1 ), k ); 6 Real ANN.KDTree.Delete( id ); -
tol/contrib/ANN/tolANN.cpp
r7827bac rd8dbe0f 88 88 89 89 //-------------------------------------------------- 90 DeclareContensClass(BDat, BDatTemporary, BDat KDTreeNew);91 DefExtOpr(1, BDat KDTreeNew, "KDTree.New", 1, 1, "Matrix",90 DeclareContensClass(BDat, BDatTemporary, BDatANNKDTreeNew); 91 DefExtOpr(1, BDatANNKDTreeNew, "ANN.KDTree.New", 1, 1, "Matrix", 92 92 "(Matrix points)", 93 93 I2("Build a kd-tree and return its identifier. A kd-tree is a " 94 94 "complex data structure useful to perform nearest neighbourhood " 95 95 "searches. When the kd-tree is not needed any more it should be " 96 "relased with KDTree.Delete\n" 97 "See also KDTree.Delete, KDTree.RSearch, KDTree.KSearch", 96 "relased with ANN.KDTree.Delete\n" 97 "See also ANN.KDTree.Delete, ANN.KDTree.RSearch and " 98 "ANN.KDTree.KSearch", 98 99 "Construye un kd-tree y retorna su identificador. Un kd-tree es " 99 100 "una estructura de datos compleja util en la busqueda de " 100 101 "vecinos cercanos. Cuando un kd-tree ya no se necesite mas debe " 101 "liberarse con KDTree.Delete\n" 102 "Vease tambien KDTree.Delete, KDTree.RSearch, KDTree.KSearch"), 102 "liberarse con ANN.KDTree.Delete\n" 103 "Vease tambien ANN.KDTree.Delete, ANN.KDTree.RSearch y " 104 "ANN.KDTree.KSearch"), 103 105 BOperClassify::MatrixAlgebra_); 104 106 //-------------------------------------------------- 105 void BDat KDTreeNew::CalcContens()107 void BDatANNKDTreeNew::CalcContens() 106 108 { 107 109 tol_kdtree *aux = NULL; … … 121 123 122 124 //-------------------------------------------------- 123 DeclareContensClass(BDat, BDatTemporary, BDat KDTreeDelete);124 DefIntOpr(1, BDat KDTreeDelete, "KDTree.Delete", 1, 1,125 DeclareContensClass(BDat, BDatTemporary, BDatANNKDTreeDelete); 126 DefIntOpr(1, BDatANNKDTreeDelete, "ANN.KDTree.Delete", 1, 1, 125 127 "(Real kdtree)", 126 I2("Release a kd-tree previously created with KDTree.New. "128 I2("Release a kd-tree previously created with ANN.KDTree.New. " 127 129 "Returns 1 if success or 0 in case of fail.\n" 128 "See also KDTree.New, KDTree.RSearch, KDTree.KSearch", 129 "Libera un kd-tree previamente creado con KDTree.New. " 130 "See also ANN.KDTree.New, ANN.KDTree.RSearch and " 131 "ANN.KDTree.KSearch", 132 "Libera un kd-tree previamente creado con ANN.KDTree.New. " 130 133 "Retorna 1 se libero exitosamente o 0 en caso de fallo.\n" 131 "Vease tambien KDTree.New, KDTree.RSearch, KDTree.KSearch"), 134 "Vease tambien ANN.KDTree.New, ANN.KDTree.RSearch y " 135 "ANN.KDTree.KSearch"), 132 136 BOperClassify::MatrixAlgebra_); 133 137 //-------------------------------------------------- 134 void BDat KDTreeDelete::CalcContens()138 void BDatANNKDTreeDelete::CalcContens() 135 139 { 136 140 double addr = Dat( Arg( 1 ) ).Value(); … … 144 148 145 149 //-------------------------------------------------- 146 DeclareContensClass(BSet, BSetTemporary, BSetKDTreeKSearch); 147 DefExtOpr(1, BSetKDTreeKSearch, "KDTree.KSearch", 3, 3, "Real Matrix Real", 150 DeclareContensClass(BSet, BSetTemporary, BSetANNKDTreeKSearch); 151 DefExtOpr(1, BSetANNKDTreeKSearch, "ANN.KDTree.KSearch", 3, 3, 152 "Real Matrix Real", 148 153 "(Real kdtree, Matrix qpoints, Real k)", 149 154 I2("Computes for every point in points the k nearest neighbors. " … … 152 157 "the neighbors and in the column 2 the squared distance to the " 153 158 "query point. The index is referred to the ordering of the " 154 "points given in KDTree.New. The argument kdtree must be a " 155 "valid kdtree as returned from KDTree.New\n" 156 "See also KDTree.New, KDTree.Delete and KDTree.RSearch", 159 "points given in ANN.KDTree.New. The argument kdtree must be a " 160 "valid kdtree as returned from ANN.KDTree.New\n" 161 "See also ANN.KDTree.New, ANN.KDTree.Delete and " 162 "ANN.KDTree.RSearch", 157 163 ""), 158 164 BOperClassify::MatrixAlgebra_); 159 165 //-------------------------------------------------- 160 void BSet KDTreeKSearch::CalcContens()166 void BSetANNKDTreeKSearch::CalcContens() 161 167 { 162 168 double addr = Dat( Arg( 1 ) ).Value(); … … 199 205 } 200 206 assert( (buffer - ((DMat&)qpoints).GetData().GetBuffer()) == 201 qpoints.Rows()*qpoints. columns() );207 qpoints.Rows()*qpoints.Columns() ); 202 208 annDeallocPt( pt ); 203 209 delete [] nn_idx;
Note: See TracChangeset
for help on using the changeset viewer.
