Как установить логарифмическую шкалу и пределы оси в 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.

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

Ваше здоровье!


person Federico Barabas    schedule 19.11.2014    source источник


Ответы (1)


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

self.hist.plot.setLogMode(False, True)
self.hist.vb.setLimits(yMin=0, yMax=16000)
person Federico Barabas    schedule 30.01.2015