#include <pjsr/ImageOp.jsh>
#include <pjsr/UndoFlag.jsh>
function SubtractSuccessiveImages( inputTemplate, outputDir )
{
let inputFiles = searchDirectory( inputTemplate );
inputFiles.sort();
for ( let i = 0; i < inputFiles.length-1; ++i )
{
let thisWindow = ImageWindow.open( inputFiles[i] )[0];
let nextWindow = ImageWindow.open( inputFiles[i+1] )[0];
let thisView = thisWindow.mainView;
let nextView = nextWindow.mainView;
thisView.beginProcess( UndoFlag_NoSwapFile );
thisView.image.apply( nextView.image, ImageOp_Sub );
thisView.endProcess();
let outputFilePath = outputDir + format( "/%03d-%03d.xisf", i+1, i+2 );
if ( !thisWindow.saveAs( outputFilePath,
false/*queryOptions*/,
false/*allowMessages*/,
true/*strict*/,
false/*verifyOverwrite*/ ) )
{
console.criticalln( "*** Error: Failure to write output image: ", outputFilePath );
break;
}
thisWindow.forceClose();
}
}
SubtractSuccessiveImages( "/Users/juan/test/*.xisf", "/Users/juan/test/output" );