Thanks Patrick.

Your code certainly helps with over plotting an image on a plot region, but 
I am looking to use ImageView for its built-in functionality (ROI, 
histogram, etc...).  So, I'd like to reverse the y-axis labels within 
ImageView.





On Wednesday, May 2, 2018 at 11:20:59 PM UTC-4, Patrick wrote:
>
> Hi,
>
>
> This is some simplified parts from my code that I think does what you 
> describe:
>
> # Set up the plot and add the ImageItem
> self.plot = self.plot_graphicsLayoutWidget.addPlot()
> self.plot.showGrid(x=True, y=True)
> self.plot.setLabels(bottom="Wavelength (nm)")
> self.image = pg.ImageItem(np.zeros((1, 1)))
> self.plot.addItem(self.image)
> #...
> # Acquire image from somewhere and set the ImageItem to use it
> self.image.setImage(image)
> # x-axis coordinate values are wavelengths (eg, 450--750)
> # y-axis coordinates are simply the camera pixel numbers (0--199)
> self.xlabels = np.arange(450, 750)
> # Translate and scale the ImageItem to match the x-axis labels
> self.image.translate(self.xlabels[0], 0)
> self.image.scale((self.xlabels[-1] - self.xlabels[0])/len(self.xlabels), 1)
>
>
>
>
>
> <https://lh3.googleusercontent.com/-FhX91HhYu1M/Wup9s44M_mI/AAAAAAAAD80/70qwjTVXiq0HhSeCeIqe0sBn2IJKtCF3QCLcBGAs/s1600/Capture.PNG>
>
> Patrick
>
> On Thursday, 3 May 2018 06:23:37 UTC+9:30, S Martin wrote:
>>
>> Hello,
>>
>> I am trying to use ImageView to display an image but with axis included 
>> and specified y range.  Basically I'm doing something like this:
>>
>> plt = pg.PlotItem(labels={'bottom':('time',''),'left':('frequency','')})
>> imv = pg.ImageView(view=plt)
>> x0, x1 = (0, 500)
>> y0, y1 = (0, 16)
>> xscale = (x1-x0)/img.shape[0]
>> yscale = (y1-y0)/img.shape[1]
>> imv.setImage(img, pos=[x0,y0], scale=[xscale, yscale])
>> plt.setAspectLocked(False)
>>
>> Now the xaxis runs 0 to 500 left to right, but the yaxis runs 0 to 16 top 
>> to bottom.  However, I want the yaxis to start at the bottom at 0 and run 
>> to 16 at the top (a usual increasing y axis).  I am not sure how to set the 
>> axis range within ImageView.
>>
>> Thanks,
>> Steve
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"pyqtgraph" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/7b1aa1df-ff7f-46f8-aedb-da85b5a815f4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to