Index: trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm
===================================================================
--- trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm	(revision 8743)
+++ trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm	(revision 8744)
@@ -1,5 +1,5 @@
 # Copyright (c) 2006  Paul Price, Joshua Hoblitt
 #
-# $Id: Stats.pm,v 1.8 2006-09-06 02:45:46 jhoblitt Exp $
+# $Id: Stats.pm,v 1.9 2006-09-06 03:24:49 jhoblitt Exp $
 
 package PS::IPP::Metadata::Stats;
@@ -8,5 +8,5 @@
 use warnings FATAL => qw( all );
 
-our $VERSION = '0.01';
+our $VERSION = '0.02';
 
 use Carp qw( carp croak );
@@ -62,5 +62,6 @@
     my $errors = 0;
 
-    $self->_parse_megacam($md);
+#    $self->_parse_megacam($md);
+    $self->_parse_braindead($md);
 
     # Check that we found everything for the constants
@@ -172,4 +173,29 @@
 }
 
+sub _parse_braindead
+{
+    my ($self, $md) = @_;
+
+    # descend through the fpa        
+    foreach my $entry (@$md) {
+        # recurse on nested metadata
+        if ($entry->{class} eq 'metadata') {
+            $self->_parse_braindead($entry->{value});
+        }
+
+        if ($entry->{name} =~ /^(SAMPLE|ROBUST|FITTED|CLIPPED)_/) {
+            # It's a statistic of some sort
+            if ($entry->{name} =~ /_STDEV$/) {
+                push @{$self->{bg_stdev_data}}, $entry->{value};
+            } else {
+                push @{$self->{bg_data}}, $entry->{value};
+            }
+        } else {
+            $self->_check_values($entry);
+        }
+    }
+
+    return $self;
+}
 
 # Private function to check a metadata item for things we're interested in
