/* * Script to change a keyword value in a set of FITS files. */ var inputDirectory = "K:/cache/PI/21P/2018-09-07/registered/"; var outputDirectory = "K:/cache/PI/21P/2018-09-07/registered/repl/"; var keywordName = "DATE-OBS"; // ---------------------------------------------------------------------------- if ( inputDirectory.length == 0 ) throw new Error( "Must specify an input directory" ); if ( outputDirectory.length == 0 ) throw new Error( "Must specify an output directory" ); if ( keywordName.length == 0 ) throw new Error( "Must specify a keyword name" ); if ( !inputDirectory.endsWith( '/' ) ) inputDirectory += '/'; if ( !outputDirectory.endsWith( '/' ) ) outputDirectory += '/'; for ( let D = searchDirectory( inputDirectory + "*.xisf", false/*recursive*/ ), i = 0; i < D.length; ++i ) { let w = ImageWindow.open( D[i] ); let k = w[0].keywords; let found = false; for ( let j = 0; j < k.length; ++j ) { k[j].trim(); if ( k[j].name == keywordName ) { let time = k[j].strippedValue.slice(0,-1) console.writeln(time) k[j].value = time; found = true; break; } } if ( found ) { console.writeln( "" + D[i] ); w[0].keywords = k; w[0].saveAs( outputDirectory + File.extractNameAndSuffix( D[i] ), false/*queryOptions*/, false/*allowMessages*/, false/*strict*/, true/*verifyOverwrite*/ ); } w[0].forceClose(); }