20 #if !defined(__MITSUBA_CORE_CHISQUARE_H_)
21 #define __MITSUBA_CORE_CHISQUARE_H_
24 #include <boost/tuple/tuple.hpp>
25 #include <boost/function.hpp>
30 #define CHISQR_MIN_EXP_FREQUENCY 5
112 ChiSquare(
int thetaBins = 10,
int phiBins = 0,
113 int numTests = 1,
size_t sampleCount = 0);
144 const boost::function<boost::tuple<Vector, Float, EMeasure>()> &sampleFn,
150 void dumpTables(
const fs::path &filename);
162 ETestResult runTest(
Float pvalThresh = 0.01f);
170 static
void integrand(
173 #if defined(MTS_OPENMP)
174 #pragma omp parallel for
176 for (
int i=0; i<(int) nPts; ++i)
183 int m_thetaBins, m_phiBins;
185 size_t m_sampleCount;
void setTolerance(Float tolerance)
Set the tolerance threshold for bins with very low aggregate probabilities.
Definition: chisquare.h:135
ETestResult
Possible outcomes in runTest()
Definition: chisquare.h:84
Chi-square goodness-of-fit test on the sphere.
Definition: chisquare.h:81
#define MTS_EXPORT_CORE
Definition: getopt.h:29
void setLogLevel(ELogLevel logLevel)
Set the log level.
Definition: chisquare.h:119
EMeasure
A list of measures that are associated with various sampling methods in Mitsuba.
Definition: common.h:56
ELogLevel getLogLevel() const
Get the log level.
Definition: chisquare.h:116
Solid angle measure.
Definition: common.h:60
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
MTS_EXPORT_CORE Vector sphericalDirection(Float theta, Float phi)
Convert spherical coordinates to a direction.
ELogLevel
Available Log message types.
Definition: formatter.h:28
Parent of all Mitsuba classes.
Definition: object.h:38