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 объектов.