Hi Georg,
I realize that unfortunately, we lack any documentation for the PJSR, which is a serious problem for developers to get involved into script programming on PixInsight.
As I'm sure you know perfectly, writing such a documentation isn't the easiest task. It is indeed very time-consuming, and time is a scarce resource for us right now.
So, please feel free to ask here about any PJSR property or method you need, and we'll try to provide you with the necessary information. Eventually, we can collect all of our answers into a manual
Number Image.interpolate( Number x, Number y[, int c] )
This method generates an interpolated sample value for the specified x and y coordinates and the optional channel index c. Coordinates and channel indexes are counted from zero. If no channel is specified, Image.selectedChannel is assumed.
Out-of-range coordinates, i.e. values outside the ranges [0, Image.width-1] for x and [0, Image.height-1] for y, are legal. When an out-of-range coordinates is specified, zero is returned.
Channel indexes must refer to existing image channels, i.e. c must be within the range [0, Image.numberOfChannels-1], or a runtime exception will be thrown.
The current interpolation algorithm, given by the Image.interpolation property, is used. Available interpolations are enumerated in the standard pjsr/Interpolation.jsh header file. Filter-based interpolations, namely:
Interpolation_MitchellNetravaliFilter
Interpolation_CatmullRomSplineFilter
Interpolation_CubicBSplineFilter
also use the Image.interpolationSmoothness, Image.interpolationXRadius, and Image.interpolationYRadius properties, although the default values for these properties are in general appropriate for most tasks.
The value returned by Image.interpolate() is a normalized sample value in the range [0,1] (0=black, 1=white). This is the abstract range employed by all PJSR image processing routines for all supported data types.
Hope this helps.