Commit 22872131 authored by Andrey Filippov's avatar Andrey Filippov
Browse files

Fixed no-tile (empty) meshes export

parent afd1853a
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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++) {
+5 −1
Original line number Diff line number Diff line
@@ -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;
+49 −35
Original line number Diff line number Diff line
@@ -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,