Commit f25142a1 authored by Andrey Filippov's avatar Andrey Filippov

Fixing sensor geometric corrections

parent 484ec936
...@@ -4042,7 +4042,7 @@ public class ImageDtt { ...@@ -4042,7 +4042,7 @@ public class ImageDtt {
public double data_y = 0.0; // kernel data is relative to this displacement Y (0.5 pixel increments) public double data_y = 0.0; // kernel data is relative to this displacement Y (0.5 pixel increments)
public double center_x = 0.0; // actual center X (use to find derivatives) public double center_x = 0.0; // actual center X (use to find derivatives)
public double center_y = 0.0; // actual center X (use to find derivatives) public double center_y = 0.0; // actual center X (use to find derivatives)
public double dxc_dx = 0.0; // add this to data_x per each pixel X-shift relative to the kernel centger location public double dxc_dx = 0.0; // add this to data_x per each pixel X-shift relative to the kernel center location
public double dxc_dy = 0.0; // same per each Y-shift pixel public double dxc_dy = 0.0; // same per each Y-shift pixel
public double dyc_dx = 0.0; public double dyc_dx = 0.0;
public double dyc_dy = 0.0; public double dyc_dy = 0.0;
...@@ -4075,6 +4075,17 @@ public class ImageDtt { ...@@ -4075,6 +4075,17 @@ public class ImageDtt {
} }
} }
public void offsetKernelSensor(
double [][] clt_tile, // clt tile, including [4] - metadata
double dx,
double dy) {
CltExtra ce = new CltExtra (clt_tile[4]);
ce.center_x += dx;
ce.center_y += dy;
ce.data_x += dx;
ce.data_y += dy;
clt_tile[4] = ce.getArray();
}
public void clt_fill_coord_corr( public void clt_fill_coord_corr(
final int kern_step, // distance between kernel centers, in pixels. final int kern_step, // distance between kernel centers, in pixels.
final double [][][][][] clt_data, final double [][][][][] clt_data,
...@@ -4201,6 +4212,8 @@ public class ImageDtt { ...@@ -4201,6 +4212,8 @@ public class ImageDtt {
// same with extra shift // same with extra shift
px = centerX - transform_size - (ce.data_x + ce.dxc_dx * kdx + ce.dxc_dy * kdy) ; // fractional left corner px = centerX - transform_size - (ce.data_x + ce.dxc_dx * kdx + ce.dxc_dy * kdy) ; // fractional left corner
py = centerY - transform_size - (ce.data_y + ce.dyc_dx * kdx + ce.dyc_dy * kdy) ; // fractional top corner py = centerY - transform_size - (ce.data_y + ce.dyc_dx * kdx + ce.dyc_dy * kdy) ; // fractional top corner
}else {
System.out.println("Skipping kernels!!!");
} }
if (bdebug0){ if (bdebug0){
System.out.print(px+"\t"+py+"\t"); System.out.print(px+"\t"+py+"\t");
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment