`image.view()` is basically a shallow copy of an `Image`.  It returns a new `Image` object that points to the same data.   So you can then set a new `scale` or `wcs` or shift the `bounds`, without messing up the original.  And yes, it should be mentioned in the docstring for `Image`.  That's an oversight.  It does have its own docstring though, so I at least did the.  `help(Image.view)`

However, here, we want the C++ `ImageViewX` type, since we are calling a C++ function.  This is `image.image.view()` now.