Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
imagej-elphel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
3
Issues
3
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
imagej-elphel
Commits
84e61b79
Commit
84e61b79
authored
May 14, 2018
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
implementing rig adjustment
parent
c5b6a7a7
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
756 additions
and
66 deletions
+756
-66
AlignmentCorrection.java
src/main/java/AlignmentCorrection.java
+4
-0
BiQuadParameters.java
src/main/java/BiQuadParameters.java
+1
-1
GeometryCorrection.java
src/main/java/GeometryCorrection.java
+732
-64
ImageDtt.java
src/main/java/ImageDtt.java
+5
-0
TwoQuadCLT.java
src/main/java/TwoQuadCLT.java
+14
-1
No files found.
src/main/java/AlignmentCorrection.java
View file @
84e61b79
...
@@ -731,6 +731,7 @@ public class AlignmentCorrection {
...
@@ -731,6 +731,7 @@ public class AlignmentCorrection {
double
centerY
=
tileY
*
qc
.
tp
.
getTileSize
()
+
qc
.
tp
.
getTileSize
()/
2
;
//- shiftY;
double
centerY
=
tileY
*
qc
.
tp
.
getTileSize
()
+
qc
.
tp
.
getTileSize
()/
2
;
//- shiftY;
double
[][]
centersXY_disp
=
qc
.
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
double
[][]
centersXY_disp
=
qc
.
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
qc
.
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -739,6 +740,7 @@ public class AlignmentCorrection {
...
@@ -739,6 +740,7 @@ public class AlignmentCorrection {
centerY
,
centerY
,
disp_strength
[
2
*
s
.
series
+
0
][
s
.
tile
]/
magic_coeff
);
// disparity
disp_strength
[
2
*
s
.
series
+
0
][
s
.
tile
]/
magic_coeff
);
// disparity
double
[][]
centersXY_inf
=
qc
.
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
double
[][]
centersXY_inf
=
qc
.
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
qc
.
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -2436,6 +2438,7 @@ System.out.println("test1234");
...
@@ -2436,6 +2438,7 @@ System.out.println("test1234");
double
[][]
deriv
=
new
double
[
2
*
NUM_SENSORS
][];
double
[][]
deriv
=
new
double
[
2
*
NUM_SENSORS
][];
int
dbg_index
=
dbg_index
(
pXY
,
dbg_decimate
);
int
dbg_index
=
dbg_index
(
pXY
,
dbg_decimate
);
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
deriv_rots
,
// Matrix [][] deriv_rots,
deriv_rots
,
// Matrix [][] deriv_rots,
...
@@ -2600,6 +2603,7 @@ System.out.println("test1234");
...
@@ -2600,6 +2603,7 @@ System.out.println("test1234");
Mismatch
mm
=
mismatch_list
.
get
(
indx
);
Mismatch
mm
=
mismatch_list
.
get
(
indx
);
double
[]
pXY
=
mm
.
getPXY
();
double
[]
pXY
=
mm
.
getPXY
();
double
[][]
f
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
// 4x2
double
[][]
f
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
// 4x2
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
...
src/main/java/BiQuadParameters.java
View file @
84e61b79
...
@@ -61,7 +61,7 @@ public class BiQuadParameters {
...
@@ -61,7 +61,7 @@ public class BiQuadParameters {
public
boolean
rig_adjust_angle
=
true
;
//
public
boolean
rig_adjust_angle
=
true
;
//
public
boolean
rig_adjust_distance
=
false
;
// distance between camera centers
public
boolean
rig_adjust_distance
=
false
;
// distance between camera centers
public
boolean
rig_adjust_forward
=
false
;
// aux camera forward from the principal plane (not implemented)
public
boolean
rig_adjust_forward
=
false
;
// aux camera forward from the principal plane (not implemented)
public
double
rig_correction_scale
=
1.0
;
// scale calcu
al
ated correction
public
double
rig_correction_scale
=
1.0
;
// scale calcu
la
ated correction
...
...
src/main/java/GeometryCorrection.java
View file @
84e61b79
This diff is collapsed.
Click to expand it.
src/main/java/ImageDtt.java
View file @
84e61b79
...
@@ -981,6 +981,7 @@ public class ImageDtt {
...
@@ -981,6 +981,7 @@ public class ImageDtt {
// centerY,
// centerY,
// disparity);
// disparity);
double
[][]
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
double
[][]
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -1749,6 +1750,7 @@ public class ImageDtt {
...
@@ -1749,6 +1750,7 @@ public class ImageDtt {
}
else
{
}
else
{
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -5968,6 +5970,7 @@ public class ImageDtt {
...
@@ -5968,6 +5970,7 @@ public class ImageDtt {
}
else
{
}
else
{
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
centersXY
=
geometryCorrection
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots
,
// Matrix [] rots,
corr_rots
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -7808,6 +7811,7 @@ public class ImageDtt {
...
@@ -7808,6 +7811,7 @@ public class ImageDtt {
disparity_bimap
[
BI_TARGET_INDEX
][
tIndex
]
=
disparity_main
;
disparity_bimap
[
BI_TARGET_INDEX
][
tIndex
]
=
disparity_main
;
}
}
centersXY_main
=
geometryCorrection_main
.
getPortsCoordinatesAndDerivatives
(
centersXY_main
=
geometryCorrection_main
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection_main
,
// GeometryCorrection gc_main,
false
,
// boolean use_rig_offsets,
false
,
// boolean use_rig_offsets,
corr_rots_main
,
// Matrix [] rots,
corr_rots_main
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
@@ -7817,6 +7821,7 @@ public class ImageDtt {
...
@@ -7817,6 +7821,7 @@ public class ImageDtt {
disparity_main
);
// + disparity_corr);
disparity_main
);
// + disparity_corr);
centersXY_aux
=
geometryCorrection_aux
.
getPortsCoordinatesAndDerivatives
(
centersXY_aux
=
geometryCorrection_aux
.
getPortsCoordinatesAndDerivatives
(
geometryCorrection_main
,
// GeometryCorrection gc_main,
true
,
// boolean use_rig_offsets,
true
,
// boolean use_rig_offsets,
corr_rots_aux
,
// Matrix [] rots,
corr_rots_aux
,
// Matrix [] rots,
null
,
// Matrix [][] deriv_rots,
null
,
// Matrix [][] deriv_rots,
...
...
src/main/java/TwoQuadCLT.java
View file @
84e61b79
...
@@ -985,7 +985,20 @@ public class TwoQuadCLT {
...
@@ -985,7 +985,20 @@ public class TwoQuadCLT {
tilesX
);
// int tilesX
tilesX
);
// int tilesX
// do actual adjustment step, update rig parameters
// do actual adjustment step, update rig parameters
quadCLT_aux
.
geometryCorrection
.
getRigCorrection
(
clt_parameters
.
rig
.
rig_adjust_orientation
,
// boolean adjust_orientation,
clt_parameters
.
rig
.
rig_adjust_zoom
,
// boolean adjust_zoom,
clt_parameters
.
rig
.
rig_adjust_angle
,
// boolean adjust_angle,
clt_parameters
.
rig
.
rig_adjust_distance
,
// boolean adjust_distance,
clt_parameters
.
rig
.
rig_adjust_forward
,
// boolean adjust_forward, // not used
clt_parameters
.
rig
.
rig_correction_scale
,
// double scale_correction,
tile_list
,
// ArrayList<Integer> tile_list,
quadCLT_main
,
// QuadCLT qc_main,
disparity_bimap
[
ImageDtt
.
BI_STR_CROSS_INDEX
],
// double [] strength,
disparity_bimap
[
ImageDtt
.
BI_DISP_CROSS_DX_INDEX
],
// double [] diff_x, // used only with target_disparity == 0
disparity_bimap
[
ImageDtt
.
BI_DISP_CROSS_DY_INDEX
],
// double [] diff_y,
disparity_bimap
[
ImageDtt
.
BI_TARGET_INDEX
],
// double [] target_disparity,
debugLevel
+
1
);
}
// end of for (int num_short_cycle = 0; num_short_cycle < clt_parameters.rig.rig_adjust_short_cycles;num_short_cycle++) {
}
// end of for (int num_short_cycle = 0; num_short_cycle < clt_parameters.rig.rig_adjust_short_cycles;num_short_cycle++) {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment