Регулятор громкости Mayavi для отображения координат вместо индексов - PullRequest
0 голосов
/ 02 октября 2018

Mayavi's Volume Slicer - очень хороший инструмент для отображения томографических данных.Я хотел бы расширить код так, чтобы он отображал срезы как функцию физических координат, а не индексов массивов.

До сих пор я придумал создать 3 массива с регулярными значениями, которые представляютфизические координаты.Например, когда том покрывает фрагмент размером 15 на 13 на 11 мм (с разрешением 100 пикселей в каждом направлении):

x_data, y_data, z_data = np.mgrid[0:15:complex(0, 100), 
                                  0:13:complex(0, 100), 
                                  0:11:complex(0, 100)]

Как добавить эти координаты к объекту volume_slicer?

Пока я пытался добавить эти массивы при создании скалярного поля:

mlab.pipeline.scalar_field(self.x_data, self.y_data, self.z_data, #added coordinates
                           self.data,
                           figure=self.scene3d.mayavi_scene)

Однако у меня сложилось впечатление, что проекции на оси x, y и z не используютэти физические координатные массивы, но вместо этого используют индексы (поэтому значения от 0 до 100 для каждой оси).

Я считаю, что суть проблемы заключается в том, что я не могу найти способ соединения координатных массивовна mlab.pipeline.image_plane_widget или mlab.pipeline.outline объектов.

...