The backend functionality for all of this exists. I believe all of this can be accomplished with masks and NumPy array slicing.

The problem is that generally speaking, these are not interactive or GUI level operations. For example, if you want a zoomed-in ROI you can slice that region out and then `plt.imshow(sliced_img)`, but this requires manually entering the ROI corners in the slicing operation.

`skimage.viewer` includes a method to select and save rectangular regions interactively, and could probably be extended to allow clipping them out as well. However, the viewer requires PyQt or PySide and cannot be embedded in an iPython notebook.

Are you specifically looking for iPython notebook capable solutions? Or would a tweaked Viewer plugin be sufficient?

On Friday, November 22, 2013 1:03:04 PM UTC-6, Adam Hughes wrote:
Hi everyone,

I'm used to working with big images of lots of particles.  In the notebook, I'd like to be able to look at a full image, and then at a zoomed in region of interest.  A few basic questions come to mind:
    
 Is there a zoom/crop function or preffered approach to basic manipulations of zooming and cropping, or would I have to do this at the numpy or matplotlib level?  I saw that there's a rectangle function that probably would be useful here.  Does anyone have any examples or personal code built for doing some of these common manipulations?   Ideally, I want to take the fastest approach to:

1.  Selecting a rectangular region of interest (ROI).
2.  Cropping or zooming in on this region, and storing the ROI as its own array/image.
3.  If possible, removing the ROI from the original image, and splicing the original image back together.  If this is possible, that would be amazing.  This would allow us to effectively cut out regions of our images that are obviously contaminates. 

Thanks.