Używam mayavi.mlab
do wyświetlania danych 3D wyodrębnionych z obrazów. Dane przedstawia się następująco:Renderowanie sceny z Mayavi z większą potokiem szybciej
- parametry kamery 3D jak
3
linii w kierunkux, y, x
wokół środka aparatu, zwykle około 20 kamer wykorzystującychmlab.plot3d()
. - 3D kolorowe punkty w przestrzeni dla około
4000
punktów za pomocąmlab.points3d()
.
Dla (1) Mam funkcję rysowania każdej linii dla każdej kamery osobno. Jeśli mam rację, wszystkie te linie są dodawane do potoku mayavi dla bieżącej sceny. Po mlab.show()
scena zajmuje około 10 sekund, aby renderować wszystkie te linie.
For (2) Nie mogłem znaleźć sposobu na wykreślenie wszystkich punktów naraz z każdym punktem o innym kolorze, więc w tej chwili Iteruję z mlab.points3d(x,y,z, color = color)
. Mam nowszy czekał na zakończenie tej rutyny, jak to trwa długo. Jeśli wykreślę wszystkie punkty naraz tym samym kolorem, zajmuje to około 2 sekundy.
Próbowałem już uruchomić skrypt fig.scene.disable_render = True
i zresetować fig.scene.disable_render = False
przed wyświetleniem sceny za pomocą mlab.show()
.
Jak mogę wyświetlać moje dane za pomocą mayavi w rozsądnym czasie oczekiwania?
Znalazłem inny post z podobnym pytaniem [http://stackoverflow.com/questions/16364311/render-a-mayavi-scene-witha-a-large-pipeline-faster](http://stackoverflow. com/questions/12935231/adnotacja-wiele-punktów-z-tekst-w-mayavi-using-mlab). Zbadam i zaktualizuję moje wnioski. –
Znalazłem rozwiązanie (2) na http://stackoverflow.com/questions/22253298/mayavi-points3d-with-different-size-and-colors –