]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkApplyMask.cxx
#3481 Bug ImageContinuousErode3D return empty object clean
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkApplyMask.cxx
index 463ee223014c2fef4b19ff71ea3bca51abb7608f..03baf29676d02b9081c2e107db594ec6424ac379 100644 (file)
@@ -38,14 +38,13 @@ void ApplyMask::Process()
                int                             extMask[6];
                vtkImageData            *resultImage=NULL;
                bbGetInputImage()->GetExtent( extImage );
-               bbGetInputImage()->GetExtent( extMask );
+        bbGetInputMask()->GetExtent( extMask );
                int dimXImage           = extImage[1]-extImage[0]+1;
                int dimYImage           = extImage[3]-extImage[2]+1;
                int dimZImage           = extImage[5]-extImage[4]+1;
                int dimXMask            = extMask[1]-extMask[0]+1;
                int dimYMask            = extMask[3]-extMask[2]+1;
                int dimZMask            = extMask[5]-extMask[4]+1;
-
                double background       = bbGetInputBackground();
                double bgToAnalice      = bbGetInputBackgroundToAnalice();
 
@@ -87,7 +86,6 @@ void ApplyMask::Process()
                                DEF_POINTER_IMAGE_VTK_CREA(vI,ssI,pI,stI, bbGetInputImage() );
                                DEF_POINTER_IMAGE_VTK_CREA(vM,ssM,pM,stM, bbGetInputMask() );
                                DEF_POINTER_IMAGE_VTK_CREA(vO,ssO,pO,stO, resultImage );
-
 long int k1omp=(double)(size-1)*0.0;
 long int k2omp=(double)(size-1)*0.2;
 long int k3omp=(double)(size-1)*0.4;
@@ -104,7 +102,6 @@ if ( (k1omp==i) || (k2omp==i) || (k3omp==i) ||
                                        double vMtmpOMP;
                                        double vOtmpOMP;
                                        GETVALUE2_VTK_CREA(vMtmpOMP,pM,stM,i);
-
                                        if (bbGetInputType()==0)  //Applay mask to new Image
                                        {               
                                                GETVALUE2_VTK_CREA(vItmpOMP,pI,stI,i);
@@ -116,7 +113,6 @@ if ( (k1omp==i) || (k2omp==i) || (k3omp==i) ||
                                                } // if vM
                                                SETVALUE2_VTK_CREA(vOtmpOMP,pO,stO,i);  
                                        } // if Type==0
-
                                        if (bbGetInputType()==1)  //Modifiy the Input image with the Label value in Mask place
                                        {               
                                                if (vMtmpOMP!=bgToAnalice)
@@ -125,7 +121,6 @@ if ( (k1omp==i) || (k2omp==i) || (k3omp==i) ||
                                                        SETVALUE2_VTK_CREA(vOtmpOMP,pO,stO,i);  
                                                }
                                        } // if Type==1
-
                                        if (bbGetInputType()==2)  //Modifiy the Input image with the Mask value
                                        {               
                                                if (vMtmpOMP!=bgToAnalice)
@@ -134,12 +129,16 @@ if ( (k1omp==i) || (k2omp==i) || (k3omp==i) ||
                                                        SETVALUE2_VTK_CREA(vOtmpOMP,pO,stO,i);  
                                                }
                                        } // if Type==2
-
                                } // for
                } //if dim
                resultImage->Modified();
                bbSetOutputOut( resultImage );
-       } // if Image && Mask   
+    } else {
+        if (bbGetInputType()==2)
+        {
+            bbSetOutputOut( bbGetInputImage() );
+        }
+    }// if Image && Mask
 }
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)