#!/usr/bin/perl -w use strict; use File::Basename; my $skip = 0; my $args = join(" ", splice(@ARGV, 1, scalar(@ARGV)-1)); if ( !($args eq "") ) { printf("Extra arguments for hdfsee: %s\n", $args); } else { # Default arguments - feel free to override! $args = "--binning=2 --int-boost=10"; printf("Using default arguments for hdfsee: %s\n", $args); } open(FH, $ARGV[0]); open(TMP, "> list.tmp"); my $in_image = 0; my $line; my $filename; my $event = ""; my $n_seen = 0; while ( $line = ) { chomp $line; my $handled = 0; if ( $in_image ) { printf(TMP "%s\n", $line); $handled = 1; } if ( $line =~ /^Reflections\ measured\ after\ indexing$/ ) { $in_image = 1; $handled = 1; } if ( $line =~ /^Image\ filename:\ (.+)$/ ) { $filename = $1; $handled = 1; } if ( $line =~ /^Event:\ (.+)$/ ) { $event = $1; } if ( $line =~ /^End\ of\ reflections$/ ) { close(TMP); # Example of how to do "basename" and "prefix": # $filename = "images-old/".basename($filename); my $ev; my $evr; if ( $event eq "" ) { $ev = ""; $evr = ""; } else { $ev = " --event=".$event; $evr = ", event ".$event; } $n_seen++; if ( $n_seen > $skip ) { printf(STDERR "Viewing %s%s\n", $filename, $evr); system("hdfsee ".$filename.$ev. " --peak-overlay=list.tmp ".$args); if ( $? != 0 ) { exit; } } else { printf(STDERR "Skipping %s%s\n", $filename, $evr); } unlink("list.tmp"); open(TMP, "> list.tmp"); $handled = 1; $in_image = 0; $event = ""; } }