`html
Ce document donne un aperçu d'Apache Sedona et Mitsuba 3, deux projets distincts axés respectivement sur l'informatique spatiale et le rendu. Apache Sedona est un puissant moteur de calcul spatial pour l'analyse de données à grande échelle, tandis que Mitsuba 3 est un système de rendu orienté recherche offrant des performances et une différentiabilité élevées. Les deux projets offrent une documentation complète et un soutien communautaire.
Rejoignez la communauté
Suivez Sedona sur Twitter pour des nouvelles fraîches : Sedona@Twitter
Rejoignez la communauté Discord de Sedona :
Rejoignez l'heure de bureau mensuelle de la communauté de Sedona : Google Agenda, les mardis de 8 h 00 à 9 h 00, heure du Pacifique, toutes les 4 semaines.
Sedona JIRA : bugs, demandes d'extraction et autres problèmes similaires
Listes de diffusion Sedona : [email protected] : développement de projets, questions générales ou tutoriels.
Qu’est-ce qu’Apache Sedona ?
Apache Sedona™ est un moteur de calcul spatial qui permet aux développeurs de traiter facilement des données spatiales à n'importe quelle échelle au sein de systèmes informatiques en cluster modernes tels qu'Apache Spark et Apache Flink.
Les développeurs de Sedona peuvent exprimer leurs tâches de traitement de données spatiales dans Spatial SQL, Spatial Python ou Spatial R. En interne, Sedona fournit des fonctionnalités de chargement, d'indexation, de partitionnement et de traitement/optimisation de requêtes qui permettent aux utilisateurs d'analyser efficacement les données spatiales à n'importe quelle échelle.
Caractéristiques
Certaines des fonctionnalités clés d'Apache Sedona incluent :
Ce sont quelques-unes des fonctionnalités clés d'Apache Sedona, mais il peut offrir des fonctionnalités supplémentaires en fonction de la version et de la configuration spécifiques.
Cliquez et jouez immédiatement au bloc-notes interactif Sedona Python Jupyter !
Quand utiliser Sedona ?
Cas d'utilisation :
Apache Sedona est un framework largement utilisé pour travailler avec des données spatiales, et il propose de nombreux cas d'utilisation et applications différents. Certains des principaux cas d'utilisation d'Apache Sedona incluent :
Exemple de code :
Cet exemple charge les enregistrements de trajets en taxi à New York et les informations sur les zones de taxi stockées sous forme de fichiers .CSV sur AWS S3 dans des trames de données spatiales Sedona. Il effectue ensuite une requête SQL spatiale sur les ensembles de données de trajets en taxi pour filtrer tous les enregistrements, à l'exception de ceux de la région de Manhattan à New York. L'exemple montre également une opération de jointure spatiale qui associe les enregistrements de trajets en taxi aux zones selon que le trajet en taxi se situe ou non dans l'étendue géographique de la zone. Enfin, le dernier extrait de code intègre la sortie de Sedona avec GeoPandas et trace la distribution spatiale des deux ensembles de données.
Charger les données de trajets en taxi et de zones de taxi à New York à partir de fichiers CSV stockés sur AWS S3
Requête SQL spatiale pour renvoyer uniquement les trajets en taxi à Manhattan
Jointure spatiale entre Taxi Dataframe et Zone Dataframe pour rechercher des taxis dans chaque zone
Afficher une carte des trames de données spatiales chargées à l'aide de GeoPandas
Image Docker
Nous fournissons une image Docker pour Apache Sedona avec Python JupyterLab et un cluster à nœud unique. Les images sont disponibles sur DockerHub
Bâtiment Sedona
Pour installer le package Python :
Pour compiler le code source, veuillez vous référer au site Web de Sedona
Modules dans le code source
Documentation
Veuillez visiter le site Web d'Apache Sedona pour des informations détaillées
Alimenté par
exemple:
Moteur de rendu Mitsuba 3
Documentation | Vidéos tutorielles | Linux | Mac OS | Fenêtres | PyPI |
---|---|---|---|---|---|
️
Avertissement
️
Il existe actuellement un grand nombre de travaux non documentés et instables en cours dans
la branche master
. Nous vous recommandons fortement d'utiliser notre
dernière version
jusqu'à nouvel ordre.
Si vous souhaitez déjà tester les modifications à venir, veuillez consulter
ce guide de portage.
Il devrait couvrir la plupart des nouvelles fonctionnalités et des modifications majeures à venir.
Introduction
Mitsuba 3 est un système de rendu orienté recherche pour la lumière directe et inverse
simulation de transport développée à l'EPFL en Suisse.
Il se compose d'une bibliothèque principale et d'un ensemble de plugins qui implémentent des fonctionnalités
allant des matériaux et sources de lumière aux algorithmes de rendu complets.
Mitsuba 3 est reciblable : cela signifie que les implémentations sous-jacentes et
les structures de données peuvent se transformer pour accomplir diverses tâches différentes. Pour
Par exemple, le même code peut simuler à la fois le transport RVB scalaire (classique un rayon à la fois)
ou transport spectral différentiel sur le GPU. Tout cela s'appuie sur
Dr.Jit, un compilateur spécialisé juste à temps (JIT) développé spécifiquement pour ce projet.
Principales caractéristiques
Multiplateforme : Mitsuba 3 a été testé sur Linux ( x86_64
), macOS
( aarch64
, x8664
) et Windows ( x8664
).
Hautes performances : le compilateur Dr.Jit sous-jacent fusionne le code de rendu
en noyaux qui atteignent des performances de pointe en utilisant
un backend LLVM ciblant le CPU et un backend CUDA/OptiX
ciblant les GPU NVIDIA avec l’accélération matérielle du lancer de rayons.
Python d'abord : Mitsuba 3 est profondément intégré à Python. Matériels,
des textures, et même des algorithmes de rendu complets peuvent être développés en Python,
que le système compile JIT (et éventuellement différencie) à la volée.
Cela permet l'expérimentation nécessaire à la recherche en infographie et
d'autres disciplines.
Différenciation : Mitsuba 3 est un moteur de rendu différenciable, ce qui signifie qu'il
peut calculer les dérivées de l'ensemble de la simulation par rapport à l'entrée
des paramètres tels que la pose de la caméra, la géométrie, les BSDF, les textures et les volumes. Il
implémente des algorithmes de rendu différenciables récents développés à l'EPFL.
Spectral & Polarisation : Mitsuba 3 peut être utilisé comme monochromatique
rendu, un rendu basé sur RVB ou un rendu spectral. Chaque variante peut
éventuellement tenir compte des effets de polarisation si vous le souhaitez.
Vidéos tutorielles, documentation
Nous avons enregistré plusieurs vidéos YouTube qui fournissent une introduction douce
Mitsuba 3 et Dr Jit. Au-delà de cela, vous pouvez trouver des cahiers Juypter complets
couvrant une variété d'applications, de guides pratiques et de documentation de référence
sur readthedocs.
Installation
Nous fournissons des roues binaires précompilées via PyPI. Installer Mitsuba de cette façon est aussi simple que d'exécuter
pip installer mitsuba
sur la ligne de commande. Le package Python comprend treize variantes par défaut :
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Les deux premiers effectuent une simulation classique d'un rayon à la fois en utilisant soit un RVB
ou représentation spectrale des couleurs, tandis que les deux derniers peuvent être utilisés pour l'inverse
rendu sur le CPU ou le GPU. Pour accéder à des variantes supplémentaires, vous devrez
compilez une version personnalisée de Dr.Jit à l'aide de CMake. Veuillez consulter le
documentation
pour plus de détails à ce sujet.
Exigences
Python >= 3.8
(facultatif) Pour le calcul sur le GPU : Nvidia driver >= 495.89
(facultatif) Pour le calcul vectorisé/parallèle sur le CPU : LLVM >= 11.1
Usage
Voici un exemple simple de « Hello World » qui montre à quel point il est simple de restituer un
scène utilisant Mitsuba 3 de Python :
# Importez la bibliothèque en utilisant l'alias "mi" import mitsuba as mi# Définir la variante du renderermi.setvariant('scalarrgb')# Charger une scènecene = mi.loaddict(mi.cornellbox())# Rendre la scèneimg = mi. render(scene)# Écrit l'image rendue dans un fichier EXR mi.Bitmap(img).write('cbox.exr')
Des didacticiels et des exemples de cahiers couvrant une variété d'applications peuvent être trouvés
dans la documentation.
À propos
Ce projet a été créé par Wenzel Jakob.
Des fonctionnalités et/ou améliorations importantes du code ont été apportées par
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy, et
Ziyi Zhang.
Lorsque vous utilisez Mitsuba 3 dans des projets académiques, veuillez citer :
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob et Sébastien Speierer et Nicolas Roussel et Merlin Nimier-David et Delio Vicini et Tizian Zeltner et Baptiste Nicolet et Miguel Crespo et Vincent Leroy et Ziyi Zhang},note = {https://mitsuba-renderer.org},version = {3.1.1},année = 2022}
`