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
3967e7b5
Commit
3967e7b5
authored
Jun 07, 2018
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vertical averaging after 2d-correlation notch filter
parent
47fe5f08
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
47 additions
and
47 deletions
+47
-47
BiScan.java
src/main/java/BiScan.java
+5
-5
Eyesis_Correction.java
src/main/java/Eyesis_Correction.java
+1
-1
ImageDtt.java
src/main/java/ImageDtt.java
+5
-3
TwoQuadCLT.java
src/main/java/TwoQuadCLT.java
+36
-38
No files found.
src/main/java/BiScan.java
View file @
3967e7b5
...
@@ -336,7 +336,7 @@ public class BiScan {
...
@@ -336,7 +336,7 @@ public class BiScan {
final
AtomicInteger
num_changes
=
new
AtomicInteger
(
0
);
final
AtomicInteger
num_changes
=
new
AtomicInteger
(
0
);
int
dbg_x
=
157
;
int
dbg_x
=
157
;
int
dbg_y
=
212
;
int
dbg_y
=
212
;
int
debugLevel
=
-
1
;
int
debugLevel
=
-
1
0
;
final
int
dbg_tile
=
(
debugLevel
>-
2
)?(
dbg_x
+
tnImage
.
sizeX
*
dbg_y
):-
1
;
final
int
dbg_tile
=
(
debugLevel
>-
2
)?(
dbg_x
+
tnImage
.
sizeX
*
dbg_y
):-
1
;
ai
.
set
(
0
);
ai
.
set
(
0
);
...
@@ -2169,10 +2169,10 @@ public class BiScan {
...
@@ -2169,10 +2169,10 @@ public class BiScan {
}
else
if
(
exp_sel
[
nTile
])
{
}
else
if
(
exp_sel
[
nTile
])
{
int
dbg_tileX
=
nTile
%
tnImage
.
sizeX
;
int
dbg_tileX
=
nTile
%
tnImage
.
sizeX
;
int
dbg_tileY
=
nTile
/
tnImage
.
sizeX
;
int
dbg_tileY
=
nTile
/
tnImage
.
sizeX
;
if
((
dbg_tileY
==
156
)
||
(
dbg_tileY
==
157
))
{
//
if ((dbg_tileY == 156) || (dbg_tileY == 157)) {
System
.
out
.
println
(
"getLTExpanded(): tileX="
+
dbg_tileX
+
", tileY="
+
dbg_tileY
);
//
System.out.println("getLTExpanded(): tileX="+dbg_tileX+", tileY="+dbg_tileY);
System
.
out
.
println
(
"getLTExpanded(): tileX="
+
dbg_tileX
+
", tileY="
+
dbg_tileY
);
//
System.out.println("getLTExpanded(): tileX="+dbg_tileX+", tileY="+dbg_tileY);
}
//
}
int
nTile0
=
tnImage
.
getNeibIndex
(
nTile
,-
1
,
0
);
int
nTile0
=
tnImage
.
getNeibIndex
(
nTile
,-
1
,
0
);
if
((
nTile0
<
0
)
||
!
exp_sel
[
nTile0
]){
if
((
nTile0
<
0
)
||
!
exp_sel
[
nTile0
]){
boolean
OK0
=
(
nTile0
<
0
)
||
lt_sel
[
nTile0
]
||
(
trusted
[
nTile0
]
&&
(
d_single
[
nTile0
]
>=
(
ds_lt
[
0
][
nTile
]
-
tolerance
)));
boolean
OK0
=
(
nTile0
<
0
)
||
lt_sel
[
nTile0
]
||
(
trusted
[
nTile0
]
&&
(
d_single
[
nTile0
]
>=
(
ds_lt
[
0
][
nTile
]
-
tolerance
)));
...
...
src/main/java/Eyesis_Correction.java
View file @
3967e7b5
...
@@ -5179,7 +5179,7 @@ private Panel panel1,
...
@@ -5179,7 +5179,7 @@ private Panel panel1,
use_planes
,
// final boolean use_planes,
use_planes
,
// final boolean use_planes,
THREADS_MAX
,
//final int threadsMax, // maximal number of threads to launch
THREADS_MAX
,
//final int threadsMax, // maximal number of threads to launch
UPDATE_STATUS
,
//final boolean updateStatus,
UPDATE_STATUS
,
//final boolean updateStatus,
DEBUG_LEVEL
);
DEBUG_LEVEL
-
2
);
if
(
configPath
!=
null
)
{
if
(
configPath
!=
null
)
{
saveTimestampedProperties
(
// save config again
saveTimestampedProperties
(
// save config again
configPath
,
// full path or null
configPath
,
// full path or null
...
...
src/main/java/ImageDtt.java
View file @
3967e7b5
...
@@ -8448,10 +8448,12 @@ public class ImageDtt {
...
@@ -8448,10 +8448,12 @@ public class ImageDtt {
// If it was low-texture mode, use lt_corr to average bi-quad inter-correlation between neighbor tiles and then calculate disparity/strength
// If it was low-texture mode, use lt_corr to average bi-quad inter-correlation between neighbor tiles and then calculate disparity/strength
if
(
lt_corr
!=
null
)
{
if
(
lt_corr
!=
null
)
{
//notch_mode
// prepare weights for neighbors
// prepare weights for neighbors
final
double
[][]
neib_weights
=
new
double
[
lt_rad
+
1
][
lt_rad
+
1
];
final
int
lt_rad_x
=
notch_mode
?
0
:
lt_rad
;
final
double
[][]
neib_weights
=
new
double
[
lt_rad
+
1
][
lt_rad_x
+
1
];
for
(
int
i
=
0
;
i
<=
lt_rad
;
i
++)
{
for
(
int
i
=
0
;
i
<=
lt_rad
;
i
++)
{
for
(
int
j
=
0
;
j
<=
lt_rad
;
j
++)
{
for
(
int
j
=
0
;
j
<=
lt_rad
_x
;
j
++)
{
neib_weights
[
i
][
j
]
=
Math
.
cos
(
Math
.
PI
*
i
/(
2
*
lt_rad
+
1
))
*
Math
.
cos
(
Math
.
PI
*
j
/(
2
*
lt_rad
+
1
));
// no need to normalize - it will need to skip empty tiles anyway
neib_weights
[
i
][
j
]
=
Math
.
cos
(
Math
.
PI
*
i
/(
2
*
lt_rad
+
1
))
*
Math
.
cos
(
Math
.
PI
*
j
/(
2
*
lt_rad
+
1
));
// no need to normalize - it will need to skip empty tiles anyway
}
}
}
}
...
@@ -8478,7 +8480,7 @@ public class ImageDtt {
...
@@ -8478,7 +8480,7 @@ public class ImageDtt {
double
sw
=
0.0
;
double
sw
=
0.0
;
for
(
int
dy
=
-
lt_rad
;
dy
<=
lt_rad
;
dy
++)
{
for
(
int
dy
=
-
lt_rad
;
dy
<=
lt_rad
;
dy
++)
{
int
ady
=
(
dy
>
0
)?
dy:
(-
dy
);
int
ady
=
(
dy
>
0
)?
dy:
(-
dy
);
for
(
int
dx
=
-
lt_rad
;
dx
<=
lt_rad
;
dx
++)
{
for
(
int
dx
=
-
lt_rad
_x
;
dx
<=
lt_rad_x
;
dx
++)
{
int
nTile1
=
tnImage
.
getNeibIndex
(
nTile
,
dx
,
dy
);
int
nTile1
=
tnImage
.
getNeibIndex
(
nTile
,
dx
,
dy
);
if
(
nTile1
>=
0
)
{
if
(
nTile1
>=
0
)
{
double
[]
ot_corr
=
lt_corr
[
nTile1
];
double
[]
ot_corr
=
lt_corr
[
nTile1
];
...
...
src/main/java/TwoQuadCLT.java
View file @
3967e7b5
...
@@ -2413,7 +2413,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -2413,7 +2413,7 @@ if (debugLevel > -100) return true; // temporarily !
clt_parameters
,
// EyesisCorrectionParameters.CLTParameters clt_parameters,
clt_parameters
,
// EyesisCorrectionParameters.CLTParameters clt_parameters,
threadsMax
,
// final int threadsMax, // maximal number of threads to launch
threadsMax
,
// final int threadsMax, // maximal number of threads to launch
updateStatus
,
// final boolean updateStatus,
updateStatus
,
// final boolean updateStatus,
debugLevel
);
// final int debugLevel) //
debugLevel
-
2
);
// final int debugLevel) //
// get last that was just added
// get last that was just added
rig_disparity_strength
=
biCamDSI
.
getLastBiScan
(
BiScan
.
BISCAN_ANY
).
getDisparityStrength
(
rig_disparity_strength
=
biCamDSI
.
getLastBiScan
(
BiScan
.
BISCAN_ANY
).
getDisparityStrength
(
false
,
// boolean only_strong,
false
,
// boolean only_strong,
...
@@ -3021,7 +3021,9 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3021,7 +3021,9 @@ if (debugLevel > -100) return true; // temporarily !
for
(
int
i
=
0
;
i
<
pre_select
.
length
;
i
++)
dbg_presel
[
i
]
=
pre_select
[
i
]?
1.0
:
0.0
;
for
(
int
i
=
0
;
i
<
pre_select
.
length
;
i
++)
dbg_presel
[
i
]
=
pre_select
[
i
]?
1.0
:
0.0
;
double
[][]
dbg_dens_str
=
{
density
,
dbg_presel
};
double
[][]
dbg_dens_str
=
{
density
,
dbg_presel
};
// biScan.showScan(quadCLT_main.image_name+"-density-"+scan_index,dbg_dens_str); //list_index
// biScan.showScan(quadCLT_main.image_name+"-density-"+scan_index,dbg_dens_str); //list_index
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-density-"
+
biScan
.
list_index
,
dbg_dens_str
);
//list_index
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-density-"
+
biScan
.
list_index
,
dbg_dens_str
);
//list_index
}
double
[][]
ds
=
biScan
.
getFilteredDisparityStrength
(
double
[][]
ds
=
biScan
.
getFilteredDisparityStrength
(
pre_select
,
// final boolean [] area_of_interest,
pre_select
,
// final boolean [] area_of_interest,
...
@@ -3055,8 +3057,10 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3055,8 +3057,10 @@ if (debugLevel > -100) return true; // temporarily !
fourq_gap
,
// final int fourq_gap, // symmetrical vertical and horizontal center areas that do not belong to any corner
fourq_gap
,
// final int fourq_gap, // symmetrical vertical and horizontal center areas that do not belong to any corner
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileY
,
// final int dbg_y,
clt_parameters
.
tileY
,
// final int dbg_y,
debugLevel
+
2
);
// final int debugLevel
debugLevel
+
0
);
// final int debugLevel
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-BiScan-"
+
biScan
.
list_index
,
ds
);
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-BiScan-"
+
biScan
.
list_index
,
ds
);
}
boolean
[]
lt_select
=
biScan
.
selectLowTextures
(
boolean
[]
lt_select
=
biScan
.
selectLowTextures
(
min_disparity
,
// double min_disparity,
min_disparity
,
// double min_disparity,
...
@@ -3080,7 +3084,9 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3080,7 +3084,9 @@ if (debugLevel > -100) return true; // temporarily !
ds1
[
0
][
i
]
=
Double
.
NaN
;
ds1
[
0
][
i
]
=
Double
.
NaN
;
ds1
[
1
][
i
]
=
0.0
;
ds1
[
1
][
i
]
=
0.0
;
}
}
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-selection-"
+
biScan
.
list_index
,
ds1
);
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-selection-"
+
biScan
.
list_index
,
ds1
);
}
double
[]
lt_strength
=
smooth_strength
?
ds1
[
1
]:
null
;
double
[]
lt_strength
=
smooth_strength
?
ds1
[
1
]:
null
;
double
[][]
ds2
=
biScan
.
fillAndSmooth
(
double
[][]
ds2
=
biScan
.
fillAndSmooth
(
...
@@ -3092,8 +3098,10 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3092,8 +3098,10 @@ if (debugLevel > -100) return true; // temporarily !
min_change
,
// final double min_change,
min_change
,
// final double min_change,
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileY
,
// final int dbg_y,
clt_parameters
.
tileY
,
// final int dbg_y,
debugLevel
+
2
);
// final int debugLevel
debugLevel
+
0
);
// final int debugLevel
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-smooth-"
+
biScan
.
list_index
,
ds2
);
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-smooth-"
+
biScan
.
list_index
,
ds2
);
}
// if (run_avg) {
// if (run_avg) {
int
tilesX
=
quadCLT_main
.
tp
.
getTilesX
();
int
tilesX
=
quadCLT_main
.
tp
.
getTilesX
();
...
@@ -3109,7 +3117,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3109,7 +3117,7 @@ if (debugLevel > -100) return true; // temporarily !
threadsMax
,
// final int threadsMax, // maximal number of threads to launch
threadsMax
,
// final int threadsMax, // maximal number of threads to launch
updateStatus
,
// updateStatus, // final boolean updateStatus,
updateStatus
,
// updateStatus, // final boolean updateStatus,
debugLevel
);
// final int debugLevel)
debugLevel
);
// final int debugLevel)
if
(
debugLevel
>
0
)
{
(
new
showDoubleFloatArrays
()).
showArrays
(
(
new
showDoubleFloatArrays
()).
showArrays
(
disparity_bimap
,
disparity_bimap
,
tilesX
,
tilesX
,
...
@@ -3117,6 +3125,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3117,6 +3125,7 @@ if (debugLevel > -100) return true; // temporarily !
true
,
true
,
quadCLT_main
.
image_name
+
"LPF"
+
lt_radius
,
quadCLT_main
.
image_name
+
"LPF"
+
lt_radius
,
ImageDtt
.
BIDISPARITY_TITLES
);
ImageDtt
.
BIDISPARITY_TITLES
);
}
//try to refine
//try to refine
int
[]
num_new
=
new
int
[
1
];
int
[]
num_new
=
new
int
[
1
];
...
@@ -3217,7 +3226,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3217,7 +3226,7 @@ if (debugLevel > -100) return true; // temporarily !
}
}
}
}
if
(
debugLevel
>
0
)
{
(
new
showDoubleFloatArrays
()).
showArrays
(
(
new
showDoubleFloatArrays
()).
showArrays
(
disparity_bimap
,
disparity_bimap
,
tilesX
,
tilesX
,
...
@@ -3225,6 +3234,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3225,6 +3234,7 @@ if (debugLevel > -100) return true; // temporarily !
true
,
true
,
quadCLT_main
.
image_name
+
"CORR-AVG"
+
lt_radius
,
quadCLT_main
.
image_name
+
"CORR-AVG"
+
lt_radius
,
ImageDtt
.
BIDISPARITY_TITLES
);
ImageDtt
.
BIDISPARITY_TITLES
);
}
double
[][]
avg_ds
=
{
disparity_bimap
[
ImageDtt
.
BI_TARGET_INDEX
],
disparity_bimap
[
ImageDtt
.
BI_STR_CROSS_INDEX
]};
double
[][]
avg_ds
=
{
disparity_bimap
[
ImageDtt
.
BI_TARGET_INDEX
],
disparity_bimap
[
ImageDtt
.
BI_STR_CROSS_INDEX
]};
// maybe trim all previously added to the last BiScan.BISCAN_SINGLECORR?
// maybe trim all previously added to the last BiScan.BISCAN_SINGLECORR?
...
@@ -3234,18 +3244,6 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3234,18 +3244,6 @@ if (debugLevel > -100) return true; // temporarily !
avg_ds
[
1
][
nTile
]
=
0.0
;
avg_ds
[
1
][
nTile
]
=
0.0
;
}
}
/*
* boolean expand_lt, // = true;
int expand_dist, // = 4;
double expand_tol, // = 0.15; // expand LT right and left if it ends with same or nearer tile
tnImage.growSelection(
2* max_gap_radius, // int grow, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more
selection, // boolean [] tiles,
null); // boolean [] prohibit)
final TileNeibs tnImage = biCamDSI.tnImage;
*/
boolean
[]
strong
=
biScan
.
strong_trusted
;
boolean
[]
strong
=
biScan
.
strong_trusted
;
boolean
[]
weak
=
biScan
.
trusted
;
boolean
[]
weak
=
biScan
.
trusted
;
double
[][]
ds_single
=
biScan
.
getDisparityStrength
(
double
[][]
ds_single
=
biScan
.
getDisparityStrength
(
...
@@ -3262,7 +3260,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3262,7 +3260,7 @@ if (debugLevel > -100) return true; // temporarily !
for
(
int
nTile
=
0
;
nTile
<
expanded_lt
.
length
;
nTile
++)
{
for
(
int
nTile
=
0
;
nTile
<
expanded_lt
.
length
;
nTile
++)
{
expanded_lt
[
nTile
]
&=
!
lt_select
[
nTile
]
&&
!
weak
[
nTile
];
// Or just !Double.isNaN(ds_single[0][nTile]) ???
expanded_lt
[
nTile
]
&=
!
lt_select
[
nTile
]
&&
!
weak
[
nTile
];
// Or just !Double.isNaN(ds_single[0][nTile]) ???
}
}
if
(
debugLevel
>
-
2
)
{
if
(
debugLevel
>
0
)
{
double
[][]
dbg_sel
=
new
double
[
2
][
expanded_lt
.
length
];
double
[][]
dbg_sel
=
new
double
[
2
][
expanded_lt
.
length
];
for
(
int
i
=
0
;
i
<
expanded_lt
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
expanded_lt
.
length
;
i
++)
{
dbg_sel
[
0
][
i
]
=
(
lt_select
[
i
]?
1
:
0
)
+
(
expanded_lt
[
i
]?
2
:
0
);
dbg_sel
[
0
][
i
]
=
(
lt_select
[
i
]?
1
:
0
)
+
(
expanded_lt
[
i
]?
2
:
0
);
...
@@ -3308,7 +3306,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3308,7 +3306,7 @@ if (debugLevel > -100) return true; // temporarily !
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileX
,
// final int dbg_x,
clt_parameters
.
tileY
,
// final int dbg_y,
clt_parameters
.
tileY
,
// final int dbg_y,
debugLevel
+
0
);
// final int debugLevel
debugLevel
+
0
);
// final int debugLevel
if
(
debugLevel
>
-
2
)
{
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-preexpand"
+
biScan
.
list_index
,
ds_preexpanded
);
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-preexpand"
+
biScan
.
list_index
,
ds_preexpanded
);
}
}
...
@@ -3319,7 +3317,7 @@ if (debugLevel > -100) return true; // temporarily !
...
@@ -3319,7 +3317,7 @@ if (debugLevel > -100) return true; // temporarily !
}
}
}
}
if
(
debugLevel
>
-
2
)
{
if
(
debugLevel
>
0
)
{
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-combo-expand"
+
biScan
.
list_index
,
ds_preexpanded
);
biScan
.
showScan
(
quadCLT_main
.
image_name
+
"-combo-expand"
+
biScan
.
list_index
,
ds_preexpanded
);
}
}
...
...
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