# Cpclean

From PanoTools.org Wiki

cpclean is a command-line tool that implements the 'bad' control points pruning available within the Hugin GUI. It is similar conceptually to apclean[*], but with some extra functionality. Both tools use a statistical filter to remove points with an error above a statistical threshold.

The idea is to remove all non-credible control points. To do this it uses a two step process to remove bad control points.

### Step 1

optimises each pair of photos one at a time and deletes all points that can't be made to fit.

### Step 2

optimises the whole project together using more conservative assumptions and deletes another round of points. If there is more than one image chain present this step is not done.

### result

The .pto project file is returned unoptimised, the only change is that there are less control points, this means the project doesn't have to be optimised before you start.

By using this optimisation step cpclean is able to look not just at the current project settings and find 'bad' points, but is able to find points that are 'bad' under a range of circumstances.

### usage

A typical usage would be:

     cpclean --output=output.pto project.pto

### Options

Vary the threshold with the `--max-distance` parameter (defaults to 2, i.e. points with a distance error greater than twice the standard deviation are deleted):

     cpclean --max-distance=1 --output=output.pto project.pto

Do only pairwise optimisation (skip step 2):

     cpclean --pairwise-checking --output=output.pto project.pto

Do only whole panorama optimisation (skip step 1):

     cpclean --whole-pano-checking --output=output.pto project.pto

Use current image positions for calculation of distance errors (skip optimisation of whole panorama):

     cpclean --whole-pano-checking --dont-optimize --output=output.pto project.pto

By default line control point are ignored by the calculations for step 2. With `--check-line-cp` you can also include these control points into calculation

     cpclean --whole-pano-checking --check-line-cp --output=output.pto project.pto

cpclean is based on ptoclean[*].

Retrieved from "http://wiki.panotools.org/index.php?title=Cpclean&oldid=15800[*]"