AT_BD

| HOME | BACK |

Overview

AT_BD is a class specially designed to handle Aerial Triangulation (AT) computation using Bundle Block Adjustment, and Bundle Block Adjustment with Self Calibration.  The mathematic models used in the adjustment is Collinearity condition.  This is by far the most accurate mathematic model used in AT.  All parameters are determined simultaneously by least squares technique.  The mathematic model is non-linear, however, no approximate values of parameters are required from users.

Important Note:

In a very rare situation when the calculation does not convert, due to poor estimations of parameters, the user might want to provide a set of approximate parameter (EOP) values in an external file.  This is particular useful when doing a camera calibration and the calculation can not be made convert.

To provide an external approximate value of EOP file, please set L-function "fapprox" to the filename that stores approximate values of EOP.  This is an ASCII file and its format can be seen in class function "fapprox".

To let the program determine approximate values of parameters automatically, set the "fapprox" string to a null string, "".

Please note that, almost all the time, the automatic determination of approximate parameters, determined inside the function,  are good enough to bring the calculation convert, even in big tilted photos, if the A.T. adjustment is a normal one, i.e. not with self calibration. 

Thus, due to an observing fact that A.T. without self calibration is almost always convert, but A.T. with self calibration may or may not convert, we should separate a camera calibration process into 2 steps.  First perform A.T. as normal, then use the values of the EOP parameters from the result as approximate values for a second AT with self calibration.  In this way, we can make sure that the calculation is always convert.

Noobeed bundle block adjustment program can handle a block of photos that have different values of camera focal length.  In fact each individual photo can have its own focal length, or use the default focal length if omitted.

A user can control the number of iterations by setting the maximum number at which the computation terminates.  However, computation may stop before reaching the maximum number of iterations, if a preset required accuracy is achieved. 

In practice, it is not common that  a block adjustment can achieve a good result at the first run, due to human error and large amount of data.  There will be always some editing in data files, and it can be done very easy in Noobeed, by putting a slash sign, "/", in front of a record to turn them into a comment record.  Individual standard deviation can be always put at the end of an observation at will, though a default value is given when omitted.  The results from an adjustment are neat and easy to understand. 

Member data

Name Data type Meaning
focal double focal length of photo (this will help estimate initial values of parameters)
no_iterate int no of maximum iteration
numscale0 double photo scale number (this will help estimate initial values of parameters)
z0 double flying height (this will help estimate initial values of parameters)
fapprox String file name containing approx. parameters (EOP)
sd_gcp double standard deviation of ground control coordinate
sd_xpyp double standard deviation of photo / image rectangular coordinate

 

Operator

no operator provided

 

Construction function

{AT_BD} ret  =  AT_BD()

Example:

->block_3 = AT_BD()

 

Lfunction

object.FOCAL()       =  {double} left-value

object.NO_ITERATE()  =  {int} left-value

object.NUMSCALE0()   =  {double} left-value

object.Z0()          =  {double} left-value

object.FAPPROX()     =  {String} left-value

object.SD_GCP()      =  {double} left-value

object.SD_XPYP()     =  {double} left-value

Example:

->block_3.sd_gcp() = 0.50

->block_3.sd_xpyp() = 0.030

->block_3.numscale0() = 50000

 

Class function

 ADJUST FOCAL FAPPROX    
 LOADGCP LOADOBS NO_ITERATE    
NUMSCALE0 SD_GCP SD_XPYP SELFCALIB Z0

 


| HOME | BACK |