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
3494b1d7
Commit
3494b1d7
authored
May 19, 2025
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Debugged rendering sequence for center virtual view
parent
844fe76d
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
418 additions
and
41 deletions
+418
-41
ShowDoubleFloatArrays.java
.../java/com/elphel/imagej/common/ShowDoubleFloatArrays.java
+0
-3
Interscene.java
...main/java/com/elphel/imagej/tileprocessor/Interscene.java
+2
-0
OpticalFlow.java
...ain/java/com/elphel/imagej/tileprocessor/OpticalFlow.java
+379
-18
QuadCLT.java
src/main/java/com/elphel/imagej/tileprocessor/QuadCLT.java
+37
-20
No files found.
src/main/java/com/elphel/imagej/common/ShowDoubleFloatArrays.java
View file @
3494b1d7
...
...
@@ -169,12 +169,9 @@ import ij.process.ImageProcessor;
int
num_slices
=
pixels
[
0
].
length
;
double
[][]
dpixels
=
new
double
[
num_frames
*
num_slices
][];
// System.out.println("pixels.length="+pixels.length+" pixels[0].length="+pixels[0].length);
for
(
int
f
=
0
;
f
<
num_frames
;
f
++)
{
// System.out.println("f="+f);
for
(
int
s
=
0
;
s
<
num_slices
;
s
++)
{
int
indx
=
s
+
f
*
num_slices
;
// System.out.println("f="+f+" s="+s+" indx="+indx);
dpixels
[
indx
]
=
pixels
[
f
][
s
];
}
}
...
...
src/main/java/com/elphel/imagej/tileprocessor/Interscene.java
View file @
3494b1d7
...
...
@@ -2019,6 +2019,7 @@ public class Interscene {
null
,
// final Rectangle full_woi_in, // show larger than sensor WOI (or null)
clt_parameters
,
// CLTParameters clt_parameters,
mb_ref_disparity
,
// double [] disparity_ref,
null
,
// double [][] ref_pXpYD, // alternative to disparity_ref when reference is not uniform
// motion blur compensation
mb_tau
,
// double mb_tau, // 0.008; // time constant, sec
mb_max_gain
,
// double mb_max_gain, // 5.0; // motion blur maximal gain (if more - move second point more than a pixel
...
...
@@ -2040,6 +2041,7 @@ public class Interscene {
null
,
// final Rectangle full_woi_in, // show larger than sensor WOI (or null)
clt_parameters
,
// CLTParameters clt_parameters,
mb_ref_disparity
,
// double [] disparity_ref,
null
,
// double [][] ref_pXpYD, // alternative to disparity_ref when reference is not uniform
// motion blur compensation
mb_tau
,
// double mb_tau, // 0.008; // time constant, sec
mb_max_gain
,
// double mb_max_gain, // 5.0; // motion blur maximal gain (if more - move second point more than a pixel
...
...
src/main/java/com/elphel/imagej/tileprocessor/OpticalFlow.java
View file @
3494b1d7
This diff is collapsed.
Click to expand it.
src/main/java/com/elphel/imagej/tileprocessor/QuadCLT.java
View file @
3494b1d7
...
...
@@ -876,6 +876,8 @@ public class QuadCLT extends QuadCLTCPU {
null
,
// final Rectangle full_woi_in, // show larger than sensor WOI in tiles (or null)
clt_parameters
,
// CLTParameters clt_parameters,
disparity_ref
,
// double [] disparity_ref,
null
,
// double [][] ref_pXpYD, // alternative to disparity_ref when reference is not uniform
OpticalFlow
.
ZERO3
,
// final double [] scene_xyz, // camera center in world coordinates
OpticalFlow
.
ZERO3
,
// final double [] scene_atr, // camera orientation relative to world frame
ref_scene
,
// final QuadCLT scene,
...
...
@@ -1254,6 +1256,7 @@ public class QuadCLT extends QuadCLTCPU {
final
Rectangle
full_woi_in
,
// show larger than sensor WOI in tiles (or null)
CLTParameters
clt_parameters
,
double
[]
disparity_ref
,
double
[][]
ref_pXpYD
,
// alternative to disparity_ref when reference is not uniform
final
double
[]
scene_xyz
,
// camera center in world coordinates
final
double
[]
scene_atr
,
// camera orientation relative to world frame
final
QuadCLT
scene
,
...
...
@@ -1269,6 +1272,7 @@ public class QuadCLT extends QuadCLTCPU {
full_woi_in
,
// show larger than sensor WOI in tiles (or null)
clt_parameters
,
disparity_ref
,
ref_pXpYD
,
// double [][] ref_pXpYD, // alternative to disparity_ref when reference is not uniform
// motion blur compensation
0.0
,
// double mb_tau, // 0.008; // time constant, sec
0.0
,
// mb_max_gain, // 5.0; // motion blur maximal gain (if more - move second point more than a pixel
...
...
@@ -1313,6 +1317,7 @@ public class QuadCLT extends QuadCLTCPU {
final
Rectangle
full_woi_in
,
// show larger than sensor WOI in tiles (or null)
CLTParameters
clt_parameters
,
double
[]
disparity_ref
,
double
[][]
ref_pXpYD
,
// alternative to disparity_ref when reference is not uniform
// motion blur compensation
double
mb_tau
,
// 0.008; // time constant, sec
double
mb_max_gain
,
// 5.0; // motion blur maximal gain (if more - move second point more than a pixel
...
...
@@ -1328,6 +1333,17 @@ public class QuadCLT extends QuadCLTCPU {
int
threadsMax
,
final
int
debugLevel
){
double
[][]
pXpYD
;
if
(
ref_pXpYD
!=
null
)
{
// cuas mode, ref_pXpYD defines offset reference scene
pXpYD
=
OpticalFlow
.
transformToScenePxPyD
(
ref_pXpYD
,
// final double [][] reference_pXpYD, // invalid tiles - NaN in disparity. Should be no nulls, no NaN disparity
scene_xyz
,
// final double [] scene_xyz, // camera center in world (reference) coordinates
scene_atr
,
// final double [] scene_atr, // camera orientation relative to world (reference) frame
ref_scene
,
// final QuadCLT reference_QuadClt)
scene
);
// final QuadCLT scene_QuadClt)
scene
.
getErsCorrection
().
setupERS
();
// NEW - did not help
// ref_scene.getErsCorrection().setupERS(); // just in case - setup using instance parameters - inside
}
else
{
if
((
scene_xyz
==
null
)
||
(
scene_atr
==
null
))
{
scene_xyz
=
new
double
[
3
];
scene_atr
=
new
double
[
3
];
...
...
@@ -1349,6 +1365,7 @@ public class QuadCLT extends QuadCLTCPU {
ref_scene
,
// final QuadCLT reference_QuadClt, // now - may be null - for testing if scene is rotated ref
threadsMax
);
// int threadsMax)
}
}
int
rendered_width
=
scene
.
getErsCorrection
().
getSensorWH
()[
0
];
if
(
full_woi_in
!=
null
)
{
rendered_width
=
full_woi_in
.
width
*
GPUTileProcessor
.
DTT_SIZE
;
...
...
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