Tengo un modelo stl que consiste en un cubo que se calentó. Escribí un software que calcula la distribución de temperatura en cada punto/vóxel del cubo, por lo que es esencialmente como un mapa de calor donde el color azul es la región más fría y el color rojo es la región más cálida del cubo.
El usuario proporciona en cuántos vóxeles se dividirá el cubo y calcula la temperatura en cada vóxel del cubo. Esta información se me proporciona en un archivo hd5f que puedo convertir en una matriz numérica con 3 dimensiones que indica la temperatura en cada punto x, y, z. Actualmente estoy convirtiendo la matriz numpy en un archivo NRRD para mostrar en Three Js para que el usuario pueda ver la distribución de temperatura como se muestra en este ejemplo . En particular, estoy tratando de hacerlo giratorio, recortarlo para ver la distribución dentro del modelo y aplicar umbrales para mostrar valores de vóxel específicos.
Desafortunadamente, mis modelos stl pueden contener vóxeles con muchos valores grandes y pocos vóxeles con valores más pequeños. Si selecciono el renderizado mip (proyección de máxima intensidad), todos los valores grandes oscurecen los valores pequeños que no se verán. De manera similar, con el umbral iso, si configuro el umbral al mínimo, puedo ver todos mis vóxeles, pero los vóxeles de valor más alto oscurecerán los vóxeles de valor más bajo. Aumentar el umbral solo mostrará los vóxeles de mayor valor. Creo que sería muy útil para un usuario visualizar si tuviera la capacidad de proporcionar un límite inferior y un límite superior para mostrar valores de vóxeles específicos. Pero no estoy seguro de cómo se hace esto y si hay un mejor enfoque para mostrar volúmenes en el navegador para mostrar distribuciones.