[การติดตั้ง] [การใช้งาน] [คู่มือผู้ใช้] [ตัวอย่าง] [API Reference]
⚡ Datoviz เป็นแพลตฟอร์มข้ามแหล่งโอเพ่นซอร์สโอเพ่นซอร์สและประสิทธิภาพสูง GPU Data Data การสร้างภาพข้อมูลที่เขียนขึ้นใน C/C ++ ที่ด้านบนของ Khronos Vulkan Graphics API และไลบรารีหน้าต่าง GLFW มันให้การผูก ctypes ดิบใน Python หรือไม่? - ในระยะยาว Datoviz ส่วนใหญ่จะถูกใช้เป็น แบ็กเอนด์ Vispy 2.0
ออกแบบมาสำหรับความเร็วคุณภาพการมองเห็นและความสามารถในการปรับขนาดให้กับชุดข้อมูลที่ประกอบด้วยคะแนนหลายล้านคะแนนรองรับการเรนเดอร์แบบโต้ตอบแบบ 2D/3D และ GUIs ขั้นต่ำผ่าน Imgui ที่รัก
- แผนงาน ในระยะกลาง: การเพิ่มความเข้ากันได้ของระบบปฏิบัติการและฮาร์ดแวร์ให้ภาพมากขึ้นรูปแบบการโต้ตอบและการควบคุม GUI ในระยะยาว: การเลือกภาพที่กำหนดเองและเฉดสีการแปลงแบบไม่เชิงเส้นความเข้ากันได้ของ WebGPU/WebAssembly การรวมเข้ากับ Ipython, Jupyter และ Qt
เครดิต: ปริมาณสมองเมาส์: Allen SDK ฝรั่งเศส: โลกธรรมชาติ โมเลกุล: โครงสร้างผลึกของ S. pyogenes Cas9 จาก PDB (ขอบคุณ ERIC สำหรับการแปลงเป็น OBJ Mesh) Earth: Pixabay พล็อตแรสเตอร์: ibl สมองมนุษย์ 3d: Anneke Alkemade และคณะ 2020 ขอบคุณ Pierre-Louis Bazin และ Julia Huntenburg
ฟีเจอร์เหล่านี้มีการวางแผนในปัจจุบันสำหรับ v0.3 :
ฟีเจอร์เหล่านี้มีการวางแผนในปัจจุบันสำหรับ v0.4 และใหม่กว่า :
ความต้องการ:
หมายเหตุ : คุณไม่จำเป็นต้องติดตั้ง Vulkan SDK อีกต่อไปหรือเพื่อสร้างห้องสมุดด้วยตนเอง ล้อคอมไพล์ล่วงหน้าสำหรับ Linux, Windows และ MacOS ได้รับการอัปโหลดไปยัง PYPI
pip install datovizตัวอย่างพล็อตการกระจายอย่างง่าย (จุดที่มีตำแหน่งสุ่มสีและขนาด) ใน Python ซึ่งติดตาม C API อย่างใกล้ชิด
import numpy as np
import datoviz as dvz
app = dvz . app ( 0 )
batch = dvz . app_batch ( app )
scene = dvz . scene ( batch )
figure = dvz . figure ( scene , 800 , 600 , 0 )
panel = dvz . panel_default ( figure )
dvz . panel_panzoom ( panel )
visual = dvz . point ( batch , 0 )
n = 100_000
dvz . point_alloc ( visual , n )
pos = np . random . normal ( size = ( n , 3 ), scale = .25 ). astype ( np . float32 )
dvz . point_position ( visual , 0 , n , pos , 0 )
color = np . random . uniform ( size = ( n , 4 ), low = 50 , high = 240 ). astype ( np . uint8 )
dvz . point_color ( visual , 0 , n , color , 0 )
size = np . random . uniform ( size = ( n ,), low = 10 , high = 30 ). astype ( np . float32 )
dvz . point_size ( visual , 0 , n , size , 0 )
dvz . panel_visual ( panel , visual , 0 )
dvz . scene_run ( scene , app , 0 )
dvz . scene_destroy ( scene )
dvz . app_destroy ( app )ตรวจสอบเอกสารตัวอย่างสำหรับตัวอย่างการใช้งานเพิ่มเติม
ใน ปี 2012 นักพัฒนาของห้องสมุดการสร้างภาพข้อมูลทางวิทยาศาสตร์ GPU ต่างๆ (Galry, Glumpy, Pyqtgraph, Visvis) ร่วมมือกันเพื่อสร้าง Vispy ซึ่งเป็นห้องสมุดการสร้างภาพข้อมูลทางวิทยาศาสตร์ที่ใช้ OpenGL สำหรับ Python
ใน ปี 2558 Vulkan ผู้สืบทอดของ OpenGL ได้รับการประกาศโดย Khronos ซึ่งเป็นจุดประกายความคิดเกี่ยวกับห้องสมุดการสร้างภาพข้อมูลที่ใช้ Vulkan ในอนาคต
ใน ปี 2562 Cyrille Rossant หนึ่งในนักพัฒนาวีซปี้ดั้งเดิมเริ่มทดลองกับ Vulkan
ใน ปี 2021 Datoviz V0.1 เวอร์ชันทดลองแรกได้รับการปล่อยตัว การเปิดตัวครั้งแรกนี้วางรากฐานสำหรับการพัฒนาต่อไป
ในอีกสามปีข้างหน้าเทคโนโลยีได้รับความช่วยเหลือจากโครงการ Chan Zuckerberg Initiative (CZI) ที่ได้รับรางวัล Vispy ใน ปี 2564
ใน ปี 2024 Datoviz v0.2 ได้รับการปล่อยตัว รุ่นนี้ได้รับการออกแบบใหม่จากพื้นดินเพื่อเพิ่มความเป็นโมดูลและความเสถียรเพื่อให้มั่นใจว่าสามารถก้าวต่อไปด้วยความก้าวหน้าอย่างต่อเนื่องในฮาร์ดแวร์ GPU และ APIs กราฟิก มันมีสถาปัตยกรรมแบบแยกส่วนที่จะช่วยให้การพอร์ตของเทคโนโลยี Datoviz ไปยังสภาพแวดล้อมที่ไม่ใช่วัลกานเช่นเว็บเบราว์เซอร์ที่เปิดใช้งาน WebGPU (ขอบคุณ CZI Grant ที่สอง)
Datoviz มีความสัมพันธ์อย่างใกล้ชิดกับ Vispy เนื่องจากได้รับการพัฒนาโดยหนึ่งในผู้ร่วมก่อตั้ง Vispy Vispy 2.0 ริเริ่มโดย Cyrille Rossant และ Nicolas Rougier จะนำเสนอ API ทางวิทยาศาสตร์ระดับสูงที่ด้านบนของ Datoviz, Matplotlib และ Renderers อื่น ๆ ผ่านเลเยอร์การสร้างภาพระดับกลางทั่วไปที่เรียกว่า "Graphics Server Protocol (GSP)"
วิสัยทัศน์ระยะยาวสำหรับการสร้างภาพข้อมูลทางวิทยาศาสตร์ 2D/3D ที่มีประสิทธิภาพสูงใน GPU นั้นมีให้บริการอย่างสม่ำเสมอในหลายแพลตฟอร์มสภาพแวดล้อม (เดสก์ท็อป, เว็บ, การสร้างภาพระยะไกลบนคลาวด์) และภาษาการเขียนโปรแกรม (C/C ++, Python, Julia, Rust ฯลฯ )
ดูบันทึกที่มีส่วนร่วม
ดูใบอนุญาต MIT
Datoviz ได้รับการพัฒนาโดย Cyrille Rossant ที่ International Brain Laboratory ซึ่งเป็นกลุ่มห้องปฏิบัติการวิจัยด้านประสาทวิทยาทั่วโลก
ได้รับการสนับสนุนอย่างโดดเด่นโดยซอฟต์แวร์โอเพ่นซอร์สที่จำเป็นของ Chan Zuckerberg Initiative สำหรับโปรแกรมวิทยาศาสตร์