Index: trunk/ippScripts/scripts/detrend_resid.pl
===================================================================
--- trunk/ippScripts/scripts/detrend_resid.pl	(revision 12079)
+++ trunk/ippScripts/scripts/detrend_resid.pl	(revision 12421)
@@ -118,14 +118,17 @@
 &my_die("Unrecognised detrend type: $det_type", $det_id, $iter, $exp_tag, $class_id, $PS_EXIT_PROG_ERROR) unless defined $recipe;
 
-### Output file names --- must match camera configuration!
+# Set output directory
 if (defined $workdir) {
     $workdir = $ipprc->convert_filename_absolute( $workdir );
+    my $subdir = "$camera.$det_type.$det_id";
+    $workdir = File::Spec->catdir( $workdir, $subdir, $exp_tag );
 } else {
-    my ($vol, $dir, $file) = File::Spec->splitpath( $input_uri );
+    my ($vol, $dir, $file) = File::Spec->splitpath( $ipprc->convert_filename_absolute( $input_uri ) );
     $workdir = $dir;
 }
+system "mkdir -p $workdir" unless -d $workdir;
 
 my $outputFile = "$exp_tag.detresid.$det_id.$iter"; # Root name
-my $outputRoot = File::Spec->catfile( $workdir, $exp_tag, $outputFile );
+my $outputRoot = File::Spec->catfile( $workdir, $outputFile );
 
 my $outputName = $ipprc->filename("PPIMAGE.OUTPUT", $outputRoot, $class_id);
