Changeset 136


Ignore:
Timestamp:
12/23/04 13:58:08 (20 years ago)
Author:
kil064
Message:

add function statistics

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/MathUtils.cc

    r125 r136  
    3333#include <casa/Arrays/Vector.h>
    3434#include <casa/Arrays/VectorSTLIterator.h>
     35#include <casa/Arrays/MaskArrMath.h>
     36#include <casa/BasicSL/String.h>
    3537
    3638#include "MathUtils.h"
     
    9092  }
    9193}
     94
     95
     96float mathutil::statistics (const std::string& which,  const MaskedArray<Float>& data)
     97{
     98   String str(which);
     99   str.upcase();
     100   if (str.contains(String("MIN"))) {
     101      return min(data);
     102   } else if (str.contains(String("MAX"))) {
     103      return max(data);
     104   } else if (str.contains(String("SUMSQ"))) {
     105      return sumsquares(data);
     106   } else if (str.contains(String("SUM"))) {
     107      return sum(data);
     108   } else if (str.contains(String("MEAN"))) {
     109      return mean(data);
     110   } else if (str.contains(String("VAR"))) {
     111      return variance(data);
     112   } else if (str.contains(String("STDDEV"))) {
     113      return stddev(data);
     114   } else if (str.contains(String("AVDEV"))) {
     115      return avdev(data);
     116   } else if (str.contains(String("RMS"))) {
     117      uInt n = data.nelementsValid();
     118      return sqrt(sumsquares(data)/n);
     119   } else if (str.contains(String("MED"))) {
     120      return median(data);
     121   }
     122}
     123 
  • trunk/src/MathUtils.h

    r125 r136  
    4242             casa::Bool relaxed=False, casa::Bool ignoreOther=False);
    4343
     44float statistics (const std::string& which,  const casa::MaskedArray<casa::Float>& data);
    4445};
    4546
Note: See TracChangeset for help on using the changeset viewer.