`html
Este documento proporciona una descripción general de Apache Sedona y Mitsuba 3, dos proyectos distintos que se centran en la computación espacial y la representación, respectivamente. Apache Sedona es un potente motor de computación espacial para análisis de datos a gran escala, mientras que Mitsuba 3 es un sistema de renderizado orientado a la investigación que ofrece alto rendimiento y diferenciabilidad. Ambos proyectos ofrecen amplia documentación y soporte comunitario.
Únete a la comunidad
Siga a Sedona en Twitter para obtener nuevas noticias: Sedona@Twitter
Únase a la comunidad de Sedona Discord:
Únase al horario de oficina mensual de la comunidad de Sedona: Google Calendar, los martes de 8 a. m. a 9 a. m., hora del Pacífico, cada 4 semanas
Sedona JIRA: errores, solicitudes de extracción y otros problemas similares
Listas de correo de Sedona: [email protected]: desarrollo de proyectos, preguntas generales o tutoriales.
¿Qué es Apache Sedona?
Apache Sedona™ es un motor de computación espacial que permite a los desarrolladores procesar fácilmente datos espaciales a cualquier escala dentro de sistemas informáticos de clúster modernos como Apache Spark y Apache Flink.
Los desarrolladores de Sedona pueden expresar sus tareas de procesamiento de datos espaciales en Spatial SQL, Spatial Python o Spatial R. Internamente, Sedona proporciona funciones de carga, indexación, partición y procesamiento/optimización de consultas de datos espaciales que permiten a los usuarios analizar de manera eficiente datos espaciales a cualquier escala.
Características
Algunas de las características clave de Apache Sedona incluyen:
Estas son algunas de las características clave de Apache Sedona, pero puede ofrecer capacidades adicionales según la versión y configuración específicas.
¡Haga clic y reproduzca inmediatamente el Sedona Python Jupyter Notebook interactivo!
¿Cuándo utilizar Sedona?
Casos de uso:
Apache Sedona es un marco ampliamente utilizado para trabajar con datos espaciales y tiene muchos casos de uso y aplicaciones diferentes. Algunos de los principales casos de uso de Apache Sedona incluyen:
Ejemplo de código:
Este ejemplo carga registros de viajes en taxi de Nueva York e información de zonas de taxi almacenadas como archivos .CSV en AWS S3 en marcos de datos espaciales de Sedona. Luego realiza una consulta SQL espacial en los conjuntos de datos de viajes en taxi para filtrar todos los registros excepto aquellos dentro del área de Manhattan de Nueva York. El ejemplo también muestra una operación de unión espacial que relaciona registros de viajes en taxi con zonas en función de si el viaje en taxi se encuentra dentro de la extensión geográfica de la zona. Finalmente, el último fragmento de código integra la salida de Sedona con GeoPandas y traza la distribución espacial de ambos conjuntos de datos.
Cargue datos de zonas de taxi y viajes en taxi de Nueva York desde archivos CSV almacenados en AWS S3
Consulta SQL espacial para devolver solo viajes en taxi en Manhattan
Unión espacial entre el marco de datos de taxi y el marco de datos de zona para encontrar taxis en cada zona
Mostrar un mapa de los marcos de datos espaciales cargados usando GeoPandas
imagen acoplable
Proporcionamos una imagen de Docker para Apache Sedona con Python JupyterLab y un clúster de un solo nodo. Las imágenes están disponibles en DockerHub.
Edificio Sedona
Para instalar el paquete Python:
Para compilar el código fuente, consulte el sitio web de Sedona.
Módulos en el código fuente.
Documentación
Visite el sitio web de Apache Sedona para obtener información detallada.
Desarrollado por
ejemplo:
Renderizador Mitsuba 3
Documentación | Vídeos tutoriales | linux | Mac OS | ventanas | PyPI |
---|---|---|---|---|---|
️
Advertencia
️
Actualmente hay una gran cantidad de trabajo indocumentado e inestable en
la rama master
. Le recomendamos encarecidamente que utilice nuestro
último lanzamiento
hasta nuevo aviso.
Si ya desea probar los próximos cambios, eche un vistazo a
esta guía de portabilidad.
Debería cubrir la mayoría de las nuevas funciones y los cambios importantes que se avecinan.
Introducción
Mitsuba 3 es un sistema de renderizado de luz directa e inversa orientado a la investigación
Simulación de transporte desarrollada en EPFL en Suiza.
Consiste en una biblioteca central y un conjunto de complementos que implementan funciones.
que van desde materiales y fuentes de luz hasta algoritmos de renderizado completos.
Mitsuba 3 es reorientable : esto significa que las implementaciones subyacentes y
Las estructuras de datos pueden transformarse para realizar varias tareas diferentes. Para
Por ejemplo, el mismo código puede simular transporte RGB escalar (clásico de un rayo a la vez)
o transporte espectral diferencial en la GPU. Todo esto se basa en
Dr.Jit, un compilador especializado justo a tiempo (JIT) desarrollado específicamente para este proyecto.
Características principales
Multiplataforma : Mitsuba 3 ha sido probado en Linux ( x86_64
), macOS
( aarch64
, x8664
) y Windows ( x8664
).
Alto rendimiento : el compilador Dr.Jit subyacente fusiona el código de renderizado
en núcleos que logran un rendimiento de última generación utilizando
un backend LLVM dirigido a la CPU y un backend CUDA/OptiX
dirigido a GPU NVIDIA con aceleración de hardware de trazado de rayos.
Python primero : Mitsuba 3 está profundamente integrado con Python. materiales,
Se pueden desarrollar texturas e incluso algoritmos de renderizado completos en Python.
que el sistema compila JIT (y opcionalmente diferencia) sobre la marcha.
Esto permite la experimentación necesaria para la investigación en gráficos por ordenador y
otras disciplinas.
Diferenciación : Mitsuba 3 es un renderizador diferenciable, lo que significa que
Puede calcular derivadas de toda la simulación con respecto a la entrada.
parámetros como la pose de la cámara, la geometría, los BSDF, las texturas y los volúmenes. Él
implementa algoritmos de representación diferenciables recientes desarrollados en EPFL.
Espectral y polarización : Mitsuba 3 se puede utilizar como monocromático
renderizador, renderizador basado en RGB o renderizador espectral. Cada variante puede
Opcionalmente, tenga en cuenta los efectos de la polarización si se desea.
Vídeos tutoriales, documentación.
Hemos grabado varios vídeos de YouTube que proporcionan una suave introducción.
Mitsuba 3 y Dr.Jit. Más allá de esto puedes encontrar cuadernos Juypter completos.
que cubre una variedad de aplicaciones, guías prácticas y documentación de referencia
en readthedocs.
Instalación
Proporcionamos ruedas binarias precompiladas a través de PyPI. Instalar Mitsuba de esta manera es tan sencillo como ejecutar
instalar pip mitsuba
en la línea de comando. El paquete Python incluye trece variantes por defecto:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Los dos primeros realizan la simulación clásica de un rayo a la vez usando un RGB
o representación de color espectral, mientras que los dos últimos se pueden utilizar para representación inversa.
renderizado en la CPU o GPU. Para acceder a variantes adicionales, deberá
compilar una versión personalizada de Dr.Jit usando CMake. Por favor vea el
documentación
para obtener detalles sobre esto.
Requisitos
Python >= 3.8
(opcional) Para cálculo en la GPU: Nvidia driver >= 495.89
(opcional) Para cálculo vectorizado/paralelo en la CPU: LLVM >= 11.1
Uso
A continuación se muestra un ejemplo sencillo de "Hola mundo" que muestra lo sencillo que es representar un
escena usando Mitsuba 3 de Python:
# Importar la biblioteca usando el alias "mi" importar mitsuba como mi # Establecer la variante de renderermi.setvariant('scalarrgb')# Cargar una escena = mi.loaddict(mi.cornellbox())# Renderizar la escenaimg = mi. render(scene)# Escribe la imagen renderizada en un archivo EXRmi.Bitmap(img).write('cbox.exr')
Se pueden encontrar tutoriales y cuadernos de ejemplo que cubren una variedad de aplicaciones.
en la documentación.
Acerca de
Este proyecto fue creado por Wenzel Jakob.
Funciones y/o mejoras significativas al código fueron aportadas por
Sébastien Speierer,
Nicolás Roussel,
Merlín Nimier-David,
Delio Vicini,
Tizian Zeltner,
Bautista Nicolet,
Miguel Crespo,
Vicente Leroy y
Ziyi Zhang.
Cuando utilice Mitsuba 3 en proyectos académicos, cite:
@software{Mitsuba3,title = {Mitsuba 3 renderer},autor = {Wenzel Jakob y Sébastien Speierer y Nicolas Roussel y Merlin Nimier-David y Delio Vicini y Tizian Zeltner y Baptiste Nicolet y Miguel Crespo y Vincent Leroy y Ziyi Zhang},nota = {https://mitsuba-renderer.org},versión = {3.1.1},año = 2022}
`