`html
Este documento fornece uma visão geral do Apache Sedona e do Mitsuba 3, dois projetos distintos com foco em computação espacial e renderização, respectivamente. Apache Sedona é um poderoso mecanismo de computação espacial para análise de dados em grande escala, enquanto Mitsuba 3 é um sistema de renderização orientado para pesquisa que oferece alto desempenho e diferenciabilidade. Ambos os projetos oferecem ampla documentação e suporte da comunidade.
Junte-se à comunidade
Siga Sedona no Twitter para novidades: Sedona@Twitter
Junte-se à comunidade Sedona Discord:
Participe do horário comercial mensal da comunidade de Sedona: Google Agenda, terças-feiras, das 8h às 9h, horário do Pacífico, a cada 4 semanas
Sedona JIRA: Bugs, solicitações pull e outros problemas semelhantes
Listas de discussão de Sedona: [email protected]: desenvolvimento de projetos, dúvidas gerais ou tutoriais.
O que é Apache Sedona?
Apache Sedona™ é um mecanismo de computação espacial que permite aos desenvolvedores processar facilmente dados espaciais em qualquer escala em sistemas modernos de computação em cluster, como Apache Spark e Apache Flink.
Os desenvolvedores de Sedona podem expressar suas tarefas de processamento de dados espaciais em Spatial SQL, Spatial Python ou Spatial R. Internamente, Sedona fornece carregamento de dados espaciais, indexação, particionamento e funcionalidade de processamento/otimização de consulta que permite aos usuários analisar dados espaciais com eficiência em qualquer escala.
Características
Alguns dos principais recursos do Apache Sedona incluem:
Esses são alguns dos principais recursos do Apache Sedona, mas podem oferecer recursos adicionais dependendo da versão e configuração específicas.
Clique e jogue o Sedona Python Jupyter Notebook interativo imediatamente!
Quando usar Sedona?
Casos de uso:
Apache Sedona é uma estrutura amplamente utilizada para trabalhar com dados espaciais e possui muitos casos de uso e aplicativos diferentes. Alguns dos principais casos de uso do Apache Sedona incluem:
Exemplo de código:
Este exemplo carrega registros de viagens de táxi em Nova York e informações sobre zonas de táxi armazenadas como arquivos .CSV no AWS S3 em dataframes espaciais de Sedona. Em seguida, ele executa consultas SQL espaciais nos conjuntos de dados de viagens de táxi para filtrar todos os registros, exceto aqueles dentro da área de Manhattan, em Nova York. O exemplo também mostra uma operação de junção espacial que corresponde registros de viagens de táxi a zonas com base no fato de a viagem de táxi estar dentro das extensões geográficas da zona. Finalmente, o último trecho de código integra a saída do Sedona com o GeoPandas e traça a distribuição espacial de ambos os conjuntos de dados.
Carregue dados de viagens de táxi e zonas de táxi em Nova York a partir de arquivos CSV armazenados no AWS S3
Consulta SQL espacial para retornar apenas viagens de táxi em Manhattan
Junção espacial entre Taxi Dataframe e Zone Dataframe para encontrar táxis em cada zona
Mostre um mapa dos Dataframes Espaciais carregados usando GeoPandas
Imagem do Docker
Fornecemos uma imagem Docker para Apache Sedona com Python JupyterLab e um cluster de nó único. As imagens estão disponíveis no DockerHub
Edifício Sedona
Para instalar o pacote Python:
Para compilar o código-fonte, consulte o site de Sedona
Módulos no código-fonte
Documentação
Visite o site do Apache Sedona para obter informações detalhadas
Distribuído por
exemplo:
Renderizador Mitsuba 3
Documentação | Vídeos tutoriais | Linux | Mac OS | Windows | PyPI |
---|---|---|---|---|---|
️
Aviso
️
Actualmente existe uma grande quantidade de trabalho indocumentado e instável em curso no
o ramo master
. É altamente recomendável que você use nosso
último lançamento
até novo aviso.
Se você já deseja experimentar as próximas mudanças, dê uma olhada em
este guia de portabilidade.
Deve cobrir a maioria dos novos recursos e mudanças importantes que estão por vir.
Introdução
Mitsuba 3 é um sistema de renderização orientado para pesquisa para luz direta e inversa
simulação de transporte desenvolvida na EPFL na Suíça.
Consiste em uma biblioteca principal e um conjunto de plug-ins que implementam funcionalidades
variando de materiais e fontes de luz a algoritmos de renderização completos.
Mitsuba 3 é redirecionável : isso significa que as implementações subjacentes e
estruturas de dados podem ser transformadas para realizar várias tarefas diferentes. Para
Por exemplo, o mesmo código pode simular transporte RGB escalar (clássico de um raio por vez)
ou transporte espectral diferencial na GPU. Tudo isso se baseia
Dr.Jit, um compilador just-in-time (JIT) especializado desenvolvido especificamente para este projeto.
Principais recursos
Plataforma cruzada : Mitsuba 3 foi testado em Linux ( x86_64
), macOS
( aarch64
, x8664
) e Windows ( x8664
).
Alto desempenho : o compilador Dr.Jit subjacente funde o código de renderização
em kernels que alcançam desempenho de última geração usando
um back-end LLVM direcionado à CPU e um back-end CUDA/OptiX
visando GPUs NVIDIA com aceleração de hardware de rastreamento de raio.
Python primeiro : Mitsuba 3 está profundamente integrado ao Python. Materiais,
texturas e até mesmo algoritmos de renderização completos podem ser desenvolvidos em Python,
que o sistema compila JIT (e opcionalmente diferencia) em tempo real.
Isso permite a experimentação necessária para pesquisas em computação gráfica e
outras disciplinas.
Diferenciação : Mitsuba 3 é um renderizador diferenciável, o que significa que
pode calcular derivadas de toda a simulação em relação à entrada
parâmetros como pose de câmera, geometria, BSDFs, texturas e volumes. Isto
implementa algoritmos de renderização diferenciáveis recentes desenvolvidos na EPFL.
Espectral e Polarização : Mitsuba 3 pode ser usado como monocromático
renderizador, renderizador baseado em RGB ou renderizador espectral. Cada variante pode
opcionalmente, considere os efeitos da polarização, se desejado.
Vídeos tutoriais, documentação
Gravamos vários vídeos no YouTube que fornecem uma introdução gentil
Mitsuba 3 e Dr.Jit. Além disso você pode encontrar notebooks Juypter completos
cobrindo uma variedade de aplicações, guias de instruções e documentação de referência
em readthedocs.
Instalação
Fornecemos rodas binárias pré-compiladas via PyPI. Instalar o Mitsuba desta forma é tão simples quanto executar
pip instalar mitsuba
na linha de comando. O pacote Python inclui treze variantes por padrão:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Os dois primeiros realizam simulação clássica de um raio por vez usando um RGB
ou representação espectral de cores, enquanto os dois últimos podem ser usados para representação inversa
renderização na CPU ou GPU. Para acessar variantes adicionais, você precisará
compilar uma versão personalizada do Dr.Jit usando CMake. Por favor veja o
documentação
para obter detalhes sobre isso.
Requisitos
Python >= 3.8
(opcional) Para computação na GPU: Nvidia driver >= 495.89
(opcional) Para computação vetorizada/paralela na CPU: LLVM >= 11.1
Uso
Aqui está um exemplo simples de "Hello World" que mostra como é simples renderizar um
cena usando Mitsuba 3 do Python:
# Importe a biblioteca usando o alias "mi"import mitsuba as mi# Defina a variante do renderermi.setvariant('scalarrgb')# Carregue uma scenecene = mi.loaddict(mi.cornellbox())# Renderize a cenaimg = mi. render(scene)# Grave a imagem renderizada em um arquivo EXRmi.Bitmap(img).write('cbox.exr')
Tutoriais e cadernos de exemplo cobrindo uma variedade de aplicações podem ser encontrados
na documentação.
Sobre
Este projeto foi criado por Wenzel Jakob.
Recursos e/ou melhorias significativas no código foram contribuídos por
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vicente Leroy e
Zi Yi Zhang.
Ao usar o Mitsuba 3 em projetos acadêmicos, cite:
@software{Mitsuba3,title = {mitsuba 3 renderer},author = {Wenzel Jakob e Sébastien Speierer e Nicolas Roussel e Merlin Nimier-David e Delio Vicini e Tizian Zeltner e Baptiste Nicolet e Miguel Crespo e Vincent Leroy e Ziyi Zhang},nota = {https://mitsuba-renderer.org},versão = {3.1.1},ano = 2022}
`