null,//double [][] interParameterDerivatives, //partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
null,//double [][] interParameterDerivatives, //partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
null,//double [][] interParameterDerivatives, //partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
null,//double [][] interParameterDerivatives, //partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
parVector,
parVector,
null,//boolean [] mask, // calculate only selected derivatives (all parVect values are still
null,//boolean [] mask, // calculate only selected derivatives (all parVect values are still
if(update[0])subCam.right=parVect[0];// 0 mm, right of the camera axis from goniometer vertical rotation center to the target
if(update[1])subCam.forward=parVect[1];// 1 mm, forward from the goniometer vertical rotation center
}else{
if(update[0])subCam.azimuth=parVect[0];// 0 azimuth of the lens entrance pupil center, degrees, clockwise looking from top
if(update[0])subCam.azimuth=parVect[0];// 0 azimuth of the lens entrance pupil center, degrees, clockwise looking from top
if(update[1])subCam.radius=parVect[1];// 1 mm, distance from the rotation axis
if(update[1])subCam.radius=parVect[1];// 1 mm, distance from the rotation axis
}
if(update[2])subCam.height=parVect[2];// 2 mm, up (was downwards?) - from the origin point
if(update[2])subCam.height=parVect[2];// 2 mm, up (was downwards?) - from the origin point
if(subCam.cartesian){
if(update[2])subCam.heading=parVect[3];// 3 degrees, optical axis from Z (to target), clockwise
}else{
if(update[2])subCam.phi=parVect[3];// 3 degrees, optical axis from azimuth/r vector, clockwise
if(update[2])subCam.phi=parVect[3];// 3 degrees, optical axis from azimuth/r vector, clockwise
}
if(update[4])subCam.theta=parVect[4];// 4 degrees, optical axis from the eyesis horizon, positive - up
if(update[4])subCam.theta=parVect[4];// 4 degrees, optical axis from the eyesis horizon, positive - up
if(update[5])subCam.psi=parVect[5];// 5 degrees, rotation (of the sensor) around the optical axis. Positive if camera is rotated clockwise looking to the target
if(update[5])subCam.psi=parVect[5];// 5 degrees, rotation (of the sensor) around the optical axis. Positive if camera is rotated clockwise looking to the target
if(update[6])this.goniometerHorizontal[stationNumber]=parVect[6];// 6 goniometer rotation around "horizontal" axis (tilting from the target - positive)
if(update[6])this.goniometerHorizontal[stationNumber]=parVect[6];// 6 goniometer rotation around "horizontal" axis (tilting from the target - positive)
if(debug_level>1)System.out.println("Initial Azimuth and Elevation are set to az="+IJ.d2s(-initialAzEl[0],2)+", elvation="+IJ.d2s(-initialAzEl[1],2));
if(debug_level>1)System.out.println("Initial Heading and Elevation are set to heading="+IJ.d2s(-initialHeadEl[0],2)+", elvation="+IJ.d2s(-initialHeadEl[1],2));
lensDistortions.copySensorConstants(eyesisCameraParameters);// copy from the first channel
lensDistortions.copySensorConstants(eyesisCameraParameters);// copy from the first channel
// lensDistortions.fittingStrategy will be defined later, no need to
// lensDistortions.fittingStrategy will be defined later, no need to
double[][]interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
double[][]interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
double[]parVect,
double[]parVect,
boolean[]mask,// calculate only selected derivatives (all parVect values are still
boolean[]mask,// calculate only selected derivatives (all parVect values are still
...
@@ -105,6 +106,7 @@ import Jama.Matrix;
...
@@ -105,6 +106,7 @@ import Jama.Matrix;
lensCalcInterParamers(// changed name to move calcInterParamers method from enclosing class
lensCalcInterParamers(// changed name to move calcInterParamers method from enclosing class
this,
this,
isTripod,
isTripod,
cartesian,
interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
parVect,
parVect,
mask// calculate only selected derivatives (all parVect values are still
mask// calculate only selected derivatives (all parVect values are still
...
@@ -1854,19 +1856,22 @@ dPXmmc/dphi=
...
@@ -1854,19 +1856,22 @@ dPXmmc/dphi=
publicvoidlensCalcInterParamers(
publicvoidlensCalcInterParamers(
LensDistortionParameterslensDistortionParameters,
LensDistortionParameterslensDistortionParameters,
booleanisTripod,
booleanisTripod,
booleancartesian,
double[][]interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
double[][]interParameterDerivatives,//partial derivative matrix from subcamera-camera-goniometer to single camera (12x21) if null - just values, no derivatives
double[]parVect,
double[]parVect,
boolean[]mask// calculate only selected derivatives (all parVect values are still
boolean[]mask// calculate only selected derivatives (all parVect values are still