Commit 355f5f36 by Simone Mastrogiovanni

### first push

parent 08dd932b
.DS_Store 0 → 100644
.gitattributes 0 → 100644
 *.stl filter=lfs diff=lfs merge=lfs -text
This diff is collapsed.
This diff is collapsed.
 #!/usr/bin/env python import sys import numpy import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import stl_tools import skimage.transform # Radius of region to cut out in middle cut_size = 180 # Load raw data print(sys.argv[1]) X, Y, Z = numpy.loadtxt(sys.argv[1], usecols=(0,1,2), unpack=True) # Reduce the max value of Z to the 2nd highest value, as the max value is in # fact junk, and skews the entire visual scale. #z_newmax, z_max = numpy.sort(numpy.unique(Z))[-2:] z_median = numpy.median(Z) #z_min = numpy.min(Z) #Z[Z==z_max] = z_newmax #Z[Z==z_max] = z_min # Determine grid values of x and y x_uniq = numpy.sort(numpy.unique(X)) y_uniq = numpy.sort(numpy.unique(Y)) # Build a rectangular grid in z by grabbing the values corresponding to each # x,y pair. z_grid = numpy.empty((len(x_uniq), len(y_uniq)), dtype=numpy.float64) for i, x in enumerate(x_uniq): for j, y in enumerate(y_uniq): if (x*x + y*y) <= cut_size: z_grid[i,j] = z_median else: z_grid[i,j] = Z[(X==x)&(Y==y)][0] fig, ax = plt.subplots() ax.contourf(x_uniq, y_uniq, z_grid) fig.savefig(sys.argv[1][:-3:]+'.png') # Scale image z_grid = skimage.transform.resize( z_grid, (200, 200), mode="constant", preserve_range=True, ) z_min, z_max = numpy.min(z_grid), numpy.max(z_grid) z_range = z_max - z_min z_grid -= z_min z_grid /= z_range stl_tools.numpy2stl(z_grid, sys.argv[1][:-3:]+'.stl', scale=50, solid=True)
 from pylab import imread from scipy.ndimage import gaussian_filter from stl_tools import numpy2stl import sys A = 256 * imread(sys.argv[1]) A = A[:, :, 2] + 1.0*A[:,:, 0] # Compose RGBA channels to give depth A = gaussian_filter(A, 1) # smoothing numpy2stl(A,sys.argv[1][:-3:]+'.stl', scale=0.05, mask_val=5., solid=True)
codes/prova.stl 0 → 100644 LFS