RDKit
Open-source cheminformatics and machine learning.
AlignPoints.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2008 Greg Landrum and Rational Discovery LLC
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #include <RDGeneral/export.h>
11 #ifndef __RD_ALIGN_POINTS_H__
12 #define __RD_ALIGN_POINTS_H__
13 
14 #include <Geometry/point.h>
15 #include <Geometry/Transform3D.h>
16 #include <Numerics/Vector.h>
17 
18 namespace RDNumeric {
19 
20 namespace Alignments {
21 
22 //! \brief Compute an optimal alignment (minimum sum of squared distance)
23 // between
24 //! two sets of points in 3D
25 /*!
26  \param refPoints A vector of pointers to the reference points
27  \param probePoints A vector of pointers to the points to be aligned to the
28  refPoints
29  \param trans A RDGeom::Transform3D object to capture the necessary
30  transformation
31  \param weights A vector of weights for each of the points
32  \param reflect Add reflection is true
33  \param maxIterations Maximum number of iterations
34 
35  \return The sum of squared distances between the points
36 
37  <b>Note</b>
38  This function returns the sum of squared distance (SSR) not the RMSD
39  RMSD = sqrt(SSR/numPoints)
40 */
43  const RDGeom::Point3DConstPtrVect &probePoints,
44  RDGeom::Transform3D &trans, const DoubleVector *weights = 0,
45  bool reflect = false, unsigned int maxIterations = 50);
46 } // namespace Alignments
47 } // namespace RDNumeric
48 
49 #endif
RDGeom::Point3DConstPtrVect
std::vector< const RDGeom::Point3D * > Point3DConstPtrVect
Definition: point.h:510
point.h
Vector.h
RDNumeric::Alignments::AlignPoints
double RDKIT_ALIGNMENT_EXPORT AlignPoints(const RDGeom::Point3DConstPtrVect &refPoints, const RDGeom::Point3DConstPtrVect &probePoints, RDGeom::Transform3D &trans, const DoubleVector *weights=0, bool reflect=false, unsigned int maxIterations=50)
Compute an optimal alignment (minimum sum of squared distance)
RDKit::MolAlign::reflect
const RDKIT_MOLALIGN_EXPORT RDGeom::POINT3D_VECT * reflect(const Conformer &conf)
RDNumeric::Vector
A class to represent vectors of numbers.
Definition: Vector.h:29
RDKIT_ALIGNMENT_EXPORT
#define RDKIT_ALIGNMENT_EXPORT
Definition: export.h:21
Transform3D.h
RDGeom::Transform3D
Definition: Transform3D.h:22
RDNumeric
Definition: AlignPoints.h:18
export.h