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;
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>() );
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;
NormalDistribution(const NormalDistribution &other)
virtual ~NormalDistribution()
double pdf(double x) const
Probability Density Function.
NormalDistribution & operator=(const NormalDistribution &other)
NormalDistribution(double mu=0., double sigma=1.)
void setSigma(double sigma)
void setMask(const carto::VolumeRef< MaskType > &mask=vol::empty< MaskType >())
void setMultiWeights(bool multi=true)
void setWeight(const carto::VolumeRef< WeightType > &weight=vol::empty< WeightType >())
void fitOne(const carto::VolumeRef< WeightType > &volweight, NormalDistribution &distrib)
bool inMask(long x=0, long y=0, long z=0, long t=0)
std::vector< NormalDistribution > getDistributionVector() const
void setBessel(bool bessel=true)
void setRobust(bool robust=true)
NormalDistribution getDistribution() const
void setData(const carto::VolumeRef< DataType > &data=vol::empty< DataType >())
double gauss(double x, double mu, double sigma)
double normal(double x, double mu, double sigma)