11 #ifndef PRIMATOLOGIST_PROBA_NORMAL_H 12 #define PRIMATOLOGIST_PROBA_NORMAL_H 17 #include <cartodata/volume/volume.h> 31 double gauss(
double x,
double mu,
double sigma );
32 double normal(
double x,
double mu,
double sigma );
50 double pdf(
double x )
const;
54 double getSigma()
const;
57 void setMu(
double mu );
58 void setSigma(
double sigma );
70 template <
typename DataType = double,
71 typename WeightType = double,
72 typename MaskType =
char>
81 void setData(
const carto::VolumeRef<DataType> & data = vol::empty<DataType>() );
82 void setWeight(
const carto::VolumeRef<WeightType> & weight = vol::empty<WeightType>() );
83 void setMask(
const carto::VolumeRef<MaskType> & mask = vol::empty<MaskType>() );
86 void setBessel(
bool bessel =
true );
87 void setRobust(
bool robust =
true );
88 void setMultiWeights(
bool multi =
true );
95 double getSigma()
const;
97 std::vector<NormalDistribution> getDistributionVector()
const;
100 bool inMask(
long x = 0,
long y = 0,
long z = 0,
long t = 0 );
101 void fitOne(
const carto::VolumeRef<WeightType> & volweight,
105 std::vector<NormalDistribution> _distrib;
106 carto::VolumeRef<DataType> _data;
107 carto::VolumeRef<WeightType> _weight;
108 carto::VolumeRef<MaskType> _mask;
112 std::vector<float> _vs_data;
113 std::vector<float> _vs_mask;
119 #endif // PRIMATOLOGIST_PROBA_NORMAL_H double normal(double x, double mu, double sigma)
carto::VolumeRef< P > & pdf(const std::vector< Distrib > ¶m, const carto::VolumeRef< I > &values, carto::VolumeRef< P > &output, const carto::VolumeRef< M > &mask)
double gauss(double x, double mu, double sigma)