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
673cd8a6
Commit
673cd8a6
authored
Sep 07, 2025
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more debugging
parent
50987d91
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
186 additions
and
35 deletions
+186
-35
CuasMotion.java
src/main/java/com/elphel/imagej/cuas/CuasMotion.java
+161
-20
CuasMotionLMA.java
src/main/java/com/elphel/imagej/cuas/CuasMotionLMA.java
+16
-13
IntersceneMatchParameters.java
...lphel/imagej/tileprocessor/IntersceneMatchParameters.java
+9
-2
No files found.
src/main/java/com/elphel/imagej/cuas/CuasMotion.java
View file @
673cd8a6
This diff is collapsed.
Click to expand it.
src/main/java/com/elphel/imagej/cuas/CuasMotionLMA.java
View file @
673cd8a6
...
...
@@ -69,21 +69,23 @@ public class CuasMotionLMA {
public
static
final
int
RSLT_MATCH_LENGTH
=
27
;
public
static
final
int
RSLT_BEFORE_LENGTH
=
28
;
// just for debug
public
static
final
int
RSLT_AFTER_LENGTH
=
29
;
// just for debug
public
static
final
int
RSLT_SEQ_TRAVEL
=
30
;
// [RSLT_MATCH_LENGTH] is one less than the total length (0 - isolated)
public
static
final
int
RSLT_MSCORE
=
3
0
;
public
static
final
int
RSLT_MSCORE
=
3
1
;
public
static
final
int
RSLT_QA
=
31
;
public
static
final
int
RSLT_QRMS
=
32
;
public
static
final
int
RSLT_QRMS_A
=
33
;
public
static
final
int
RSLT_QCENTER
=
34
;
public
static
final
int
RSLT_QMATCH
=
35
;
public
static
final
int
RSLT_QMATCH_LEN
=
36
;
public
static
final
int
RSLT_QSCORE
=
37
;
public
static
final
int
RSLT_STRONGER
=
38
;
// index of stronger neighbor (may be more)
public
static
final
int
RSLT_SLOW
=
39
;
// 1 - slow, 0 - fast
public
static
final
int
RSLT_WHEN
=
40
;
public
static
final
int
RSLT_FAIL
=
41
;
public
static
final
int
RSLT_QA
=
32
;
public
static
final
int
RSLT_QRMS
=
33
;
public
static
final
int
RSLT_QRMS_A
=
34
;
public
static
final
int
RSLT_QCENTER
=
35
;
public
static
final
int
RSLT_QMATCH
=
36
;
public
static
final
int
RSLT_QMATCH_LEN
=
37
;
public
static
final
int
RSLT_QTRAVEL
=
38
;
public
static
final
int
RSLT_QSCORE
=
39
;
public
static
final
int
RSLT_STRONGER
=
40
;
// index of stronger neighbor (may be more)
public
static
final
int
RSLT_SLOW
=
41
;
// 1 - slow, 0 - fast
public
static
final
int
RSLT_WHEN
=
42
;
public
static
final
int
RSLT_FAIL
=
43
;
public
static
final
int
RSLT_LEN
=
RSLT_FAIL
+
1
;
...
...
@@ -96,8 +98,9 @@ public class CuasMotionLMA {
"ERR-BEFORE"
,
"ERR-AFTER"
,
"BA-DIRS"
,
// before dir + 16*after dir
"Match-length"
,
"Length-before"
,
"Length-after"
,
// just for debug, may be removed later
"TRAVEL"
,
"*MOTION-SCORE"
,
"*Q-AMPL"
,
"*Q-RMSE"
,
"*Q-RMSE/A"
,
"*Q-CENTER"
,
"*Q-MATCH"
,
"*Q-LENGTH"
,
"*Q-SCORE"
,
"*Q-AMPL"
,
"*Q-RMSE"
,
"*Q-RMSE/A"
,
"*Q-CENTER"
,
"*Q-MATCH"
,
"*Q-LENGTH"
,
"*Q
TRAVEL"
,
"*Q
-SCORE"
,
"Stronger"
,
"Slow"
,
"WHEN"
,
"FAILURE"
};
...
...
src/main/java/com/elphel/imagej/tileprocessor/IntersceneMatchParameters.java
View file @
673cd8a6
...
...
@@ -789,7 +789,7 @@ min_str_neib_fpn 0.35
public
double
cuas_score_lma
=
0.0
;
// minimal score for the target LMA
public
double
cuas_factor_lim
=
5.0
;
// limit each individual score factor
public
double
cuas_factor_pow
=
1.0
;
// raise score factor to this power before combining
public
double
[]
cuas_score_coeff
=
{
1.0
,
0.
2
,
1.0
,
1.0
,
1.0
,
1.0
};
//weights of amplitude, RMSE and RMSE/amplitude, center, mismatch, match_length
public
double
[]
cuas_score_coeff
=
{
1.0
,
0.
05
,
0.7
,
1.5
,
2.0
,
1.0
,
1.0
};
//weights of amplitude, RMSE and RMSE/amplitude, center, mismatch, match_length, travel
public
boolean
cuas_center_targ
=
true
;
// re-run target extraction with targets centered to their tiles
public
boolean
cuas_multi_targ
=
true
;
// Use multi-target for each tile mode
...
...
@@ -805,6 +805,7 @@ min_str_neib_fpn 0.35
// public boolean cuas_remove_2seq_all=true; // Remove 2-long first/last target sequences
public
double
cuas_max_mismatch
=
2.0
;
// maximal position error between consecutive scene sequences
public
double
cuas_good_mismatch
=
0.4
;
// maximal position error between consecutive scene sequences that adds to the score
public
double
cuas_slow_fast_mismatch
=
1.5
;
// allow larger mismatch between slow and fast
public
double
cuas_match_len_pwr
=
0.5
;
// raise matching length to this power for calculating score
public
boolean
cuas_fail_mismatch
=
false
;
// fail high mismatch early
...
...
@@ -2430,7 +2431,7 @@ min_str_neib_fpn 0.35
gd
.
addNumericField
(
"Raise score factor to this power"
,
this
.
cuas_factor_pow
,
5
,
8
,
""
,
"Raise each score factor to this power before combining them."
);
gd
.
addStringField
(
"Score factors weights"
,
IntersceneMatchParameters
.
doublesToString
(
cuas_score_coeff
),
80
,
"Relative importance of LMA amplitude, RMSE and RMSE/ampitude, center, before/after match, sqrt(match length)."
);
"Relative importance of LMA amplitude, RMSE and RMSE/ampitude, center, before/after match, sqrt(match length)
, travel
."
);
gd
.
addCheckbox
(
"Center targets in their tiles"
,
this
.
cuas_center_targ
,
"Re-run target extraction placing the targets at the center of their tiles."
);
gd
.
addCheckbox
(
"Multi-target mode"
,
this
.
cuas_multi_targ
,
...
...
@@ -2455,6 +2456,8 @@ min_str_neib_fpn 0.35
"Maximal position error between consecutive scene sequences."
);
gd
.
addNumericField
(
"Good mismatch"
,
this
.
cuas_good_mismatch
,
5
,
8
,
"pix"
,
"Maximal position error between consecutive scene sequences to add to the score."
);
gd
.
addNumericField
(
"Good mismatch between slow and fast"
,
this
.
cuas_slow_fast_mismatch
,
5
,
8
,
"pix"
,
"Allow larger mismatch between slow and fast."
);
gd
.
addNumericField
(
"Matching length power"
,
this
.
cuas_match_len_pwr
,
5
,
8
,
""
,
"Raise matching length to this power for calculating score."
);
...
...
@@ -3604,6 +3607,7 @@ min_str_neib_fpn 0.35
this
.
cuas_max_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_good_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_slow_fast_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_match_len_pwr
=
gd
.
getNextNumber
();
this
.
cuas_fail_mismatch
=
gd
.
getNextBoolean
();
...
...
@@ -4639,6 +4643,7 @@ min_str_neib_fpn 0.35
properties
.
setProperty
(
prefix
+
"cuas_max_mismatch"
,
this
.
cuas_max_mismatch
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_good_mismatch"
,
this
.
cuas_good_mismatch
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_slow_fast_mismatch"
,
this
.
cuas_slow_fast_mismatch
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_match_len_pwr"
,
this
.
cuas_match_len_pwr
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_fail_mismatch"
,
this
.
cuas_fail_mismatch
+
""
);
// boolean
...
...
@@ -5636,6 +5641,7 @@ min_str_neib_fpn 0.35
if
(
properties
.
getProperty
(
prefix
+
"cuas_min_seq_fl"
)!=
null
)
this
.
cuas_min_seq_fl
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_min_seq_fl"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_max_mismatch"
)!=
null
)
this
.
cuas_max_mismatch
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_max_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_good_mismatch"
)!=
null
)
this
.
cuas_good_mismatch
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_good_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_slow_fast_mismatch"
)!=
null
)
this
.
cuas_slow_fast_mismatch
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_slow_fast_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_match_len_pwr"
)!=
null
)
this
.
cuas_match_len_pwr
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_match_len_pwr"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
)!=
null
)
this
.
cuas_fail_mismatch
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
));
...
...
@@ -6636,6 +6642,7 @@ min_str_neib_fpn 0.35
imp
.
cuas_max_mismatch
=
this
.
cuas_max_mismatch
;
imp
.
cuas_good_mismatch
=
this
.
cuas_good_mismatch
;
imp
.
cuas_slow_fast_mismatch
=
this
.
cuas_slow_fast_mismatch
;
imp
.
cuas_match_len_pwr
=
this
.
cuas_match_len_pwr
;
imp
.
cuas_fail_mismatch
=
this
.
cuas_fail_mismatch
;
...
...
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