Как установить логарифмический масштаб и пределы осей в HistogramLUTItem в pyqtgraph

Я использую pyqtgraph для просмотра в реальном времени программы захвата камеры. В большинстве случаев мои изображения состоят из большого количества фонового шума и сигнала в несколько пикселей с более высокой интенсивностью. По этой причине часть HistogramLUTItem это соответствует фактическому сигналу, выглядит как тонкая линия, и шум рядом с ним. Возможность построить логарифм данных заставила бы данные больше стоять.

Это возможно?

В настоящее время я создаю гистограмму следующим образом:

    imagewidget = pg.GraphicsLayoutWidget()
    self.p1 = imagewidget.addPlot()
    self.img = pg.ImageItem()
    self.p1.addItem(self.img)
    self.p1.getViewBox().setAspectLocked(True)
    self.hist = pg.HistogramLUTItem()
    self.hist.setImageItem(self.img)
    self.hist.autoHistogramRange = False
    imagewidget.addItem(self.hist)

дела self.hist.axis.setLogMode(True) не работал, поскольку это влияло на ось X гистограммы вместо оси Y.

И, наконец, я также хотел бы иметь возможность ограничить доступный диапазон по оси х гистограммы. Как это может быть сделано?

Ура!

1 ответ

Решение

Хорошо, я наконец понял. В случае, если кто-то задается вопросом, я решил это, добавив следующие две строки:

self.hist.plot.setLogMode(False, True)
self.hist.vb.setLimits(yMin=0, yMax=16000)
Другие вопросы по тегам