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
052eebbb
Commit
052eebbb
authored
Apr 10, 2026
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
next snapshot (working)
parent
3357ad5b
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
136 deletions
+35
-136
CuasMotion.java
src/main/java/com/elphel/imagej/cuas/CuasMotion.java
+17
-134
IntersceneMatchParameters.java
...lphel/imagej/tileprocessor/IntersceneMatchParameters.java
+18
-2
No files found.
src/main/java/com/elphel/imagej/cuas/CuasMotion.java
View file @
052eebbb
This diff is collapsed.
Click to expand it.
src/main/java/com/elphel/imagej/tileprocessor/IntersceneMatchParameters.java
View file @
052eebbb
...
@@ -795,13 +795,14 @@ min_str_neib_fpn 0.35
...
@@ -795,13 +795,14 @@ min_str_neib_fpn 0.35
public
int
cuas_corr_offset
=
20
;
// offset between motion detection pairs
public
int
cuas_corr_offset
=
20
;
// offset between motion detection pairs
public
boolean
cuas_gaussian_ra
=
true
;
// use gaussian temporal Gaussian instead of running average
public
boolean
cuas_gaussian_ra
=
true
;
// use gaussian temporal Gaussian instead of running average
public
int
cuas_temporal_um
=
100
;
// temporal "unsharp mask" - subtract running
public
int
cuas_temporal_um
=
100
;
// temporal "unsharp mask" - subtract running
public
double
cuas_tum_threshold
=
5.0
;
// if >0, remove outliers fr
i
m the running average and recalculate RA
public
double
cuas_tum_threshold
=
5.0
;
// if >0, remove outliers fr
o
m the running average and recalculate RA
public
int
cuas_precorr_ra
=
10
;
// rolling average before correlation
public
int
cuas_precorr_ra
=
10
;
// rolling average before correlation
public
int
cuas_corr_step
=
2
;
// correlation step when using rolling average
public
int
cuas_corr_step
=
2
;
// correlation step when using rolling average
public
boolean
cuas_half_step
=
true
;
// half step (=cuas_corr_offset/2) when scanning for motion
public
boolean
cuas_half_step
=
true
;
// half step (=cuas_corr_offset/2) when scanning for motion
public
int
cuas_max_range
=
2
;
// how far to extend local max: 1 3x3 neighbors, 2 - 5x5 neighbs
public
int
cuas_max_range
=
2
;
// how far to extend local max: 1 3x3 neighbors, 2 - 5x5 neighbs
public
int
cuas_fin_range
=
2
;
// for final filtering
public
int
cuas_num_cycles
=
25
;
// number of cycles of testing and removing bad targets // will get out earlier
public
int
cuas_num_cycles
=
25
;
// number of cycles of testing and removing bad targets // will get out earlier
public
int
cuas_mul_samples
=
3
;
// multiply number of samples in slow mode
public
int
cuas_mul_samples
=
3
;
// multiply number of samples in slow mode
public
int
cuas_mul_offset
=
5
;
// multiply correlation offset in slow mode
public
int
cuas_mul_offset
=
5
;
// multiply correlation offset in slow mode
...
@@ -894,6 +895,8 @@ min_str_neib_fpn 0.35
...
@@ -894,6 +895,8 @@ min_str_neib_fpn 0.35
public
double
cuas_slow_fast_mismatch
=
1.5
;
// allow larger mismatch between slow and fast
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
double
cuas_match_len_pwr
=
0.5
;
// raise matching length to this power for calculating score
public
double
cuas_offcenter
=
0.5
;
// maximal off-center relative to the tile size (0.5 - how it was, +/-4 pix)
public
boolean
cuas_fail_mismatch
=
false
;
// fail high mismatch early
public
boolean
cuas_fail_mismatch
=
false
;
// fail high mismatch early
public
boolean
cuas_ignore_mismatch
=
false
;
// calculate mismatch but do not remove
public
boolean
cuas_ignore_mismatch
=
false
;
// calculate mismatch but do not remove
...
@@ -2689,6 +2692,8 @@ min_str_neib_fpn 0.35
...
@@ -2689,6 +2692,8 @@ min_str_neib_fpn 0.35
"Reduce step for motion detection = offset/2, if false = offset."
);
"Reduce step for motion detection = offset/2, if false = offset."
);
gd
.
addNumericField
(
"Local max range"
,
this
.
cuas_max_range
,
0
,
3
,
""
,
gd
.
addNumericField
(
"Local max range"
,
this
.
cuas_max_range
,
0
,
3
,
""
,
"While filtering local correlation maximums: 1 - 3x3 neighbors, 2 - 5x5 ones."
);
"While filtering local correlation maximums: 1 - 3x3 neighbors, 2 - 5x5 ones."
);
gd
.
addNumericField
(
"Local final max range"
,
this
.
cuas_fin_range
,
0
,
3
,
""
,
"While filtering local correlation maximums: 0 - 1x1 (ignore neighbors), 1 - 3x3 neighbors, 2 - 5x5 ones."
);
gd
.
addNumericField
(
"Number of enhancement cycles"
,
this
.
cuas_num_cycles
,
0
,
3
,
""
,
gd
.
addNumericField
(
"Number of enhancement cycles"
,
this
.
cuas_num_cycles
,
0
,
3
,
""
,
"Number of cycles of testing and removing bad targets from compoetition with weaker neighbors."
);
"Number of cycles of testing and removing bad targets from compoetition with weaker neighbors."
);
...
@@ -2858,6 +2863,9 @@ min_str_neib_fpn 0.35
...
@@ -2858,6 +2863,9 @@ min_str_neib_fpn 0.35
gd
.
addNumericField
(
"Matching length power"
,
this
.
cuas_match_len_pwr
,
5
,
8
,
""
,
gd
.
addNumericField
(
"Matching length power"
,
this
.
cuas_match_len_pwr
,
5
,
8
,
""
,
"Raise matching length to this power for calculating score."
);
"Raise matching length to this power for calculating score."
);
gd
.
addNumericField
(
"Maximal offset from the tile center"
,
this
.
cuas_offcenter
,
5
,
8
,
""
,
"Maximal relative offset of the maximum as a fraction of ther tile size (0.5 -> +/-4 pix)."
);
gd
.
addCheckbox
(
"Fail mismatch early"
,
this
.
cuas_fail_mismatch
,
gd
.
addCheckbox
(
"Fail mismatch early"
,
this
.
cuas_fail_mismatch
,
"Fail after score calculation if there is not match both before and after."
);
"Fail after score calculation if there is not match both before and after."
);
gd
.
addCheckbox
(
"Ignore mismatch"
,
this
.
cuas_ignore_mismatch
,
gd
.
addCheckbox
(
"Ignore mismatch"
,
this
.
cuas_ignore_mismatch
,
...
@@ -4321,6 +4329,7 @@ min_str_neib_fpn 0.35
...
@@ -4321,6 +4329,7 @@ min_str_neib_fpn 0.35
this
.
cuas_half_step
=
gd
.
getNextBoolean
();
this
.
cuas_half_step
=
gd
.
getNextBoolean
();
this
.
cuas_max_range
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_max_range
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_fin_range
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_num_cycles
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_num_cycles
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_mul_samples
=
(
int
)
gd
.
getNextNumber
();
this
.
cuas_mul_samples
=
(
int
)
gd
.
getNextNumber
();
...
@@ -4404,6 +4413,7 @@ min_str_neib_fpn 0.35
...
@@ -4404,6 +4413,7 @@ min_str_neib_fpn 0.35
this
.
cuas_good_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_good_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_slow_fast_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_slow_fast_mismatch
=
gd
.
getNextNumber
();
this
.
cuas_match_len_pwr
=
gd
.
getNextNumber
();
this
.
cuas_match_len_pwr
=
gd
.
getNextNumber
();
this
.
cuas_offcenter
=
gd
.
getNextNumber
();
this
.
cuas_fail_mismatch
=
gd
.
getNextBoolean
();
this
.
cuas_fail_mismatch
=
gd
.
getNextBoolean
();
this
.
cuas_ignore_mismatch
=
gd
.
getNextBoolean
();
this
.
cuas_ignore_mismatch
=
gd
.
getNextBoolean
();
...
@@ -5610,6 +5620,7 @@ min_str_neib_fpn 0.35
...
@@ -5610,6 +5620,7 @@ min_str_neib_fpn 0.35
properties
.
setProperty
(
prefix
+
"cuas_half_step"
,
this
.
cuas_half_step
+
""
);
// boolean
properties
.
setProperty
(
prefix
+
"cuas_half_step"
,
this
.
cuas_half_step
+
""
);
// boolean
properties
.
setProperty
(
prefix
+
"cuas_max_range"
,
this
.
cuas_max_range
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_max_range"
,
this
.
cuas_max_range
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_fin_range"
,
this
.
cuas_fin_range
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_num_cycles"
,
this
.
cuas_num_cycles
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_num_cycles"
,
this
.
cuas_num_cycles
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_mul_samples"
,
this
.
cuas_mul_samples
+
""
);
// int
properties
.
setProperty
(
prefix
+
"cuas_mul_samples"
,
this
.
cuas_mul_samples
+
""
);
// int
...
@@ -5690,6 +5701,7 @@ min_str_neib_fpn 0.35
...
@@ -5690,6 +5701,7 @@ min_str_neib_fpn 0.35
properties
.
setProperty
(
prefix
+
"cuas_good_mismatch"
,
this
.
cuas_good_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_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_match_len_pwr"
,
this
.
cuas_match_len_pwr
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_offcenter"
,
this
.
cuas_offcenter
+
""
);
// double
properties
.
setProperty
(
prefix
+
"cuas_fail_mismatch"
,
this
.
cuas_fail_mismatch
+
""
);
// boolean
properties
.
setProperty
(
prefix
+
"cuas_fail_mismatch"
,
this
.
cuas_fail_mismatch
+
""
);
// boolean
properties
.
setProperty
(
prefix
+
"cuas_ignore_mismatch"
,
this
.
cuas_ignore_mismatch
+
""
);
// boolean
properties
.
setProperty
(
prefix
+
"cuas_ignore_mismatch"
,
this
.
cuas_ignore_mismatch
+
""
);
// boolean
...
@@ -6834,6 +6846,7 @@ min_str_neib_fpn 0.35
...
@@ -6834,6 +6846,7 @@ min_str_neib_fpn 0.35
if
(
properties
.
getProperty
(
prefix
+
"cuas_half_step"
)!=
null
)
this
.
cuas_half_step
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_half_step"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_half_step"
)!=
null
)
this
.
cuas_half_step
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_half_step"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_max_range"
)!=
null
)
this
.
cuas_max_range
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_max_range"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_max_range"
)!=
null
)
this
.
cuas_max_range
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_max_range"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_fin_range"
)!=
null
)
this
.
cuas_fin_range
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_fin_range"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_num_cycles"
)!=
null
)
this
.
cuas_num_cycles
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_num_cycles"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_num_cycles"
)!=
null
)
this
.
cuas_num_cycles
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_num_cycles"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_mul_samples"
)!=
null
)
this
.
cuas_mul_samples
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_mul_samples"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_mul_samples"
)!=
null
)
this
.
cuas_mul_samples
=
Integer
.
parseInt
(
properties
.
getProperty
(
prefix
+
"cuas_mul_samples"
));
...
@@ -6915,6 +6928,7 @@ min_str_neib_fpn 0.35
...
@@ -6915,6 +6928,7 @@ min_str_neib_fpn 0.35
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_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_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_match_len_pwr"
)!=
null
)
this
.
cuas_match_len_pwr
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_match_len_pwr"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_offcenter"
)!=
null
)
this
.
cuas_offcenter
=
Double
.
parseDouble
(
properties
.
getProperty
(
prefix
+
"cuas_offcenter"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
)!=
null
)
this
.
cuas_fail_mismatch
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
)!=
null
)
this
.
cuas_fail_mismatch
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_fail_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_ignore_mismatch"
)!=
null
)
this
.
cuas_ignore_mismatch
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_ignore_mismatch"
));
if
(
properties
.
getProperty
(
prefix
+
"cuas_ignore_mismatch"
)!=
null
)
this
.
cuas_ignore_mismatch
=
Boolean
.
parseBoolean
(
properties
.
getProperty
(
prefix
+
"cuas_ignore_mismatch"
));
...
@@ -8074,6 +8088,7 @@ min_str_neib_fpn 0.35
...
@@ -8074,6 +8088,7 @@ min_str_neib_fpn 0.35
imp
.
cuas_corr_step
=
this
.
cuas_corr_step
;
imp
.
cuas_corr_step
=
this
.
cuas_corr_step
;
imp
.
cuas_half_step
=
this
.
cuas_half_step
;
imp
.
cuas_half_step
=
this
.
cuas_half_step
;
imp
.
cuas_max_range
=
this
.
cuas_max_range
;
imp
.
cuas_max_range
=
this
.
cuas_max_range
;
imp
.
cuas_fin_range
=
this
.
cuas_fin_range
;
imp
.
cuas_num_cycles
=
this
.
cuas_num_cycles
;
imp
.
cuas_num_cycles
=
this
.
cuas_num_cycles
;
imp
.
cuas_mul_samples
=
this
.
cuas_mul_samples
;
imp
.
cuas_mul_samples
=
this
.
cuas_mul_samples
;
imp
.
cuas_mul_offset
=
this
.
cuas_mul_offset
;
imp
.
cuas_mul_offset
=
this
.
cuas_mul_offset
;
...
@@ -8154,6 +8169,7 @@ min_str_neib_fpn 0.35
...
@@ -8154,6 +8169,7 @@ min_str_neib_fpn 0.35
imp
.
cuas_good_mismatch
=
this
.
cuas_good_mismatch
;
imp
.
cuas_good_mismatch
=
this
.
cuas_good_mismatch
;
imp
.
cuas_slow_fast_mismatch
=
this
.
cuas_slow_fast_mismatch
;
imp
.
cuas_slow_fast_mismatch
=
this
.
cuas_slow_fast_mismatch
;
imp
.
cuas_match_len_pwr
=
this
.
cuas_match_len_pwr
;
imp
.
cuas_match_len_pwr
=
this
.
cuas_match_len_pwr
;
imp
.
cuas_offcenter
=
this
.
cuas_offcenter
;
imp
.
cuas_fail_mismatch
=
this
.
cuas_fail_mismatch
;
imp
.
cuas_fail_mismatch
=
this
.
cuas_fail_mismatch
;
imp
.
cuas_ignore_mismatch
=
this
.
cuas_ignore_mismatch
;
imp
.
cuas_ignore_mismatch
=
this
.
cuas_ignore_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