---
title: "CalibMethod"
description: "API documentation for CalibMethod"
url: https://developer.disguise.one/python-api/docs/calibmethod/
---

# CalibMethod

specify algorithm to use for camera/projector calibration  
Available algorithms / methods:

-   Manual: no automatic calibration (off)
-   Auto: chooses from methods below according to available calibration parameters
-   Gold Standard (see Hartley,Zisserman: “MVG”)
-   Zhang\* (no lens distortion) \[[http://research.microsoft.com/en-us/um/people/zhang/calib/](http://research.microsoft.com/en-us/um/people/zhang/calib/)\]
-   Zhang\* with 1 radial lens distortion term
-   Zhang\* with 2 radial lens distortion terms
-   Zhang\* with 2 radial and 2 tangential lens distortion terms
-   Zhang\* planar object (no lens distortion)
-   Zhang\* planar object, with 2 radial lens distortion terms
-   Zhang\* planar object, with 2 radial and 2 tangential lens distortion terms
-   Iterative Levenberg-Marquardt\*
-   Iterative Levenberg-Marquardt with RANSAC\*
-   P3P\* \[[http://www.mmrc.iss.ac.cn/~xgao/paper/ieee.pdf](http://www.mmrc.iss.ac.cn/~xgao/paper/ieee.pdf)\]
-   P3P with RANSAC\*
-   EPnP\* \[[http://cvlab.epfl.ch/software/EPnP](http://cvlab.epfl.ch/software/EPnP)\]
-   EPnP with RANSAC\*
-   APnP\* \[[http://openaccess.thecvf.com/content\_cvpr\_2017/papers/Ke\_An\_Efficient\_Algebraic\_CVPR\_2017\_paper.pdf](http://openaccess.thecvf.com/content_cvpr_2017/papers/Ke_An_Efficient_Algebraic_CVPR_2017_paper.pdf)\]
-   APnP with RANSAC\*

Methods marked with a ’\*’ indicate that the OpenCV implementation is used; see:  
docs.opencv.org/modules/calib3d/doc/camera\_calibration\_and\_3d\_reconstruction.htm  
RANSAC is used to handle outliers by ignoring point correspondences that result in  
the worst overall errors.

NOTE: If you add new methods here, be sure to add them in the .cpp file and handle them in CalibratorSystem etc, too!  
Note: This enum is vmapped in ProjectorConfig, so please always add new items at the end!

See also: [Calibration Guide](/plugins/guides/calibration)

Base class: _\_BlipEnum_

## Variables

#### **Manual** = 0

#### **Auto** = 1

#### **GoldStandard** = 2

#### **Zhang** = 3

#### **Zhang\_Radial2** = 4

#### **Zhang\_RadialTangential** = 5

#### **ZhangPlanar** = 6

#### **ZhangPlanar\_Radial2** = 7

#### **ZhangPlanar\_RadialTangential** = 8

#### **IterLM** = 9

#### **IterLM\_Ransac** = 10

#### **P3P** = 11

#### **P3P\_Ransac** = 12

#### **EPnP** = 13

#### **EPnP\_Ransac** = 14

#### **Zhang\_Radial1** = 15

#### **ZhangPlanar\_Radial1** = 16

#### **DLT** = 17

## Constructors

#### **\_\_init\_\_**(self)

Default constructor for CalibMethod

#### **\_\_init\_\_**(self, other: _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_)

Copy constructor for CalibMethod

## Methods

#### **toString**(self) -> _str_

The name of this enumerator, or an empty string if its value is not a named enumerator

## Static Methods

#### **fromInt**(arg0: _int_) -> _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_

The enumerator with the given integer value, which need not be one of the named enumerators

## Special Methods

#### **\_\_index\_\_**(self) -> _int_

The integer value of this enumerator, for use as a list index

#### **\_\_int\_\_**(self) -> _int_

The integer value of this enumerator

#### **\_\_repr\_\_**(self) -> _str_

The enum and enumerator names, as ; str() and print give the same

#### **\_\_lt\_\_**(self, other: _Self | int_) -> _bool_

Orders by integer value; ordering against a different enum raises TypeError

#### **\_\_le\_\_**(self, other: _Self | int_) -> _bool_

Orders by integer value; ordering against a different enum raises TypeError

#### **\_\_gt\_\_**(self, other: _Self | int_) -> _bool_

Orders by integer value; ordering against a different enum raises TypeError

#### **\_\_ge\_\_**(self, other: _Self | int_) -> _bool_

Orders by integer value; ordering against a different enum raises TypeError
