Calculate the gradient for each face, normalize it, and orient the face counterclockwise around the descent of said gradient vector. It would require some pretty heavy modification, but might be worth it. On the other hand, you could potentially hack in a fix (depends on how the STL package works) much easier by making the output double sided. A double-sided mesh has each face twice, covering both orientations This way you'd just append `faces` to itself, reverse indexing to flip the orientation of each face, e.g. ``` python import numpy as np from skimage.measure import marching_cubes verts, faces = marching_cubes(vol, value) faces = np.concatenate((faces, faces[:, -1], axis=0) # Remainder of STL export code for faces here ``` Which would be *far, far* simpler and less computationally intense than dealing with the gradients... Would you mind trying this quick fix, Janto? On Wednesday, January 8, 2014 6:35:28 PM UTC-6, Stefan van der Walt wrote:
Josh, you said you had some ideas on how to add this--could you expand?