Changeset 13925
- Timestamp:
- Jun 20, 2007, 12:43:07 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm
r11728 r13925 1 1 # Copyright (c) 2006 Paul Price, Joshua Hoblitt 2 2 # 3 # $Id: Stats.pm,v 1.1 3 2007-02-09 03:55:22price Exp $3 # $Id: Stats.pm,v 1.14 2007-06-20 22:43:07 price Exp $ 4 4 5 5 package PS::IPP::Metadata::Stats; … … 24 24 25 25 use base qw( Class::Accessor::Fast ); 26 __PACKAGE__->mk_accessors( qw( bg_mean bg_stdev bg_mean_stdev constants variables bg_data bg_stdev_data ) ); 26 __PACKAGE__->mk_accessors( qw( bg_mean bg_stdev bg_mean_stdev fringe fringe_err 27 constants variables bg_data bg_stdev_data ) ); 27 28 28 29 #$::RD_TRACE = 1; … … 38 39 bg_stdev => undef, # Standard deviation of the mean backgrounds 39 40 bg_mean_stdev => undef, # Mean of the standard deviation of the backgrounds 41 fringe => [], # Fringe amplitudes 42 fringe_err => [], # Fringe amplitude errors 40 43 constants => $constants, # Array of values that should be constant through the FPA 41 44 variables => $variables, # Array of values that may be variable through the FPA 42 45 bg_data => [], # Array of background values 43 bg_stdev_data => [],# Array of background standard deviations 46 bg_stdev_data => [], # Array of background standard deviations 47 fringe_data => [], # Fringe amplitudes each component 48 fringe_err_data => [], # Fringe errors for each component 44 49 data => {} # The data 45 50 }; … … 128 133 } else { 129 134 $self->bg_stdev(undef); 135 } 136 137 # Get fringe measurements 138 if (scalar @{$self->{fringe_data}} > 0) { 139 foreach my $array (@{$self->{fringe_data}}) { 140 my $stats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 141 $stats->add_data(@$array); 142 push @{$self->{fringe}}, $stats->mean(); 143 } 144 } 145 if (scalar @{$self->{fringe_err_data}} > 0) { 146 foreach my $array (@{$self->{fringe_err_data}}) { 147 my @variances; 148 foreach my $value (@$array) { 149 push @variances, $value**2; 150 } 151 my $stats = Statistics::Descriptive::Sparse->new(); # Statistics calculator 152 $stats->add_data(@variances); 153 push @{$self->{fringe_err}}, sqrt($stats->mean()); 154 } 130 155 } 131 156 … … 207 232 push @{$self->{bg_data}}, $entry->{value}; 208 233 } 234 } elsif ($entry->{name} =~ /^FRINGE/) { 235 my ($num) = $entry->{name} =~ /_(\d+)$/; # Component number 236 if ($entry->{name} =~ /_ERR_/) { 237 my $arrayRef = ${$self->{fringe_err_data}}[$num]; 238 unless (defined $arrayRef) { 239 my @array; 240 $arrayRef = \@array; 241 ${$self->{fringe_err_data}}[$num] = $arrayRef; 242 } 243 push @$arrayRef, $entry->{value}; 244 } else { 245 my $arrayRef = ${$self->{fringe_data}}[$num]; 246 unless (defined $arrayRef) { 247 my @array; 248 $arrayRef = \@array; 249 ${$self->{fringe_data}}[$num] = $arrayRef; 250 } 251 push @$arrayRef, $entry->{value}; 252 } 209 253 } else { 210 254 $self->_check_values($entry);
Note:
See TracChangeset
for help on using the changeset viewer.
