Tengo un punto de nube obtenido de la fotogrametría desde la espalda de una persona. Estoy tratando de interpolarlo para obtener una grilla regular, y para eso estoy usando scipy.interpolate
con buenos resultados hasta ahora. El problema es que la función que estoy usando (scipy.interpolate.griddata
) utiliza el casco convexo del punto de nube en el plano x, y, dando como resultado algunos valores que no existen en la superficie original, que tiene un perímetro cóncavo.Obtener solo puntos "válidos" en la interpolación 2D del punto de nube usando Scipy/Numpy
La siguiente ilustración muestra el punto de niebla original a la izquierda (lo que se muestra como líneas horizontales es en realidad una nube de puntos en forma de línea densa), el resultado que griddata
me da en el medio, y el resultado me gustaría llegar a la derecha - tipo de la "sombra" del punto de nube en el plano x, y, donde los puntos no existentes en la superficie original serían cero o Nans.
Sé que podría eliminar la coordenada Z del punto de turbidez y comprobar cada posición en la parrilla de proximidad, pero esto es por lo que la fuerza bruta, y creo que esto debería ser un problema común en las aplicaciones de nubes de puntos . Otra posibilidad podría ser alguna operación numpy para realizar sobre la nube de puntos, encontrar una máscara numpy o boolean 2D-array para "aplicar" sobre el resultado de griddata
, pero no encontré ninguna (estas operaciones son un poco más allá de mi Numpy/Scipy conocimiento).
¿Alguna sugerencia?
Gracias por leer!
he estado ocupado, pero su respuesta al leer ahora (que ya ha arañado mi cabeza mucho) tiene mucho sentido. Al final, estoy usando KDtree para realizar la interpolación de cada uno de los puntos de la grilla, haciendo esto: creo una grilla de NaN; Pruebo cada nodo de grilla, con kdtree, para la presencia de vecindad (ignorando la coordenada z del punto de nube); Si hay proximidad, interpola con Rbf (al final, la cuadrícula no era tan buena para este problema), y asigna el resultado al nodo correspondiente de la salida. – heltonbiker