I've been thinking more about this, and I've run up against a problem at the wrapping stage.  @TallJimbo , is there something special to worry about when wrapping privately-inheriting objects?

In the current commit d126f8f I get the following error message from Boost.Python:
```
*BLAH*
pysrc/CorrelatedNoise.cpp:35:13:   required from here
/usr/local/include/boost/python/object/inheritance.hpp:99:53: error: 'galsim::SBProfile' is an inaccessible base of 'galsim::CorrelationFunction'
scons: *** [pysrc/.obj/CorrelatedNoise.os] Error 129
scons: building terminated because of errors.
```

I tried changing that to to a bases<SBInterpolatedImage> but also got the corresponding message.  Is there a special setting to allow me to wrap private inheritors?  I did look online but without much luck.