#!/usr/bin/perl use strict; use warnings; use File::Slurp qw(read_file); use File::Find::Rule; use File::Basename qw(basename); use Data::Dump qw(dump); use File::Copy::Recursive qw(dirmove); use NEURO4 qw(load_project print_help); my $full = 0; @ARGV = ("-h") unless @ARGV; while (@ARGV and $ARGV[0] =~ /^-/) { $_ = shift; last if /^--$/; if (/^-f/) {$full = 1} if (/^-h/) { print_help $ENV{'PIPEDIR'}.'/doc/make_fbb_report.hlp'; exit;} } my $study = shift; unless ($study) { print_help $ENV{'PIPEDIR'}.'/doc/make_pet_report.hlp'; exit;} my %std = load_project($study); my $w_dir=$std{'WORKING'}; my $d_dir=$std{'DATA'}; # Redirect ouput to logfile (do it only when everything is fine) my $debug = "$d_dir/.debug_report.log"; open STDOUT, ">$debug" or die "Can't redirect stdout"; open STDERR, ">&STDOUT" or die "Can't dup stdout"; my $order = "slicesdir -o "; my @names = find(file => 'name' => "*_fbb.nii.gz", in => $w_dir); foreach my $name (sort @names){ (my $struc = $name) =~ s/fbb/struc/; $order .= $name.' '.$struc." "; if ($full) { (my $base = $name) =~ s/\.nii\.gz$//; $base=basename($base); my @regs = find(file => 'name' => "$base*reg.nii.gz", in => $w_dir); dump @regs; foreach my $reg (sort @regs){ $order .= $reg.' '.$struc." "; } } } chdir $w_dir; print "$order\n"; system($order); dirmove('slicesdir', 'fbbs');