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
1bbeb0e2
Commit
1bbeb0e2
authored
Dec 16, 2023
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Debugging, bug fix in LMA weight for the 2-component mode (no 3D)
parent
4a753523
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
18 deletions
+17
-18
Interscene.java
...main/java/com/elphel/imagej/tileprocessor/Interscene.java
+13
-16
IntersceneLma.java
...n/java/com/elphel/imagej/tileprocessor/IntersceneLma.java
+3
-1
OpticalFlow.java
...ain/java/com/elphel/imagej/tileprocessor/OpticalFlow.java
+1
-1
No files found.
src/main/java/com/elphel/imagej/tileprocessor/Interscene.java
View file @
1bbeb0e2
...
...
@@ -1388,7 +1388,7 @@ public class Interscene {
int
debugLevel
)
{
System
.
out
.
println
(
"reAdjustPairsLMAInterscene(): using mb_max_gain="
+
mb_max_gain
);
boolean
freeze_xy_pull
=
true
;
// debugging freezing xy to xy_pull
boolean
freeze_xy_pull
=
false
;
//
true; // debugging freezing xy to xy_pull
final
boolean
[]
param_select
=
configured_lma
?
clt_parameters
.
ilp
.
ilma_lma_select
:
ErsCorrection
.
getParamSelect
(
!
freeze_xy_pull
&&
(!
readjust_xy_ims
||
(
reg_weight_xy
!=
0
)),
// false only in mode c): freeze X,Y// boolean use_XY
...
...
@@ -2296,6 +2296,10 @@ public class Interscene {
intersceneLma
.
getSceneERSATR
(
true
));
// true for initial values
return
null
;
}
if
(
debug_level
>
-
3
){
System
.
out
.
println
(
"iter="
+
lmaResult
+
", RMS="
+
intersceneLma
.
getLastRms
()[
0
]+
" (Pure RMS="
+
intersceneLma
.
getLastRms
()[
1
]+
")"
);
}
camera_xyz0
=
intersceneLma
.
getSceneXYZ
(
false
);
// true for initial values
camera_atr0
=
intersceneLma
.
getSceneATR
(
false
);
// true for initial values
double
[]
diffs_atr
=
intersceneLma
.
getV3Diff
(
ErsCorrection
.
DP_DSAZ
);
...
...
@@ -3103,8 +3107,8 @@ public class Interscene {
return
null
;
}
else
{
if
(
debug_level
>
-
3
){
System
.
out
.
print
ln
(
"interCorrPair(): avg_offs = "
+
avg_offs
+
" <= "
+
min_max
[
1
]+
", sw = "
+
sw
);
System
.
out
.
print
(
"interCorrPair(): avg_offs = "
+
avg_offs
+
" <= "
+
min_max
[
1
]+
", sw = "
+
sw
+
" "
);
}
}
}
...
...
@@ -4296,21 +4300,14 @@ public class Interscene {
for
(
int
nscene
=
earliest_scene
;
nscene
<
quadCLTs
.
length
;
nscene
++)
{
QuadCLT
scene
=
quadCLTs
[
nscene
];
/// if (nscene == ref_index) {
/// scenes_xyzatr[nscene] = new double[2][3];
/// scenes_xyzatr_dt[nscene] = new double[2][3];
/// } else {
String
ts
=
scene
.
getImageName
();
scenes_xyzatr
[
nscene
]
=
new
double
[][]
{
ers_reference
.
getSceneXYZ
(
ts
),
ers_reference
.
getSceneATR
(
ts
)};
scenes_xyzatr_dt
[
nscene
]
=
ers_reference
.
getSceneErsXYZATR_dt
(
ts
);
if
(
scenes_xyzatr
[
nscene
]
!=
null
)
{
num_processed
++;
}
/// }
String
ts
=
scene
.
getImageName
();
scenes_xyzatr
[
nscene
]
=
new
double
[][]
{
ers_reference
.
getSceneXYZ
(
ts
),
ers_reference
.
getSceneATR
(
ts
)};
scenes_xyzatr_dt
[
nscene
]
=
ers_reference
.
getSceneErsXYZATR_dt
(
ts
);
if
(
scenes_xyzatr
[
nscene
]
!=
null
)
{
num_processed
++;
}
}
boolean
use_processed
=
num_processed
>
1
;
// double [] quat_ortho = {0.5, 0.5, -0.5, 0.5}; // approximate IMU orientation
String
header_ts
=
"#\ttimestamp"
;
String
header_img
=
"\tx(m)\ty(m)\tz(m)\ta(rad)\ttilt(rad)\troll(rad)"
+
"\tVx(m/s)\tVy(m/s)\tVz(m/s)\tVa(rad/s)\tVt(rad/s)\tVr(rad/s)"
+
...
...
src/main/java/com/elphel/imagej/tileprocessor/IntersceneLma.java
View file @
1bbeb0e2
...
...
@@ -737,7 +737,9 @@ public class IntersceneLma {
for
(
int
iMTile
=
ai
.
getAndIncrement
();
iMTile
<
vector_XYSDS
.
length
;
iMTile
=
ai
.
getAndIncrement
())
if
(
vector_XYSDS
[
iMTile
]
!=
null
){
weights
[
num_components
*
iMTile
]
*=
s
;
weights
[
num_components
*
iMTile
+
1
]
=
weights
[
num_components
*
iMTile
];
weights
[
num_components
*
iMTile
+
2
]
*=
s
;
if
(
num_components
>
2
)
{
weights
[
num_components
*
iMTile
+
2
]
*=
s
;
}
}
}
};
...
...
src/main/java/com/elphel/imagej/tileprocessor/OpticalFlow.java
View file @
1bbeb0e2
...
...
@@ -5269,7 +5269,7 @@ public class OpticalFlow {
boolean
lpf_xy
=
false
;
// lpf x and y, re-adjust X,Y,Z,A,T,R with pull for X,Y. Disables
double
avg_rlen
=
clt_parameters
.
imp
.
avg_len
;
// 3.0;
boolean
readjust_xy_ims
=
true
;
// false;
double
reg_weight_xy
=
10.0
;
// 0.05; // TODO: find out reasonable values
double
reg_weight_xy
=
10.0
;
//
1.0; // 10.0; //
0.05; // TODO: find out reasonable values
boolean
disable_ers
=
(
quadCLTs
[
ref_index
].
getNumOrient
()
<
2
);
// first orient - no ERS!
...
...
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