Index: trunk/ippScripts/scripts/ipp_darkstats.pl
===================================================================
--- trunk/ippScripts/scripts/ipp_darkstats.pl	(revision 13979)
+++ trunk/ippScripts/scripts/ipp_darkstats.pl	(revision 13984)
@@ -64,4 +64,7 @@
 my @bg_name;
 my @bg_exptime;
+my %components;
+
+print STDERR "extracted the data from the database\n";
 
 # we now have a list of imfiles; we need to extract the background for each cell
@@ -91,12 +94,44 @@
 }
 
-print STDERR "dumping stats\n";
+print STDERR "parsed the stats from the data files\n";
 
 for (my $i = 0; $i < @bg_data; $i++) {
-    $name1 = "$bg_name[$i].bg";
-    $name2 = "$bg_name[$i].exp";
-    push @{$name1}, $bg_data[$i];
-    push @{$name2}, $bg_exptime[$i];
+    $nameX = "$bg_name[$i].exp";
+    $nameY = "$bg_name[$i].bg";
+    push @{$nameX}, $bg_exptime[$i];
+    push @{$nameY}, $bg_data[$i];
 }
+
+print STDERR "dumping stats\n";
+open (MANA, "|mana --norc");
+
+foreach my $component (@components) {
+    $nameX = "$component.exp";
+    $nameY = "$component.bg";
+
+    print MANA "delete X Y\n";
+
+    open (DATA, ">$component.dat");
+    for (my $i = 0; $i < @{$nameX}; $i++) {
+	print DATA "${$nameX}[$i] ${$nameY}[$i]\n";
+    }
+    close (DATA);
+
+    print MANA "data $component.dat\n";
+    print MANA "read X 1 Y 2\n";
+    print MANA "fit X Y 2 -clip 3 3\n";
+    print MANA "output output.dat\n";
+    print MANA "echo $component METADATA\n";
+    print MANA "echo \"   NORDER_X  S32 2   \"\n";
+    print MANA "echo \"   VAL_X00   F64 \$C0\"\n";
+    print MANA "echo \"   VAL_X01   F64 \$C1\"\n";
+    print MANA "echo \"   VAL_X02   F64 \$C2\"\n";
+    print MANA "echo \"   NELEMENTS S32 3    \"\n";
+    print MANA "echo END\n";
+    print MANA "echo\n";
+    print MANA "output stdout\n";
+}
+
+close (MANA);
 
 exit 0;
@@ -111,5 +146,5 @@
         # recurse on nested metadata
         if ($entry->{class} eq 'metadata') {
-	    my $newtag = $tag . ":" . $entry->{name};
+	    my $newtag = $tag . "_" . $entry->{name};
             &parse_stats_table ($exp_time, $newtag, $entry->{value});
         }
@@ -124,4 +159,8 @@
 	    push @bg_name, $tag;
 	    push @bg_exptime, $exp_time;
+	    if (!$componentsHash{$tag}) {
+		push @components, $tag;
+		$componentsHash{$tag} = 1;
+	    }
 	    next;
 	} 
