How to extract an arbitrary line of values from a numpy array?

I have a numpy array that contains some image data. I would like to plot the ‘profile’ of a transect drawn across the image. The simplest case is a profile running parallel to the edge of the image, so if the image array is imdat, then the profile at a selected point (r,c) is simply imdat[r] (horizontal) or imdat[:,c] (vertical).