Угловые координаты прямоугольного пиктграфа roi
Предположим, у вас есть прямоугольный экземпляр pyqtgraph roi с некоторыми данными:
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
data = np.random.random(size=(50,50,50))
app = QtGui.QApplication([])
w = pg.ImageView()
roi = pg.RectROI([20, 20], [20, 20], pen=(0,9))
roi.addRotateHandle([1, 0], [0.5, 0.5])
w.setImage(data)
w.addItem(roi)
w.show()
Как я могу извлечь 4 угловые координаты roi после масштабирования / вращения? Думаю, их можно вычислить тригонометрически после вызова
pos_x, pos_y = roi.pos()
angle = roi.angle()
size_x, size_y = roi.size()
Однако не все так просто, поскольку угол может принимать значения>360° и т. Д. Я чувствую, что пропустил какое-то встроенное решение.
1 ответ
smiet
Я ищу что-то похожее, но, посмотрев документацию, исходный код и веб-страницу, я думаю, что вы действительно останетесь со своим тригонометрическим решением. тем не менее, вы можете сохранить две строки кода, вызвав
roi.getState()
которая содержит вашу нужную информацию в словаре. Что касается вашей проблемы с углами более 360° - разве оператор по модулю не справится?
angle = 365 % 360
... или я неправильно понял вашу проблему?