WHcoord fileManager::meanCoordFromMask() const { if (m_maskMatrix.empty()) { std::cerr<< "ERROR @ fileManager::storeFullTract(): Mask hast not been loaded, returning 0 coordinate"<<std::endl; return WHcoord(); } size_t sumX( 0 ), sumY( 0 ), sumZ( 0 ), sumElements( 0 ); for( int i=0 ; i<m_maskMatrix.size() ; ++i ) { for( int j=0 ; j< m_maskMatrix[i].size() ; ++j ) { for( int k=0 ; k<m_maskMatrix[i][j].size() ; ++k ) { if (m_maskMatrix[i][j][k]) { sumX += i; sumY += j; sumZ += k; ++sumElements; } } } } size_t meanX( sumX/sumElements ); size_t meanY( sumY/sumElements ); size_t meanZ( sumZ/sumElements ); WHcoord meanCoord(meanX,meanY,meanZ); return meanCoord; } // end "meanCoordFromMask()" -----------------------------------------------------------------
treg_data_data Regression::mean_x(){ treg_data_data mean = 0.0; mean = sumX() / num_data_points; return( mean ); }
treg_data_data Regression::stand_dev_x(){ // Calculates the standard deviation of all x values //http://onlinestatbook.com/2/summarizing_distributions/variability.html treg_data_data stand_dev = 0.0; treg_data_data variance = 0.0; treg_data_data sumxsq = 0.0; treg_data_data sumx_sqn = 0.0; sumxsq = sumXX(); sumx_sqn = pow( sumX(), 2) / num_data_points; variance = (sumxsq-sumx_sqn)/( num_data_points - 1 ); stand_dev = sqrt(variance); return(stand_dev); }
double LinearRegression::bottom() { double b = sumXX()-(sumX()*sumY()/(double)data.size()); return(b); }
double LinearRegression::top() { double t = sumXY()-((sumX()*sumY())/ (double)data.size()); return(t); }
double LinearRegression::offset() { double o = sumY() - gain()*sumX()/(double)data.size(); return(o); }