docs: public void render( List<T> cameraImages ) {
  		if( cameraImages.size() != cameras.size())
  			throw new IllegalArgumentException("Input camera image count doesn't equal the expected number");
  
  		// avoid divide by zero errors by initializing it to a small non-zero value
  		GImageMiscOps.fill(weightImage,1e-4);
  		GImageMiscOps.fill(averageImage,0);
  
  		for (int i = 0; i < cameras.size(); i++) {
  			Camera c = cameras.get(i);
  			T cameraImage = cameraImages.get(i);
  
  			distort.setModel(c.equiToCamera);
  			distort.apply(cameraImage,cameraRendered);
  
  			/// sum up the total weight for each pixel
  			PixelMath.add(weightImage,c.mask,weightImage);
  
  			// apply the weight for this image to the rendered image
  			GPixelMath.multiply(c.mask,cameraRendered,workImage);
  
  			// add the result to the average image
  			GPixelMath.add(workImage, averageImage, averageImage);
  		}
  
  		// comput the final output by dividing
  		GPixelMath.divide(averageImage,weightImage,averageImage);
  	}