Commit 22872131 authored by Andrey Filippov's avatar Andrey Filippov

Fixed no-tile (empty) meshes export

parent afd1853a
......@@ -266,9 +266,13 @@ public class CorrectionColorProc {
}
this.denoiseMaskChroma=dmask; // (global, used to return denoise mask to save/show
this.denoiseMaskChromaWidth=width; // width of the this.denoiseMaskChroma image
} else {
if ((width <= 0) || (height <= 0)) {
System.out.println("***** BUG oin processColorsWeights: width="+width+", height="+height+" ****");
} else {
gb.blurDouble(dpixels_pr, width, height, colorProcParameters.chromaBrightSigma, colorProcParameters.chromaBrightSigma, 0.01);
gb.blurDouble(dpixels_pb, width, height, colorProcParameters.chromaBrightSigma, colorProcParameters.chromaBrightSigma, 0.01);
}
this.denoiseMaskChroma=null; // (global, used to return denoise mask to save/show
}
for (i=0;i<dpixels_pr.length;i++) {
......
......@@ -169,8 +169,12 @@ public class CLTPass3d{
selected[ty * tilesX + tx] = false; // may be omitted
}
}
if (maxX < 0) {
texture_bounds = null;
} else {
texture_bounds = new Rectangle(minX, minY, maxX - minX +1, maxY - minY +1 );
}
}
public Rectangle getTextureBounds(){
return texture_bounds;
......
......@@ -8226,6 +8226,7 @@ public class QuadCLT {
threadsMax, // maximal number of threads to launch
updateStatus,
batch_mode ? -5: debugLevel);
if (texturePath != null) { // null if empty image
double [] scan_disparity = new double [tilesX * tilesY];
int indx = 0;
// boolean [] scan_selected = scan.getSelected();
......@@ -8263,6 +8264,7 @@ public class QuadCLT {
bgndScan.setSelected(bg_sel_backup);
}
}
}
......@@ -8300,7 +8302,9 @@ public class QuadCLT {
threadsMax, // maximal number of threads to launch
updateStatus,
batch_mode ? -5: debugLevel);
if (texturePath == null) {
continue; // empty image
}
CLTPass3d scan = tp.clt_3d_passes.get(scanIndex);
// TODO: use new updated disparity, for now just what was forced for the picture
......@@ -8388,6 +8392,9 @@ public class QuadCLT {
double maxDispTriangle
) throws IOException
{
if (bounds == null) {
return;
}
int [][] indices = tp.getCoordIndices( // starting with 0, -1 - not selected
bounds,
selected);
......@@ -8683,6 +8690,10 @@ public class QuadCLT {
boolean [] borderTiles = scan.border_tiles;
double [][][][] texture_tiles = scan.texture_tiles;
scan.updateSelection(); // update .selected field (all selected, including border) and Rectangle bounds
if (scan.getTextureBounds() == null) {
System.out.println("getPassImage(): Empty image!");
return null;
}
double [][]alphaFade = tp.getAlphaFade(clt_parameters.transform_size);
if ((debugLevel > 0) && (scanIndex == 1)) {
String [] titles = new String[16];
......@@ -8754,6 +8765,9 @@ public class QuadCLT {
int width = resize ? (clt_parameters.transform_size * scan.getTextureBounds().width): (clt_parameters.transform_size * tilesX);
int height = resize ? (clt_parameters.transform_size * scan.getTextureBounds().height): (clt_parameters.transform_size * tilesY);
if ((width <= 0) || (height <= 0)) {
System.out.println("***** BUG in getPassImage(): width="+width+", height="+height+", resize="+resize+" ****");
}
ImagePlus imp_texture_cluster = linearStackToColor(
clt_parameters,
......
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