`html
Dokumen ini memberikan gambaran umum tentang Apache Sedona dan Mitsuba 3, dua proyek berbeda yang masing-masing berfokus pada komputasi spasial dan rendering. Apache Sedona adalah mesin komputasi spasial yang kuat untuk analisis data skala besar, sedangkan Mitsuba 3 adalah sistem rendering berorientasi penelitian yang menawarkan kinerja dan diferensiasi tinggi. Kedua proyek tersebut menawarkan dokumentasi ekstensif dan dukungan komunitas.
Bergabunglah dengan komunitas
Ikuti Sedona di Twitter untuk berita terbaru: Sedona@Twitter
Bergabunglah dengan komunitas Perselisihan Sedona:
Bergabunglah dengan jam kerja komunitas bulanan Sedona: Google Kalender, Selasa mulai pukul 08.00 hingga 09.00 Waktu Pasifik, setiap 4 minggu
Sedona JIRA: Bug, Permintaan Tarik, dan masalah serupa lainnya
Milis Sedona: [email protected]: pengembangan proyek, pertanyaan umum atau tutorial.
Apa itu Apache Sedona?
Apache Sedona™ adalah mesin komputasi spasial yang memungkinkan pengembang memproses data spasial dengan mudah pada skala apa pun dalam sistem komputasi cluster modern seperti Apache Spark dan Apache Flink.
Pengembang Sedona dapat mengekspresikan tugas pemrosesan data spasial mereka dalam Spatial SQL, Spatial Python, atau Spatial R. Secara internal, Sedona menyediakan fungsionalitas pemuatan, pengindeksan, partisi, dan pemrosesan kueri/optimasi kueri yang memungkinkan pengguna menganalisis data spasial secara efisien pada skala apa pun.
Fitur
Beberapa fitur utama Apache Sedona meliputi:
Ini adalah beberapa fitur utama Apache Sedona, namun mungkin menawarkan kemampuan tambahan tergantung pada versi dan konfigurasi spesifik.
Klik dan segera mainkan Sedona Python Jupyter Notebook interaktif!
Kapan menggunakan Sedona?
Kasus Penggunaan:
Apache Sedona adalah kerangka kerja yang banyak digunakan untuk bekerja dengan data spasial, dan memiliki banyak kasus penggunaan dan aplikasi yang berbeda. Beberapa kasus penggunaan utama Apache Sedona meliputi:
Contoh Kode:
Contoh ini memuat catatan perjalanan taksi NYC dan informasi zona taksi yang disimpan sebagai file .CSV di AWS S3 ke dalam kerangka data spasial Sedona. Ia kemudian melakukan kueri SQL spasial pada kumpulan data perjalanan taksi untuk menyaring semua catatan kecuali yang berada di wilayah Manhattan di New York. Contoh ini juga menunjukkan operasi gabungan spasial yang mencocokkan catatan perjalanan taksi dengan zona berdasarkan apakah perjalanan taksi tersebut berada dalam jangkauan geografis zona tersebut. Terakhir, cuplikan kode terakhir mengintegrasikan keluaran Sedona dengan GeoPandas dan memplot distribusi spasial kedua kumpulan data.
Muat data perjalanan taksi NYC dan zona taksi dari File CSV yang Disimpan di AWS S3
Kueri SQL spasial untuk hanya mengembalikan perjalanan Taksi di Manhattan
Gabungan Spasial antara Taxi Dataframe dan Zone Dataframe untuk Menemukan taksi di setiap zona
Tampilkan peta Kerangka Data Spasial yang dimuat menggunakan GeoPandas
gambar buruh pelabuhan
Kami menyediakan image Docker untuk Apache Sedona dengan Python JupyterLab dan cluster node tunggal. Gambar tersedia di DockerHub
Membangun Sedona
Untuk menginstal paket Python:
Untuk mengkompilasi kode sumber, silakan merujuk ke situs web Sedona
Modul dalam kode sumber
Dokumentasi
Silakan kunjungi situs web Apache Sedona untuk informasi rinci
Didukung oleh
contoh:
Penyaji Mitsuba 3
Dokumentasi | Video tutorial | Linux | macOS | jendela | PyPI |
---|---|---|---|---|---|
️
Peringatan
️
Saat ini terdapat sejumlah besar pekerjaan tidak terdokumentasi dan tidak stabil yang terjadi
cabang master
. Kami sangat menyarankan Anda menggunakan kami
rilis terbaru
sampai pemberitahuan lebih lanjut.
Jika Anda sudah ingin mencoba perubahan yang akan datang, silakan lihat
panduan porting ini.
Ini harus mencakup sebagian besar fitur baru dan perubahan penting yang akan datang.
Perkenalan
Mitsuba 3 adalah sistem rendering berorientasi penelitian untuk cahaya maju dan mundur
simulasi transportasi dikembangkan di EPFL di Swiss.
Ini terdiri dari perpustakaan inti dan satu set plugin yang mengimplementasikan fungsionalitas
mulai dari bahan dan sumber cahaya hingga algoritma rendering lengkap.
Mitsuba 3 dapat ditargetkan ulang : ini berarti implementasi yang mendasarinya dan
struktur data dapat bertransformasi untuk menyelesaikan berbagai tugas berbeda. Untuk
Misalnya, kode yang sama dapat mensimulasikan transpor RGB skalar (klasik satu sinar pada satu waktu).
atau transportasi spektral diferensial pada GPU. Ini semua didasarkan pada
Dr.Jit, kompiler just-in-time (JIT) khusus yang dikembangkan khusus untuk proyek ini.
Fitur Utama
Lintas platform : Mitsuba 3 telah diuji di Linux ( x86_64
), macOS
( aarch64
, x8664
), dan Windows ( x8664
).
Performa tinggi : Kompiler Dr.Jit yang mendasari menggabungkan kode rendering
menjadi kernel yang mencapai kinerja canggih dengan menggunakan
backend LLVM yang menargetkan CPU dan backend CUDA/OptiX
menargetkan GPU NVIDIA dengan akselerasi perangkat keras ray tracing.
Python pertama : Mitsuba 3 sangat terintegrasi dengan Python. Bahan,
tekstur, dan bahkan algoritma rendering penuh dapat dikembangkan dengan Python,
yang dikompilasi oleh sistem JIT (dan secara opsional dibedakan) dengan cepat.
Hal ini memungkinkan eksperimen yang diperlukan untuk penelitian dalam grafik komputer dan
disiplin ilmu lainnya.
Diferensiasi : Mitsuba 3 adalah penyaji yang dapat dibedakan, artinya itu
dapat menghitung turunan dari keseluruhan simulasi sehubungan dengan masukan
parameter seperti pose kamera, geometri, BSDF, tekstur, dan volume. Dia
mengimplementasikan algoritma rendering terdiferensiasi terbaru yang dikembangkan di EPFL.
Spektral & Polarisasi : Mitsuba 3 dapat digunakan sebagai monokromatik
penyaji, penyaji berbasis RGB, atau penyaji spektral. Setiap varian bisa
secara opsional memperhitungkan efek polarisasi jika diinginkan.
Video tutorial, dokumentasi
Kami telah merekam beberapa video YouTube yang memberikan pengenalan lembut
Mitsuba 3 dan Dr.Jit. Selain itu, Anda dapat menemukan buku catatan Juypter lengkap
mencakup berbagai aplikasi, panduan cara kerja, dan dokumentasi referensi
di readthedocs.
Instalasi
Kami menyediakan roda biner yang telah dikompilasi sebelumnya melalui PyPI. Menginstal Mitsuba dengan cara ini semudah menjalankannya
pip instal mitsuba
pada baris perintah. Paket Python mencakup tiga belas varian secara default:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Dua yang pertama melakukan simulasi klasik satu sinar pada satu waktu menggunakan RGB
atau representasi warna spektral, sedangkan dua yang terakhir dapat digunakan untuk invers
rendering pada CPU atau GPU. Untuk mengakses varian tambahan, Anda perlu melakukannya
kompilasi versi khusus Dr.Jit menggunakan CMake. Silakan lihat
dokumentasi
untuk rincian tentang ini.
Persyaratan
Python >= 3.8
(opsional) Untuk komputasi pada GPU: Nvidia driver >= 495.89
(opsional) Untuk komputasi vektor/paralel pada CPU: LLVM >= 11.1
Penggunaan
Berikut adalah contoh sederhana "Hello World" yang menunjukkan betapa sederhananya merender a
adegan menggunakan Mitsuba 3 dari Python:
# Impor perpustakaan menggunakan alias "mi"impor mitsuba sebagai mi# Atur varian renderermi.setvariant('scalarrgb')# Muat scene = mi.loaddict(mi.cornellbox())# Render sceneimg = mi. render(adegan)# Tulis gambar yang dirender ke file EXRmi.Bitmap(img).write('cbox.exr')
Tutorial dan contoh buku catatan yang mencakup berbagai aplikasi dapat ditemukan
dalam dokumentasi.
Tentang
Proyek ini dibuat oleh Wenzel Jakob.
Fitur-fitur penting dan/atau perbaikan pada kode disumbangkan oleh
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Delio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy, dan
Ziyi Zhang.
Saat menggunakan Mitsuba 3 dalam proyek akademik, harap kutip:
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob dan Sébastien Speierer dan Nicolas Roussel dan Merlin Nimier-David dan Delio Vicini dan Tizian Zeltner dan Baptiste Nicolet dan Miguel Crespo dan Vincent Leroy dan Ziyi Zhang},catatan = {https://mitsuba-renderer.org},versi = {3.1.1},tahun = 2022}
`