Software de visualización científica
ParaView es una aplicación multiplataforma de código abierto para visualización científica interactiva . Tiene una arquitectura cliente-servidor para facilitar la visualización remota de conjuntos de datos y genera modelos de nivel de detalle (LOD) para mantener velocidades de fotogramas interactivas para grandes conjuntos de datos. Es una aplicación construida sobre las bibliotecas de Visualization Toolkit (VTK) . ParaView es una aplicación diseñada para el paralelismo de datos en clústeres y multicomputadoras con memoria compartida o distribuida. También se puede ejecutar como una aplicación de una sola computadora.
Resumen
ParaView es una aplicación de visualización y análisis de datos multiplataforma de código abierto . ParaView es conocido y utilizado en muchas comunidades diferentes para analizar y visualizar conjuntos de datos científicos. [2] Se puede utilizar para crear visualizaciones para analizar datos utilizando técnicas cualitativas y cuantitativas. La exploración de datos se puede realizar de forma interactiva en 3D o mediante programación utilizando las capacidades de procesamiento por lotes de ParaView. [3]
ParaView fue desarrollado para analizar conjuntos de datos extremadamente grandes utilizando recursos informáticos de memoria distribuida. Se puede ejecutar en supercomputadoras para analizar conjuntos de datos de teraescala , así como en computadoras portátiles para datos más pequeños. [3]
ParaView es un marco de aplicación y una aplicación llave en mano. La base del código ParaView está diseñada de tal manera que todos sus componentes se pueden reutilizar para desarrollar rápidamente aplicaciones verticales. Esta flexibilidad permite a los desarrolladores de ParaView desarrollar rápidamente aplicaciones que tienen una funcionalidad específica para un dominio de problema específico.
ParaView se ejecuta en sistemas de procesador único y paralelo de memoria compartida y distribuida. Se ha probado con éxito en Windows , macOS , Linux , IBM Blue Gene, Cray Xt3 y varias estaciones de trabajo , clústeres y supercomputadoras Unix . Bajo el capó, ParaView utiliza Visualization Toolkit (VTK) como motor de procesamiento y renderizado de datos y tiene una interfaz de usuario escrita con Qt.
Los objetivos del equipo de ParaView incluyen los siguientes:
- Desarrollar una aplicación de visualización multiplataforma de código abierto.
- Admite modelos de computación distribuida para procesar grandes conjuntos de datos.
- Cree una interfaz de usuario abierta, flexible e intuitiva.
- Desarrollar una arquitectura extensible basada en estándares abiertos.
Historia
El proyecto ParaView comenzó en 2000 [4] como un esfuerzo de colaboración entre Kitware, Inc. y el Laboratorio Nacional de Los Alamos a través de financiación proporcionada por el programa ASCI Views del Departamento de Energía de EE. UU. El primer lanzamiento público se anunció en octubre de 2002.
Independiente de ParaView, Kitware desarrolló un sistema de visualización basado en web en diciembre de 2001. Este proyecto fue financiado por los SBIR de Fase I y II del Laboratorio de Investigación del Ejército de EE. UU . y finalmente se convirtió en ParaView Enterprise Edition. PVEE contribuyó significativamente al desarrollo de la arquitectura cliente/servidor de ParaView.
En septiembre de 2005, Kitware, Sandia National Labs y CSimSoft (ahora Coreform LLC) iniciaron el desarrollo de ParaView 3.0. [5] ParaView 3.0 se lanzó en mayo de 2007. En junio de 2013, se lanzó ParaView 4.0, esta versión se basó en VTK 6.0. [6] La versión 5.0 se lanzó en enero de 2016, esta versión incluía un nuevo back-end de renderizado. [7]
Características
Capacidades de visualización
- Maneja tipos de datos estructurados (cuadrículas rectilíneas uniformes, rectilíneas no uniformes y curvilíneas), no estructurados, poligonales, de imagen, multibloque y AMR.
- Todas las operaciones de procesamiento (filtros) producen conjuntos de datos. Esto permite al usuario procesar aún más el resultado de cada operación o los resultados como un archivo de datos. Por ejemplo, el usuario puede extraer una superficie de corte, reducir el número de puntos en esta superficie enmascarando y aplicar glifos (es decir, flechas vectoriales) al resultado.
- Los campos de vectores se pueden inspeccionar aplicando glifos (flechas, conos, líneas, esferas y varios glifos 2D) a los puntos de un conjunto de datos. Los glifos se pueden escalar mediante escalares, componentes vectoriales o magnitudes vectoriales y se pueden orientar mediante un campo vectorial.
- Se pueden extraer contornos e isosuperficies de todo tipo de datos utilizando escalares o componentes vectoriales. Los resultados pueden colorearse con cualquier otra variable o procesarse más. Cuando es posible, los contornos/isosuperficies de datos estructurados se extraen con algoritmos rápidos y eficientes que hacen uso del diseño de datos eficiente.
- Se puede extraer una subregión de un conjunto de datos cortando o recortando con un plano arbitrario (todos los tipos de datos), especificando un criterio de umbral para excluir celdas (todos los tipos de datos) y/o especificando un VOI (volumen de interés - tipos de datos estructurados). solo).
- Las líneas de corriente se pueden generar utilizando integradores adaptativos o de paso constante. Los resultados se pueden mostrar como puntos, líneas, tubos, cintas, etc., y se pueden procesar mediante multitud de filtros. Las rutas de partículas se pueden extraer de conjuntos de datos temporales.
- Los puntos en un conjunto de datos se pueden deformar (desplazar) con escalares (dado un vector de desplazamiento definido por el usuario) o con vectores (no disponibles para cuadrículas rectilíneas no lineales).
- Con la calculadora de matrices, se pueden calcular nuevas variables utilizando matrices de puntos o campos de celdas existentes. Se admiten una multitud de operaciones escalares y vectoriales.
- El procesamiento de datos avanzado se puede realizar utilizando el filtro programable de Python con VTK, NumPy, SciPy y otros módulos de Python.
- Los datos se pueden sondear en un punto o a lo largo de una línea. Los resultados se muestran gráficamente o como texto y se pueden exportar para su posterior análisis. Los datos también se pueden extraer a lo largo del tiempo (incluida información estadística como mínima, máxima y desviación estándar).
- Los datos se pueden inspeccionar cuantitativamente utilizando el potente mecanismo de selección y la vista de hoja de cálculo: el mecanismo de selección permite al usuario centrarse en un subconjunto importante de un conjunto de datos mediante la selección interactiva seleccionando un punto o seleccionando un área rectangular, así como mecanismos de selección cuantitativa.
- La vista de hoja de cálculo permite al usuario inspeccionar todo el conjunto de datos o el subconjunto seleccionado como números sin procesar.
- ParaView proporciona muchas otras fuentes de datos y filtros de forma predeterminada. Se puede agregar cualquier fuente o filtro VTK proporcionando una descripción XML simple .
Entrada/salida y formato de archivo
- Admite una variedad de formatos de archivo que incluyen: VTK (nuevo y heredado, todos los tipos, incluidos paralelo, ASCII y binario, se pueden leer y escribir).
- EnSight 6 y EnSight Gold (todos los tipos, incluidos paralelo, ASCII y binario; se admiten varias piezas; cada pieza se carga por separado y se puede procesar individualmente) (solo lectura).
- CGNS (soporte para bloques múltiples, soluciones inestables y deformación de malla, basado en formato de bajo nivel HDF5 ) (solo lectura).
- Varios formatos de archivos poligonales, incluidos STL y BYU (de forma predeterminada, solo lectura, se pueden agregar otros escritores VTK escribiendo una descripción XML).
- Se admiten muchos otros formatos de archivo.
- Se puede agregar cualquier fuente o filtro VTK proporcionando una descripción XML simple (VTK proporciona muchos lectores).
- Dado que ParaView es de código abierto, el usuario puede proporcionar sus propios lectores y escritores.
La interacción del usuario
- Interfaz intuitiva y flexible basada en el marco de aplicación Qt.
- Permite cambiar los parámetros de muchos filtros interactuando directamente con la vista 3D utilizando widgets 3D (manipuladores). Por ejemplo, el usuario puede manipular la línea inicial de un filtro optimizado haciendo clic en un punto de control y arrastrando la línea a la nueva ubicación.
- Diseño de interfaz de usuario compacto. De forma predeterminada, todas las herramientas importantes se encuentran en la ventana principal. Esto elimina la necesidad de una gran cantidad de ventanas que a menudo son difíciles de ubicar en un escritorio desordenado. También es posible eliminar a los inspectores de la ventana principal.
- Mantiene velocidades de fotogramas interactivas incluso cuando se trabaja con grandes datos mediante el uso de modelos de nivel de detalle (LOD). El usuario determina el umbral (número de puntos) más allá del cual se muestra una versión reducida del modelo durante la interacción (el tamaño del modelo también se puede ajustar). Una vez finalizada la interacción, se renderiza el modelo grande.
Grandes datos y computación distribuida
- Se ejecuta en paralelo en sistemas de memoria distribuida y compartida utilizando MPI. Estos incluyen grupos de estaciones de trabajo, sistemas de visualización, grandes servidores, supercomputadoras, etc.
- La interfaz de usuario se ejecuta en una computadora separada usando el modo cliente/servidor.
- ParaView utiliza el modelo de datos paralelos en el que los datos se dividen en partes para ser procesados por diferentes procesos. La mayoría de los algoritmos de visualización funcionan sin ningún cambio cuando se ejecutan en paralelo. ParaView también admite niveles fantasma utilizados para producir resultados invariantes por pieza. Los niveles fantasma son puntos/celdas compartidos entre procesos y son utilizados por algoritmos que requieren información de vecindad.
- Admite renderizado distribuido (donde los resultados se representan en cada nodo y se componen posteriormente utilizando el búfer de profundidad), renderizado local (donde los polígonos resultantes se recopilan en un nodo y se representan localmente) y una combinación de ambos (por ejemplo, el nivel- Los modelos sin detalle se pueden renderizar localmente, mientras que el modelo completo se renderiza de forma distribuida). Esto proporciona una representación escalable para datos de gran tamaño sin sacrificar el rendimiento cuando se trabaja con datos más pequeños.
- El renderizado distribuido y la visualización en mosaico se realizan utilizando la biblioteca Ice-T de Sandia.
Scripting y extensibilidad
- ParaView es totalmente programable utilizando el sencillo pero potente lenguaje Python. Se puede acceder completamente al motor de datos de ParaView, llamado administrador del servidor, a través de la interfaz de Python. Todos los cambios realizados en el motor a través de Python se reflejan automáticamente en la interfaz de usuario.
- ParaView se puede ejecutar como una aplicación por lotes utilizando la interfaz Python. Se ha ejecutado con éxito en supercomputadoras, incluidas IBM Blue Gene y Cray Xt3, utilizando el modo por lotes. [8]
- El procesamiento de datos distribuidos se puede realizar en Python utilizando el filtro programable de Python. Este filtro funciona perfectamente con NumPy y SciPy.
- Se pueden agregar módulos adicionales escribiendo una descripción XML de la interfaz o escribiendo clases C++ . La interfaz XML permite a los usuarios/desarrolladores agregar sus propios filtros VTK a ParaView sin escribir ningún código especial y/o volver a compilar. [9] [10]
ParaView en uso
- En 2005, Sandia National Laboratories , Nvidia y Kitware publicaron múltiples comunicados de prensa sobre el trabajo de visualización y renderizado escalable realizado en ParaView. Los lanzamientos anunciaron avances en el rendimiento escalable al alcanzar tasas de renderizado de más de 8 mil millones de polígonos por segundo utilizando ParaView. [11]
- ParaView se utiliza como plataforma de visualización para el software de modelado OpenFOAM . [12]
- Curso de visualización en las ciencias de la Universidad de Carolina del Norte en Chapel Hill . [13]
- El Centro Nacional de Ciencias Computacionales del Laboratorio Nacional Oak Ridge utiliza ParaView para visualizar grandes conjuntos de datos. [8]
- SimScale utiliza ParaView como alternativa a su entorno de posprocesamiento integrado y ofrece varios tutoriales y seminarios web sobre posprocesamiento con ParaView. [14] [15] [16]
- La caja de herramientas de simulación FEATool Multiphysics ofrece exportación con un solo clic a gráficos web interactivos de ParaView Glance. [17]
Simulación de propagación global de ondas sísmicas.
Visualización de vórtices
ParaView: ver un mapa mundial
Desplazamiento en la dirección x debido a una fuerza puntual unitaria colocada sobre un medio espacio
Esfuerzo axial para una viga en voladizo.
Ver también
Referencias
- ^ ab "Etiquetas · ParaView / ParaView · GitLab" . Consultado el 7 de septiembre de 2022 .
- ^ Niklas Röber (6 de agosto de 2014). Tutorial de Paraview para la ciencia del clima (PDF) . DKRZ, Deutsches Klimarechenzentrum. Archivado desde el original (PDF) el 10 de marzo de 2016 . Consultado el 8 de marzo de 2016 .
- ^ ab Utkarsh Ayachit (22 de enero de 2015). La guía de ParaView: una aplicación de visualización paralela (PDF) . Kitware, Inc. ISBN 978-1930934306. Consultado el 8 de marzo de 2016 .
- ^ Kitware (10 de marzo de 2000). "Kitware firma contrato para desarrollar herramientas de procesamiento paralelo" . Consultado el 8 de marzo de 2016 .
- ^ Kitware (13 de marzo de 2007). "Lanzamiento alfa de ParaView III" . Consultado el 8 de marzo de 2016 .
- ↑ Kitware (17 de junio de 2013). "ParaView 4.0.1 disponible para descargar" . Consultado el 11 de octubre de 2016 .
- ↑ Kitware (12 de enero de 2016). "ParaView 5.0.0 disponible para descargar" . Consultado el 11 de octubre de 2016 .
- ^ ab Centro Nacional de Ciencias Computacionales del Laboratorio Nacional Oak Ridge (16 de enero de 2016). "Ejecutando ParaView en Titán" . Consultado el 8 de marzo de 2016 .
- ↑ Kitware (13 de noviembre de 2015). "Cómo realizar ParaView/Plugin" . Consultado el 8 de marzo de 2016 .
- ↑ Kitware (22 de agosto de 2012). "ParaView/Extensión de ParaView en tiempo de compilación" . Consultado el 8 de marzo de 2016 .
- ^ David Higham (17 de marzo de 2005). "Sandia National Labs logra un rendimiento innovador utilizando la tecnología NVIDIA para la visualización científica" . Consultado el 8 de marzo de 2016 .
- ^ OpenCFD Ltd (Grupo ESI) (13 de enero de 2016). "OpenFOAM® v3.0+: nueva funcionalidad de posprocesamiento". Archivado desde el original el 29 de enero de 2016 . Consultado el 8 de marzo de 2016 .
- ^ Russell Taylor. "Comp/Phys/Mtsc 715, Visualización en las ciencias" . Consultado el 8 de marzo de 2016 .
- ^ "Postprocesamiento a través de una solución de terceros: documentación de SimScale". www.simscale.com . Consultado el 15 de enero de 2018 .
- ^ SimScale GmbH (8 de marzo de 2016), seminario web | Postprocesamiento en línea con SimScale , consultado el 15 de enero de 2018
- ^ "Postprocesamiento con ParaView para Formula Student". Escala Sim . Consultado el 15 de enero de 2018 .
- ^ "Galería de ejemplos de vistazo de FEATool Multiphysics ParaView". www.feattool.com . Consultado el 24 de abril de 2019 .
enlaces externos
- Uso de Paraview en diferentes áreas.
- Galería ParaView
- Publicaciones ParaView
- Página de Flickr de visualizaciones de Paraview
- Vídeos de kitware en Vimeo