Commit 54c5427a authored by Andrey Filippov's avatar Andrey Filippov

Added rendering flat field - did not help

parent 7180569b
...@@ -844,6 +844,29 @@ public class GpuQuad{ // quad camera description ...@@ -844,6 +844,29 @@ public class GpuQuad{ // quad camera description
true); true);
} }
/**
* Set uniform data instead of the source images (for texture correction)
* Prepares array, if used a lot, may reuse the same array for all scenes, all sensors
* @param value - valuer to use for each pixel
*/
public void setUniformImages(
double value) {
double [][][] bayer_data = quadCLT.getImageData(); // resets hasNewImageData()
double [][][] const_data = new double[bayer_data.length] [][];
for (int nsens = 0; nsens < bayer_data.length; nsens++) if (bayer_data[nsens] != null){
const_data[nsens] = new double [bayer_data[nsens].length][];
for (int nchn = 0; nchn < bayer_data[nsens].length; nchn++) {
const_data[nsens][nchn] = new double [bayer_data[nsens][nchn].length];
Arrays.fill(const_data[nsens][nchn], value);
}
}
setBayerImages(
const_data,
true);
quadCLT.setNewDataState (true); // next time will read actual data
}
/** /**
* Copy a set of Bayer images to the GPU * Copy a set of Bayer images to the GPU
* @param bayer_data per camera a set of split-color images [4][3][w*h], may be [4][1][w*h] * @param bayer_data per camera a set of split-color images [4][3][w*h], may be [4][1][w*h]
...@@ -1435,7 +1458,8 @@ public class GpuQuad{ // quad camera description ...@@ -1435,7 +1458,8 @@ public class GpuQuad{ // quad camera description
execConvertDirect( execConvertDirect(
false, false,
null, null,
erase_clt); erase_clt,
Double.NaN); // double fill_value) {
} }
/** /**
* Convert and save TD representation in either normal or reference scene. Reference scene TD representation * Convert and save TD representation in either normal or reference scene. Reference scene TD representation
...@@ -1444,11 +1468,13 @@ public class GpuQuad{ // quad camera description ...@@ -1444,11 +1468,13 @@ public class GpuQuad{ // quad camera description
* @param wh window width, height (or null) * @param wh window width, height (or null)
* @param erase_clt erase CLT data. Only needed before execImcltRbgAll() if not all the * @param erase_clt erase CLT data. Only needed before execImcltRbgAll() if not all the
* tiles are converted. <0 - do not erase, 0 - erase to 0, 1 - erase to NaN * tiles are converted. <0 - do not erase, 0 - erase to 0, 1 - erase to NaN
* @param fill_value Double.NaN - normal, otherwise use this value for every pixel
*/ */
public void execConvertDirect( public void execConvertDirect(
boolean ref_scene, boolean ref_scene,
int [] wh, int [] wh,
int erase_clt) { int erase_clt,
double fill_value) {
if (this.gpuTileProcessor.GPU_CONVERT_DIRECT_kernel == null) if (this.gpuTileProcessor.GPU_CONVERT_DIRECT_kernel == null)
{ {
IJ.showMessage("Error", "No GPU kernel: GPU_CONVERT_DIRECT_kernel"); IJ.showMessage("Error", "No GPU kernel: GPU_CONVERT_DIRECT_kernel");
...@@ -1465,7 +1491,11 @@ public class GpuQuad{ // quad camera description ...@@ -1465,7 +1491,11 @@ public class GpuQuad{ // quad camera description
wh = new int[] {img_width, img_height}; wh = new int[] {img_width, img_height};
} }
setConvolutionKernels(false); // set kernels if they are not set already setConvolutionKernels(false); // set kernels if they are not set already
setBayerImages(false); // set Bayer images if this.quadCLT instance has new ones if (!Double.isNaN(fill_value)) {
setUniformImages(fill_value);
} else {
setBayerImages(false); // set Bayer images if this.quadCLT instance has new ones
}
// kernel parameters: pointer to pointers // kernel parameters: pointer to pointers
int tilesX = wh[0] / GPUTileProcessor.DTT_SIZE; int tilesX = wh[0] / GPUTileProcessor.DTT_SIZE;
int tilesY = wh[1] / GPUTileProcessor.DTT_SIZE; int tilesY = wh[1] / GPUTileProcessor.DTT_SIZE;
......
...@@ -1237,6 +1237,7 @@ public class ImageDtt extends ImageDttCPU { ...@@ -1237,6 +1237,7 @@ public class ImageDtt extends ImageDttCPU {
* @param gpu_sigma_b * @param gpu_sigma_b
* @param gpu_sigma_g * @param gpu_sigma_g
* @param gpu_sigma_m * @param gpu_sigma_m
* @param fill_value normally - Double.NaN. If not - use constant pixel value
* @param threadsMax * @param threadsMax
* @param globalDebugLevel * @param globalDebugLevel
*/ */
...@@ -1250,7 +1251,8 @@ public class ImageDtt extends ImageDttCPU { ...@@ -1250,7 +1251,8 @@ public class ImageDtt extends ImageDttCPU {
final double gpu_sigma_b, // 0.9, 1.1 final double gpu_sigma_b, // 0.9, 1.1
final double gpu_sigma_g, // 0.6, 0.7 final double gpu_sigma_g, // 0.6, 0.7
final double gpu_sigma_m, // = 0.4; // 0.7; final double gpu_sigma_m, // = 0.4; // 0.7;
final int threadsMax, // maximal number of threads to launch final double fill_value, // normally - Double.NaN. If not - use constant pixel value
final int threadsMax, // maximal number of threads to launch
final int globalDebugLevel) final int globalDebugLevel)
{ {
final float [][] lpf_rgb = new float[][] { final float [][] lpf_rgb = new float[][] {
...@@ -1272,7 +1274,7 @@ public class ImageDtt extends ImageDttCPU { ...@@ -1272,7 +1274,7 @@ public class ImageDtt extends ImageDttCPU {
gpuQuad.updateTasks( gpuQuad.updateTasks(
tp_tasks, tp_tasks,
false); // boolean use_aux // while is it in class member? - just to be able to free false); // boolean use_aux // while is it in class member? - just to be able to free
gpuQuad.execConvertDirect(use_reference_buffer, wh, erase_clt); // put results into a "reference" buffer gpuQuad.execConvertDirect(use_reference_buffer, wh, erase_clt, fill_value); // put results into a "reference" buffer
} }
public void setReferenceTDMotionBlur( public void setReferenceTDMotionBlur(
...@@ -1307,7 +1309,7 @@ public class ImageDtt extends ImageDttCPU { ...@@ -1307,7 +1309,7 @@ public class ImageDtt extends ImageDttCPU {
gpuQuad.updateTasks( gpuQuad.updateTasks(
tp_tasks[0], tp_tasks[0],
false); // boolean use_aux // while is it in class member? - just to be able to free false); // boolean use_aux // while is it in class member? - just to be able to free
gpuQuad.execConvertDirect(use_reference_buffer, wh, erase_clt); // put results into a "reference" buffer gpuQuad.execConvertDirect(use_reference_buffer, wh, erase_clt, Double.NaN); // put results into a "reference" buffer
// second tasks (subtracting MB) // second tasks (subtracting MB)
gpuQuad.setTasks( // copy tp_tasks to the GPU memory gpuQuad.setTasks( // copy tp_tasks to the GPU memory
...@@ -1320,7 +1322,7 @@ public class ImageDtt extends ImageDttCPU { ...@@ -1320,7 +1322,7 @@ public class ImageDtt extends ImageDttCPU {
gpuQuad.updateTasks( gpuQuad.updateTasks(
tp_tasks[1], tp_tasks[1],
false); // boolean use_aux // while is it in class member? - just to be able to free false); // boolean use_aux // while is it in class member? - just to be able to free
gpuQuad.execConvertDirect(use_reference_buffer, wh, -1); // erase_clt); // put results into a "reference" buffer gpuQuad.execConvertDirect(use_reference_buffer, wh, -1, Double.NaN); // erase_clt); // put results into a "reference" buffer
} }
......
...@@ -5844,6 +5844,7 @@ public class OpticalFlow { ...@@ -5844,6 +5844,7 @@ public class OpticalFlow {
true, // toRGB, // final boolean toRGB, true, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_color_nan, // boolean show_nan clt_parameters.imp.show_color_nan, // boolean show_nan
"GPU-SHIFTED-D"+clt_parameters.disparity, // String suffix, "GPU-SHIFTED-D"+clt_parameters.disparity, // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -5862,6 +5863,7 @@ public class OpticalFlow { ...@@ -5862,6 +5863,7 @@ public class OpticalFlow {
false, // toRGB, // final boolean toRGB, false, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_mono_nan, // boolean show_nan clt_parameters.imp.show_mono_nan, // boolean show_nan
"GPU-SHIFTED-D"+clt_parameters.disparity, // String suffix, "GPU-SHIFTED-D"+clt_parameters.disparity, // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -5942,6 +5944,7 @@ public class OpticalFlow { ...@@ -5942,6 +5944,7 @@ public class OpticalFlow {
true, // toRGB, // final boolean toRGB, true, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
scenes_suffix+"GPU-SHIFTED-FOREGROUND", // String suffix, scenes_suffix+"GPU-SHIFTED-FOREGROUND", // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -5960,6 +5963,7 @@ public class OpticalFlow { ...@@ -5960,6 +5963,7 @@ public class OpticalFlow {
false, // toRGB, // final boolean toRGB, false, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_mono_nan, clt_parameters.imp.show_mono_nan,
scenes_suffix+"GPU-SHIFTED-FOREGROUND", // String suffix, scenes_suffix+"GPU-SHIFTED-FOREGROUND", // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -5987,6 +5991,7 @@ public class OpticalFlow { ...@@ -5987,6 +5991,7 @@ public class OpticalFlow {
true, // final boolean toRGB, true, // final boolean toRGB,
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
"GPU-SHIFTED-BACKGROUND", // String suffix, "GPU-SHIFTED-BACKGROUND", // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -6005,6 +6010,7 @@ public class OpticalFlow { ...@@ -6005,6 +6010,7 @@ public class OpticalFlow {
false, // final boolean toRGB, false, // final boolean toRGB,
clt_parameters.imp.show_mono_nan, clt_parameters.imp.show_mono_nan,
"GPU-SHIFTED-BACKGROUND", // String suffix, "GPU-SHIFTED-BACKGROUND", // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
quadCLTs[ref_index].saveImagePlusInModelDirectory( quadCLTs[ref_index].saveImagePlusInModelDirectory(
...@@ -6593,6 +6599,7 @@ public class OpticalFlow { ...@@ -6593,6 +6599,7 @@ public class OpticalFlow {
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value,// - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
if (stack_scenes_color == null) { if (stack_scenes_color == null) {
...@@ -6616,6 +6623,7 @@ public class OpticalFlow { ...@@ -6616,6 +6623,7 @@ public class OpticalFlow {
false, // final boolean toRGB, false, // final boolean toRGB,
clt_parameters.imp.show_mono_nan, clt_parameters.imp.show_mono_nan,
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value,// - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
if (stack_scenes_mono == null) { if (stack_scenes_mono == null) {
...@@ -6736,6 +6744,7 @@ public class OpticalFlow { ...@@ -6736,6 +6744,7 @@ public class OpticalFlow {
true, // final boolean toRGB, true, // final boolean toRGB,
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value,// - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
if (stack_adjusted_color == null) { if (stack_adjusted_color == null) {
...@@ -6759,6 +6768,7 @@ public class OpticalFlow { ...@@ -6759,6 +6768,7 @@ public class OpticalFlow {
false, // final boolean toRGB, false, // final boolean toRGB,
clt_parameters.imp.show_mono_nan, clt_parameters.imp.show_mono_nan,
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value,// - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
if (stack_adjusted_mono == null) { if (stack_adjusted_mono == null) {
...@@ -6973,6 +6983,7 @@ public class OpticalFlow { ...@@ -6973,6 +6983,7 @@ public class OpticalFlow {
toRGB, // final boolean toRGB, toRGB, // final boolean toRGB,
(toRGB? clt_parameters.imp.show_color_nan : clt_parameters.imp.show_mono_nan), (toRGB? clt_parameters.imp.show_color_nan : clt_parameters.imp.show_mono_nan),
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value, - use instead of image
QuadCLT.THREADS_MAX, // int threadsMax, QuadCLT.THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
...@@ -6992,6 +7003,7 @@ public class OpticalFlow { ...@@ -6992,6 +7003,7 @@ public class OpticalFlow {
toRGB, // final boolean toRGB, toRGB, // final boolean toRGB,
(toRGB? clt_parameters.imp.show_color_nan : clt_parameters.imp.show_mono_nan), (toRGB? clt_parameters.imp.show_color_nan : clt_parameters.imp.show_mono_nan),
"", // String suffix, no suffix here "", // String suffix, no suffix here
Double.NaN, // double fill_value,// - use instead of image
QuadCLT.THREADS_MAX, // int threadsMax, QuadCLT.THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
} }
...@@ -12592,6 +12604,7 @@ public class OpticalFlow { ...@@ -12592,6 +12604,7 @@ public class OpticalFlow {
clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1 clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1
clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7 clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7
clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7; clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7;
Double.NaN, // final double fill_value, // normally - Double.NaN. If not - use constant pixel value
QuadCLT.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch QuadCLT.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch
debug_level); // final int globalDebugLevel); debug_level); // final int globalDebugLevel);
} }
...@@ -14373,6 +14386,7 @@ public class OpticalFlow { ...@@ -14373,6 +14386,7 @@ public class OpticalFlow {
false, // toRGB, // final boolean toRGB, false, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
quadCLTs[nscene].getImageName()+"-MOTION_BLUR_CORRECTED", // String suffix, quadCLTs[nscene].getImageName()+"-MOTION_BLUR_CORRECTED", // String suffix,
Double.NaN, // double fill_value, - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
imp_mbc.show(); imp_mbc.show();
...@@ -14394,6 +14408,7 @@ public class OpticalFlow { ...@@ -14394,6 +14408,7 @@ public class OpticalFlow {
false, // toRGB, // final boolean toRGB, false, // toRGB, // final boolean toRGB,
clt_parameters.imp.show_color_nan, clt_parameters.imp.show_color_nan,
quadCLTs[nscene].getImageName()+"-MOTION_BLUR_CORRECTED-MERGED", // String suffix, quadCLTs[nscene].getImageName()+"-MOTION_BLUR_CORRECTED-MERGED", // String suffix,
Double.NaN, // double fill_value, - use instead of image
THREADS_MAX, // int threadsMax, THREADS_MAX, // int threadsMax,
debugLevel); // int debugLevel) debugLevel); // int debugLevel)
imp_mbc_merged.show(); imp_mbc_merged.show();
......
...@@ -880,6 +880,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -880,6 +880,7 @@ public class QuadCLT extends QuadCLTCPU {
false, // final boolean toRGB, false, // final boolean toRGB,
true, // final boolean show_nan, true, // final boolean show_nan,
"PHOTOMETRIC", // String suffix, "PHOTOMETRIC", // String suffix,
Double.NaN, // double fill_value,// - use instead of image
threadsMax, // int threadsMax, threadsMax, // int threadsMax,
-2); // final int debugLevel); -2); // final int debugLevel);
if (debug) { if (debug) {
...@@ -1258,6 +1259,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1258,6 +1259,7 @@ public class QuadCLT extends QuadCLTCPU {
final boolean toRGB, final boolean toRGB,
final boolean show_nan, final boolean show_nan,
String suffix, String suffix,
double fill_value, // - use instead of image
int threadsMax, int threadsMax,
final int debugLevel){ final int debugLevel){
return renderGPUFromDSI( return renderGPUFromDSI(
...@@ -1278,6 +1280,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1278,6 +1280,7 @@ public class QuadCLT extends QuadCLTCPU {
toRGB, toRGB,
show_nan, show_nan,
suffix, suffix,
Double.NaN, // double fill_value, - use instead of image
threadsMax, threadsMax,
debugLevel); debugLevel);
} }
...@@ -1299,6 +1302,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1299,6 +1302,7 @@ public class QuadCLT extends QuadCLTCPU {
* @param toRGB * @param toRGB
* @param show_nan * @param show_nan
* @param suffix * @param suffix
* @param fill_value. Noramlly NaN, if not - fill image pixels with constant value
* @param threadsMax * @param threadsMax
* @param debugLevel * @param debugLevel
* @return * @return
...@@ -1322,6 +1326,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1322,6 +1326,7 @@ public class QuadCLT extends QuadCLTCPU {
final boolean toRGB, final boolean toRGB,
final boolean show_nan, final boolean show_nan,
String suffix, String suffix,
double fill_value,
int threadsMax, int threadsMax,
final int debugLevel){ final int debugLevel){
double [][] pXpYD; double [][] pXpYD;
...@@ -1382,7 +1387,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1382,7 +1387,7 @@ public class QuadCLT extends QuadCLTCPU {
dbg_titles); dbg_titles);
} }
TpTask[][] tp_tasks; TpTask[][] tp_tasks;
if (mb_vectors!=null) { if ((mb_vectors!=null) && Double.isNaN(fill_value)){
tp_tasks = GpuQuad.setInterTasksMotionBlur( // "true" reference, with stereo actual reference will be offset tp_tasks = GpuQuad.setInterTasksMotionBlur( // "true" reference, with stereo actual reference will be offset
scene.getNumSensors(), scene.getNumSensors(),
rendered_width, // should match output size, pXpYD.length rendered_width, // should match output size, pXpYD.length
...@@ -1428,7 +1433,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1428,7 +1433,7 @@ public class QuadCLT extends QuadCLTCPU {
full_woi_in.height * GPUTileProcessor.DTT_SIZE}; full_woi_in.height * GPUTileProcessor.DTT_SIZE};
int erase_clt = show_nan ? 1:0; int erase_clt = show_nan ? 1:0;
// boolean test1 = true; // boolean test1 = true;
if (mb_vectors!=null) {// && test1) { if ((mb_vectors!=null) && Double.isNaN(fill_value)) {// && test1) {
image_dtt.setReferenceTDMotionBlur( // change to main? image_dtt.setReferenceTDMotionBlur( // change to main?
erase_clt, //final int erase_clt, erase_clt, //final int erase_clt,
wh, // null, // final int [] wh, // null (use sensor dimensions) or pair {width, height} in pixels wh, // null, // final int [] wh, // null (use sensor dimensions) or pair {width, height} in pixels
...@@ -1452,6 +1457,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1452,6 +1457,7 @@ public class QuadCLT extends QuadCLTCPU {
clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1 clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1
clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7 clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7
clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7; clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7;
fill_value, // final double fill_value, // normally - Double.NaN. If not - use constant pixel value
threadsMax, // final int threadsMax, // maximal number of threads to launch threadsMax, // final int threadsMax, // maximal number of threads to launch
debugLevel); // final int globalDebugLevel); debugLevel); // final int globalDebugLevel);
} }
...@@ -1651,6 +1657,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1651,6 +1657,7 @@ public class QuadCLT extends QuadCLTCPU {
clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1 clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1
clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7 clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7
clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7; clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7;
Double.NaN, // final double fill_value, // normally - Double.NaN. If not - use constant pixel value
OpticalFlow.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch OpticalFlow.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch
debugLevel); // final int globalDebugLevel); debugLevel); // final int globalDebugLevel);
} }
...@@ -1942,6 +1949,7 @@ public class QuadCLT extends QuadCLTCPU { ...@@ -1942,6 +1949,7 @@ public class QuadCLT extends QuadCLTCPU {
clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1 clt_parameters.gpu_sigma_b, // final double gpu_sigma_b, // 0.9, 1.1
clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7 clt_parameters.gpu_sigma_g, // final double gpu_sigma_g, // 0.6, 0.7
clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7; clt_parameters.gpu_sigma_m, // final double gpu_sigma_m, // = 0.4; // 0.7;
Double.NaN, // final double fill_value, // normally - Double.NaN. If not - use constant pixel value
OpticalFlow.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch OpticalFlow.THREADS_MAX, // final int threadsMax, // maximal number of threads to launch
debugLevel); // final int globalDebugLevel); debugLevel); // final int globalDebugLevel);
} }
......
...@@ -2411,9 +2411,10 @@ public class QuadCLTCPU { ...@@ -2411,9 +2411,10 @@ public class QuadCLTCPU {
ShowDoubleFloatArrays.showArrays(dsi_main,tp.getTilesX(), tp.getTilesY(), true, title, titles); ShowDoubleFloatArrays.showArrays(dsi_main,tp.getTilesX(), tp.getTilesY(), true, title, titles);
} }
public void setNewDataState(boolean state) {
new_image_data = state;
}
public boolean hasNewImageData() { public boolean hasNewImageData() {
return new_image_data; return new_image_data;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment