# Class NormalizationPoint2D

java.lang.Object
boofcv.alg.geo.NormalizationPoint2D

public class NormalizationPoint2D extends Object
Describes how to normalize a set of points such that they have zero mean and variance. This is equivalent to applying the matrix below. Normalization is often needed as a preprocessing step for solving linear equations. Greatly reduces bias and numerical errors.
``` N = [ 1/σ_x     0      -μ_x/σ_x ]
[    0   1/σ_y 0   -μ_y/σ_y ]
[    0      0          1    ]
```

Y. Ma, S. Soatto, J. Kosecka, and S. S. Sastry, "An Invitation to 3-D Vision" Springer-Verlad, 2004

• ## Field Summary

Fields
Modifier and Type
Field
Description
`double`
`meanX`

`double`
`meanY`

`double`
`stdX`

`double`
`stdY`

• ## Constructor Summary

Constructors
Constructor
Description
`NormalizationPoint2D()`

```NormalizationPoint2D(double meanX, double stdX, double meanY, double stdY)```

• ## Method Summary

Modifier and Type
Method
Description
`void`
```apply(ConicGeneral_F64 p, ConicGeneral_F64 output)```
C* = H'*C*H
`void`
```apply(Point2D_F64 p, Point2D_F64 output)```

`void`
```apply(Point3D_F64 p, Point3D_F64 output)```

`void`
```apply(DMatrix3x3 C, DMatrix3x3 output)```
Apply transform to conic in 3x3 matrix format.
`void`
```apply(DMatrixRMaj H, DMatrixRMaj output)```
Applies normalization to a H=3xN matrix out = Norm*H
`boolean`
```isEquals(NormalizationPoint2D a, double tol)```

`DMatrixRMaj`
`matrix(@Nullable DMatrixRMaj M)`

`DMatrix3x3`
`matrix3(@Nullable DMatrix3x3 M)`

`DMatrixRMaj`
`matrixInv(@Nullable DMatrixRMaj M)`

`DMatrix3x3`
`matrixInv3(DMatrix3x3 M)`

`void`
```remove(ConicGeneral_F64 p, ConicGeneral_F64 output)```

`void`
```remove(Point2D_F64 p, Point2D_F64 output)```

`void`
```remove(Point3D_F64 p, Point3D_F64 output)```

`void`
```remove(DMatrix3x3 C, DMatrix3x3 output)```

`void`
```remove(DMatrixRMaj H, DMatrixRMaj output)```
Applies normalization to a H=3xN matrix out = Norm*H
`void`
```set(double meanX, double stdX, double meanY, double stdY)```

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ## Field Details

• ### meanX

public double meanX
• ### stdX

public double stdX
• ### meanY

public double meanY
• ### stdY

public double stdY
• ## Constructor Details

• ### NormalizationPoint2D

public NormalizationPoint2D()
• ### NormalizationPoint2D

public NormalizationPoint2D(double meanX, double stdX, double meanY, double stdY)
• ## Method Details

• ### set

public void set(double meanX, double stdX, double meanY, double stdY)
• ### apply

public void apply(DMatrixRMaj H, DMatrixRMaj output)
Applies normalization to a H=3xN matrix out = Norm*H
Parameters:
`H` - 3xN matrix. Can be same as input matrix
• ### remove

public void remove(DMatrixRMaj H, DMatrixRMaj output)
Applies normalization to a H=3xN matrix out = Norm*H
Parameters:
`H` - 3xN matrix. Can be same as input matrix
• ### apply

public void apply(Point2D_F64 p, Point2D_F64 output)
• ### apply

public void apply(Point3D_F64 p, Point3D_F64 output)
• ### apply

public void apply(ConicGeneral_F64 p, ConicGeneral_F64 output)
C* = H'*C*H
• ### apply

public void apply(DMatrix3x3 C, DMatrix3x3 output)
Apply transform to conic in 3x3 matrix format.
• ### remove

public void remove(Point2D_F64 p, Point2D_F64 output)
• ### remove

public void remove(Point3D_F64 p, Point3D_F64 output)
• ### remove

public void remove(ConicGeneral_F64 p, ConicGeneral_F64 output)
• ### remove

public void remove(DMatrix3x3 C, DMatrix3x3 output)
• ### matrix

public DMatrixRMaj matrix(@Nullable @Nullable DMatrixRMaj M)
• ### matrixInv

public DMatrixRMaj matrixInv(@Nullable @Nullable DMatrixRMaj M)
• ### matrix3

public DMatrix3x3 matrix3(@Nullable @Nullable DMatrix3x3 M)
• ### matrixInv3

public DMatrix3x3 matrixInv3(DMatrix3x3 M)
• ### isEquals

public boolean isEquals(NormalizationPoint2D a, double tol)