@@ -139,6 +335,16 @@ public class GeometryCorrection {
...
@@ -139,6 +335,16 @@ public class GeometryCorrection {
staticfinaldoubleROT_RL_SGN=1.0;// sign of first sin for roll rotation
staticfinaldoubleROT_RL_SGN=1.0;// sign of first sin for roll rotation
double[]vector;
double[]vector;
publicMatrix[]getRotMatrices(MatrixrigMatrix)
{
Matrix[]rots=getRotMatrices();
if(rigMatrix!=null){
for(intchn=0;chn<rots.length;chn++){
rots[chn]=rigMatrix.times(rots[chn]);
}
}
returnrots;
}
publicMatrix[]getRotMatrices()
publicMatrix[]getRotMatrices()
{
{
Matrix[]rots=newMatrix[4];
Matrix[]rots=newMatrix[4];
...
@@ -389,8 +595,8 @@ public class GeometryCorrection {
...
@@ -389,8 +595,8 @@ public class GeometryCorrection {
s=String.format("tilt (up): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift of he image center)\n",v[0],v[1],v[2],-(v[0]+v[1]+v[2]));
s=String.format("tilt (up): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift of he image center)\n",v[0],v[1],v[2],-(v[0]+v[1]+v[2]));
s+=String.format("azimuth (right): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift of he image center)\n",v[3],v[4],v[5],-(v[3]+v[4]+v[5]));
s+=String.format("azimuth (right): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift of he image center)\n",v[3],v[4],v[5],-(v[3]+v[4]+v[5]));
s+=String.format("roll (CW): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift at the imge half-width from the center)\n",v[6],v[7],v[8],v[9]);
s+=String.format("roll (CW): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift at the image half-width from the center)\n",v[6],v[7],v[8],v[9]);
s+=String.format("diff zoom (in): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift at the imge half-width from the center)\n",v[10],v[11],v[12],-(v[10]+v[11]+v[12]));
s+=String.format("diff zoom (in): %8.5fpx %8.5fpx %8.5fpx %8.5fpx (shift at the image half-width from the center)\n",v[10],v[11],v[12],-(v[10]+v[11]+v[12]));
quadCLT_main.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_main,
quadCLT_main.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_main,
quadCLT_aux.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_aux,
quadCLT_aux.getGeometryCorrection(),// final GeometryCorrection geometryCorrection_aux,
quadCLT_main.getCLTKernels(),// final double [][][][][][] clt_kernels_main, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
quadCLT_main.getCLTKernels(),// final double [][][][][][] clt_kernels_main, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
quadCLT_main.getCLTKernels(),// final double [][][][][][] clt_kernels_aux, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
quadCLT_aux.getCLTKernels(),// final double [][][][][][] clt_kernels_aux, // [channel_in_quad][color][tileY][tileX][band][pixel] , size should match image (have 1 tile around)
clt_parameters.corr_magic_scale,// final double corr_magic_scale, // still not understood coefficient that reduces reported disparity value. Seems to be around 0.85
clt_parameters.corr_magic_scale,// final double corr_magic_scale, // still not understood coefficient that reduces reported disparity value. Seems to be around 0.85
true,// final boolean keep_clt_data,
true,// final boolean keep_clt_data,
threadsMax,// final int threadsMax, // maximal number of threads to launch
threadsMax,// final int threadsMax, // maximal number of threads to launch
...
@@ -496,7 +496,7 @@ public class TwoQuadCLT {
...
@@ -496,7 +496,7 @@ public class TwoQuadCLT {
colorProcParameters,
colorProcParameters,
rgbParameters,
rgbParameters,
name+"-texture",// String name,
name+"-texture",// String name,
"-D"+clt_parameters.disparity,//String suffix, // such as disparity=...
"-D"+clt_parameters.disparity+"-MAIN",//String suffix, // such as disparity=...
toRGB,
toRGB,
!quadCLT_main.correctionsParameters.jpeg,// boolean bpp16, // 16-bit per channel color mode for result
!quadCLT_main.correctionsParameters.jpeg,// boolean bpp16, // 16-bit per channel color mode for result
true,// boolean saveShowIntermediate, // save/show if set globally
true,// boolean saveShowIntermediate, // save/show if set globally
...
@@ -511,7 +511,7 @@ public class TwoQuadCLT {
...
@@ -511,7 +511,7 @@ public class TwoQuadCLT {
colorProcParameters,
colorProcParameters,
rgbParameters,
rgbParameters,
name+"-texture",// String name,
name+"-texture",// String name,
"-D"+clt_parameters.disparity,//String suffix, // such as disparity=...
"-D"+clt_parameters.disparity+"-AUX",//String suffix, // such as disparity=...
toRGB,
toRGB,
!quadCLT_aux.correctionsParameters.jpeg,// boolean bpp16, // 16-bit per channel color mode for result
!quadCLT_aux.correctionsParameters.jpeg,// boolean bpp16, // 16-bit per channel color mode for result
true,// boolean saveShowIntermediate, // save/show if set globally
true,// boolean saveShowIntermediate, // save/show if set globally