43 do_random(Random &rand) :
_rand(rand) {}
49 struct do_uniform :
public do_random<T> {
50 do_uniform(Random &rand) : do_random<T>(rand) {}
56 struct do_uniformPos :
public do_random<T> {
57 do_uniformPos(Random &rand) : do_random<T>(rand) {}
63 struct do_uniformInt :
public do_random<T> {
64 do_uniformInt(Random &rand,
unsigned long n) : do_random<T>(rand),
_n(n) {}
72 struct do_flat :
public do_random<T> {
73 do_flat(Random &rand,
double const a,
double const b) : do_random<T>(rand),
_a(a),
_b(b) {}
82 struct do_gaussian :
public do_random<T> {
83 do_gaussian(Random &rand) : do_random<T>(rand) {}
89 struct do_chisq :
public do_random<T> {
90 do_chisq(Random &rand,
double nu) : do_random<T>(rand),
_nu(nu) {}
98 struct do_poisson :
public do_random<T> {
99 do_poisson(Random &rand,
double mu) : do_random<T>(rand),
_mu(mu) {}
111 template<
typename ImageT>
121 template<
typename ImageT>
131 template<
typename ImageT>
142 template<
typename ImageT>
154 template<
typename ImageT>
164 template<
typename ImageT>
176 template<
typename ImageT>
189 #define INSTANTIATE(T) \
190 template void randomUniformImage(lsst::afw::image::Image<T> *image, Random &rand); \
191 template void randomUniformPosImage(lsst::afw::image::Image<T> *image, Random &rand); \
192 template void randomUniformIntImage(lsst::afw::image::Image<T> *image, Random &rand, unsigned long n); \
193 template void randomFlatImage(lsst::afw::image::Image<T> *image, \
194 Random &rand, double const a, double const b); \
195 template void randomGaussianImage(lsst::afw::image::Image<T> *image, Random &rand); \
196 template void randomChisqImage(lsst::afw::image::Image<T> *image, Random &rand, double const nu); \
197 template void randomPoissonImage(lsst::afw::image::Image<T> *image, Random &rand, double const mu);
void randomUniformImage(ImageT *image, Random &rand)
double chisq(double const nu)
double flat(double const a, double const b)
void for_each_pixel(Image< LhsT > &lhs, pixelOp0< LhsT > const &func)
void randomFlatImage(ImageT *image, Random &rand, double const a, double const b)
double poisson(double const nu)
table::Key< table::Array< Kernel::Pixel > > image
void randomUniformPosImage(ImageT *image, Random &rand)
void randomChisqImage(ImageT *image, Random &rand, double const nu)
unsigned long uniformInt(unsigned long n)
void randomGaussianImage(ImageT *image, Random &rand)
Support for functors over Image's pixels.
lsst::afw::math::Random & _rand
Random number generator class.
void randomUniformIntImage(ImageT *image, Random &rand, unsigned long n)
void randomPoissonImage(ImageT *image, Random &rand, double const mu)
afw::table::Key< double > b