Ahora sí que funciona:
#include <pjsr/ColorSpace.jsh>
#include <pjsr/UndoFlag.jsh>
function main()
{
console.hide();
var window = ImageWindow.activeWindow;
if ( window.isNull )
throw Error( "There is no active image window!" );
var view = window.mainView;
var workingWindow = new ImageWindow( view.image.width,
view.image.height,
view.image.numberOfChannels,
window.bitsPerSample,
window.isFloatSample,
view.image.colorSpace != ColorSpace_Gray,
"temporary" );
var workingView = workingWindow.mainView;
workingView.beginProcess( UndoFlag_NoSwapFile );
workingView.image.apply( view.image );
workingView.image.convolve( [ 1, 2, 4, 2, 1,
2, 6, 12, 6, 2,
4, 12, 24, 12, 4,
2, 6, 12, 6, 2,
1, 2, 4, 2, 1 ] );
workingView.endProcess();
var mergeThem = new PixelMath;
mergeThem.expression = workingView.id;
mergeThem.useSingleExpression = true;
mergeThem.rescale = false;
mergeThem.executeOn( view );
workingWindow.close();
}
main();
El script aplica una convolución a una copia temporal de la imagen y después utiliza una instancia de PixelMath para aplicarla, con lo cual funciona la máscara que esté activa en el momento de ejecutar el script.
Al aplicarlo, aseguraos de que la imagen activa es la imagen que queréis procesar, no la máscara de estrellas ;-)