}
//---------------------------------------------------------------------------
-void BrushFilter::FindMinMaxBrush(int &minX, int &maxX, int &minY, int &maxY,
+void BrushFilter::FindMinMaxBrush(int px, int py, int pz,int &minX, int &maxX, int &minY, int &maxY,
int &minZ, int &maxZ, int &size)
{
size = _brushsize - 1;
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+/*
minX = _px - size;
maxX = _px + size;
minY = _py - size;
maxY = _py + size;
minZ = _pz - size;
maxZ = _pz + size;
-
if (_2D3D == 0) //2D
{
if (_direction == 0) // YZ
maxZ = _pz;
}
} // _2D3D
+*/
+ minX = px - size;
+ maxX = px + size;
+ minY = py - size;
+ maxY = py + size;
+ minZ = pz - size;
+ maxZ = pz + size;
+ if (_2D3D == 0) //2D
+ {
+ if (_direction == 0) // YZ
+ {
+ minX = px;
+ maxX = px;
+ }
+ if (_direction == 1) // XZ
+ {
+ minY = py;
+ maxY = py;
+ }
+ if (_direction == 2) // XY
+ {
+ minZ = pz;
+ maxZ = pz;
+ }
+ } // _2D3D
if (_2D3D == 1) { } // 3D
}
//---------------------------------------------------------------------------
-void BrushFilter::Run() // virtual
+void BrushFilter::Run(int px, int py, int pz) // virtual
{
if (_image != NULL)
{
- this->_IMManager->BaseInitialPoint(_px, _py ,_pz);
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// this->_IMManager->BaseInitialPoint(_px, _py ,_pz);
+ this->_IMManager->BaseInitialPoint(px, py ,pz);
float value = (float) _graylevel;
int i, j, k;
int size;
int minX, maxX, minY, maxY, minZ, maxZ;
- FindMinMaxBrush(minX, maxX, minY, maxY, minZ, maxZ, size);
+ FindMinMaxBrush(px,py,pz,minX, maxX, minY, maxY, minZ, maxZ, size);
double xx, yy, zz, rr = size * size;
float scalarComponent;
for (i = minX; i <= maxX; i++)
{
- xx = _px - i;
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// xx = _px - i;
+ xx = px - i;
xx = xx * xx;
for (j = minY; j <= maxY; j++)
{
- yy = _py - j;
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// yy = _py - j;
+ yy = py - j;
yy = yy * yy;
for (k = minZ; k <= maxZ; k++)
{
} // _brushform 0
if (_brushform == 1)
{
- zz = _pz - k;
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// zz = _pz - k;
+ zz = pz - k;
zz = zz * zz;
if ((xx + yy + zz) <= rr) {
pixelModify=true;