77 for (
size_t index=0; index<
itsNdata; index++) {
113 for (
size_t index=0; index<
itsNdata; index++) {
127 for (
size_t index=0; index<
itsNdata; index++) {
185 for (
size_t index=0; index<ndata; index++)
187 pixVal =cellData[index];
191 sigma += pixVal*pixVal;
205 if (statNData == 0) {
206 throw Elements::Exception() <<
"Can not compute meaningful stats with statNData=" << statNData <<
"!";
208 mean /= (double)statNData;
209 sigma = sigma/statNData - mean*mean;
221 for (
size_t index=0; index<ndata; index++)
223 pixVal =cellData[index];
224 if (pixVal>=lcut && pixVal <= hcut)
227 sigma += pixVal*pixVal;
234 if (statNData == 0) {
235 throw Elements::Exception() <<
"Can not compute meaningful stats with statNData=" << statNData <<
"!";
238 mean /= (double)statNData;
239 sigma = sigma/statNData - mean*mean;
240 sigma = sigma>0.0 ?
sqrt(sigma):0.0;
253 int weightSigma_zero=0;
261 for (
size_t index=0; index<ndata; index++)
263 pixVal =
static_cast<double>(cellData[index]);
264 weightVal =
static_cast<double>(cellWeight[index]);
265 if (weightVal <
static_cast<double>(weightThresh) && pixVal > -
BIG)
268 sigma += pixVal*pixVal;
269 weightMean += weightVal;
270 weightSigma += weightVal*weightVal;
277 if (
static_cast<float>(statNData) <
static_cast<float>(ndata*
BACK_MINGOODFRAC))
287 mean /=
static_cast<double>(statNData);
288 sigma = sigma/
static_cast<double>(statNData) - mean*mean;
290 weightMean /=
static_cast<double>(statNData);
291 weightSigma = weightSigma/
static_cast<double>(statNData) - weightMean*weightMean;
293 if (weightSigma==0.0 && statNData>0)
310 for (
size_t index=0; index<ndata; index++)
312 pixVal =
static_cast<double>(cellData[index]);
313 weightVal =
static_cast<double>(cellWeight[index]);
314 if (weightVal < weightThresh && pixVal <=hcut && pixVal>=lcut)
317 sigma += pixVal*pixVal;
320 if ((weightVal<=weightHcut && weightVal>=weightLcut) || weightSigma_zero)
322 weightMean += weightVal;
323 weightSigma += weightVal*weightVal;
331 if (statNData == 0) {
332 throw Elements::Exception() <<
"Can not compute meaningful data stats with statNData=" << statNData;
334 mean /=
static_cast<double>(statNData);
335 sigma = sigma/statNData - mean*mean;
336 sigma = sigma>0.0 ?
sqrt(sigma):0.0;
340 if (statNWeight == 0) {
341 throw Elements::Exception() <<
"Can not compute meaningful weight stats with statNWeight=" << statNWeight;
343 weightMean /=
static_cast<double>(statNWeight);
344 weightSigma = weightSigma/
static_cast<double>(statNWeight) - weightMean*weightMean;
345 weightSigma = weightSigma>0.0 ?
sqrt(weightSigma):0.0;