]> Creatis software - creaRigidRegistration.git/blobdiff - lib/Transparency.cxx
#3221 creaRigidRegistration Feature New Normal - vtk8itk4wx3-mingw64
[creaRigidRegistration.git] / lib / Transparency.cxx
index 874968555fb68b43109df524653f919f25abfe5c..18552839af23cf7fe497eabd950b8054d07b2ec6 100644 (file)
 //------------------------------------------------------------
 Transparency::Transparency()
 {
-       _image1=NULL;
-       _image2=NULL;
-       _percent=0;
-       _newImage = NULL;
-       _processed=false;
+       _image1         = NULL;
+       _image2         = NULL;
+       _percent        = 0;
+       _newImage       = NULL;
+       _processed      = false;
 }
 
 /*
@@ -52,9 +52,10 @@ Transparency::~Transparency()
 //------------------------------------------------------------
 void Transparency::calculateImage()
 {
-
+printf("EED  Transparency::calculateImage Start\n");
        if(_image1!=NULL && _image2!=NULL)
        {
+printf("EED  Transparency::calculateImage 1\n");
 
                // IMAGE 1
                        
@@ -62,30 +63,25 @@ void Transparency::calculateImage()
                _image1->GetSpacing(spcImg1);
                _image1->GetExtent(extImg1);
                _type = _image1->GetScalarType();
-               
                // The Z dimension is 1 for a 2D image
                dimImg1[0] = extImg1[1] - extImg1[0]+1;
                dimImg1[1] = extImg1[3] - extImg1[2]+1;
                dimImg1[2] = 1;
-
                //IMAGE 2
-
                // Information from image2
                _image2->GetSpacing(spcImg2);
                _image2->GetExtent(extImg2);
-               
                // The Z dimension is 1 for a 2D image
                dimImg2[0] = extImg2[1] - extImg2[0]+1;
                dimImg2[1] = extImg2[3] - extImg2[2]+1;
                dimImg2[2] = 1;
-
                long numPixelsImg1 = dimImg1[0]*dimImg1[1];
-               long numPixelsImg2 = dimImg2[0]*dimImg2[1];
-               
+               long numPixelsImg2 = dimImg2[0]*dimImg2[1];             
                double factorX = 1;
                double factorY = 1;
                vtkImageResample *resample = vtkImageResample::New();
                vtkImageData *result;
+printf("EED  Transparency::calculateImage 2\n");
                if(numPixelsImg1<numPixelsImg2)
                {
 //EED 2017-01-01 Migration VTK7
@@ -99,7 +95,6 @@ void Transparency::calculateImage()
                        resample->SetAxisMagnificationFactor(0,factorX);
                        resample->SetAxisMagnificationFactor(1,factorY);
                        resample->SetInformationInput(_image2);
-
                        initialize(dimImg2, spcImg2);
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
@@ -107,7 +102,7 @@ void Transparency::calculateImage()
 #else
                        resample->Update();
 #endif
-
+printf("EED  Transparency::calculateImage 3\n");
                        result = resample->GetOutput();
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
@@ -116,10 +111,8 @@ void Transparency::calculateImage()
                        //...
 #endif
                        createImage(result,_image2,dimImg2[0],dimImg2[1]);              
-                       
-               } //if
-               else if (numPixelsImg1>numPixelsImg2)
-               {
+               } else if (numPixelsImg1>numPixelsImg2) {
+printf("EED  Transparency::calculateImage 4\n");
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
                        resample->SetInput(_image2);
@@ -131,9 +124,7 @@ void Transparency::calculateImage()
                        resample->SetAxisMagnificationFactor(0,factorX);
                        resample->SetAxisMagnificationFactor(1,factorY);
                        resample->SetInformationInput(_image1);
-
                        initialize(dimImg1, spcImg1);
-
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
                        // ...
@@ -148,11 +139,11 @@ void Transparency::calculateImage()
 #else
                        result->Modified();
 #endif
-
+printf("EED  Transparency::calculateImage 4.1\n");
                        createImage(_image1,result,dimImg1[0],dimImg1[1]);
-               } // else if
-               else
-               {
+printf("EED  Transparency::calculateImage 4.2\n");
+               } else {
+printf("EED  Transparency::calculateImage 5\n");
                        //If both images have the same number of pixels, the resultant image will have the 
                        //properties of the first image.
 //EED 2017-01-01 Migration VTK7
@@ -173,23 +164,23 @@ void Transparency::calculateImage()
 #else
                        resample->Update();
 #endif
-
                        result = resample->GetOutput();
-
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
                        result->Update();
 #else
                        result->Modified();
 #endif
-                       
                        createImage(_image1,result,dimImg1[0],dimImg1[1]);
-
+printf("EED  Transparency::calculateImage 6\n");
                } //else
-               
                resample->Delete();             
                _processed=true;
+printf("EED  Transparency::calculateImage 7\n");
        }
+
+printf("EED  Transparency::calculateImage End\n");
+
 }
 
 void Transparency::initialize(int dimensions[], double spacing[])
@@ -206,61 +197,64 @@ void Transparency::initialize(int dimensions[], double spacing[])
 #else
        _newImage->AllocateScalars(_type,1);
 #endif
-
-
 }
 
 void Transparency::createImage(vtkImageData *img1, vtkImageData *img2, int sizeX, int sizeY)
 {
+printf("EED  Transparency::createImage Start\n");
 //     int i, j;  EED ???
-
        if(_type == VTK_CHAR)
        {
+printf("EED  Transparency::createImage 1\n");
                //POINTERS: 
-               char* dataImagePointer1 = NULL;
-               char* dataImagePointer2 = NULL;
-               char* dataImageResultPointer = NULL;
-       
+               char* dataImagePointer1                 = NULL;
+               char* dataImagePointer2                 = NULL;
+               char* dataImageResultPointer    = NULL;
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_SIGNED_CHAR)
        {
+printf("EED  Transparency::createImage 2\n");
                //POINTERS: 
-               signed char* dataImagePointer1 = NULL;
-               signed char* dataImagePointer2 = NULL;
+               signed char* dataImagePointer1          = NULL;
+               signed char* dataImagePointer2          = NULL;
                signed char* dataImageResultPointer = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_UNSIGNED_CHAR)
        {
+printf("EED  Transparency::createImage 3\n");
                //POINTERS: 
-               unsigned char* dataImagePointer1 = NULL;
-               unsigned char* dataImagePointer2 = NULL;
-               unsigned char* dataImageResultPointer = NULL;
+               unsigned char* dataImagePointer1                = NULL;
+               unsigned char* dataImagePointer2                = NULL;
+               unsigned char* dataImageResultPointer   = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_SHORT)
        {
+printf("EED  Transparency::createImage 4\n");
                //POINTERS: 
-               short* dataImagePointer1 = NULL;
-               short* dataImagePointer2 = NULL;
-               short* dataImageResultPointer = NULL;
+               short* dataImagePointer1                = NULL;
+               short* dataImagePointer2                = NULL;
+               short* dataImageResultPointer   = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_UNSIGNED_SHORT)
        {
+printf("EED  Transparency::createImage 5\n");
                //POINTERS: 
-               unsigned short* dataImagePointer1 = NULL;
-               unsigned short* dataImagePointer2 = NULL;
-               unsigned short* dataImageResultPointer = NULL;
+               unsigned short* dataImagePointer1               = NULL;
+               unsigned short* dataImagePointer2               = NULL;
+               unsigned short* dataImageResultPointer  = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_INT)
        {
+printf("EED  Transparency::createImage 6\n");
                //POINTERS: 
                int* dataImagePointer1 = NULL;
                int* dataImagePointer2 = NULL;
@@ -270,6 +264,7 @@ void Transparency::createImage(vtkImageData *img1, vtkImageData *img2, int sizeX
        }
        else if(_type == VTK_UNSIGNED_INT)
        {
+printf("EED  Transparency::createImage 7\n");
                //POINTERS: 
                unsigned int* dataImagePointer1 = NULL;
                unsigned int* dataImagePointer2 = NULL;
@@ -279,6 +274,7 @@ void Transparency::createImage(vtkImageData *img1, vtkImageData *img2, int sizeX
        }
        else if(_type == VTK_LONG)
        {
+printf("EED  Transparency::createImage 8\n");
                //POINTERS: 
                long* dataImagePointer1 = NULL;
                long* dataImagePointer2 = NULL;
@@ -288,28 +284,31 @@ void Transparency::createImage(vtkImageData *img1, vtkImageData *img2, int sizeX
        }
        else if(_type == VTK_UNSIGNED_LONG)
        {
+printf("EED  Transparency::createImage 9\n");
                //POINTERS: 
-               unsigned long* dataImagePointer1 = NULL;
-               unsigned long* dataImagePointer2 = NULL;
-               unsigned long* dataImageResultPointer = NULL;
+               unsigned long* dataImagePointer1                = NULL;
+               unsigned long* dataImagePointer2                = NULL;
+               unsigned long* dataImageResultPointer   = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);              
        }
        else if(_type == VTK_FLOAT)
        {
+printf("EED  Transparency::createImage 10\n");
                //POINTERS: 
-               float* dataImagePointer1 = NULL;
-               float* dataImagePointer2 = NULL;
-               float* dataImageResultPointer = NULL;
+               float* dataImagePointer1                = NULL;
+               float* dataImagePointer2                = NULL;
+               float* dataImageResultPointer   = NULL;
        
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
        else if(_type == VTK_DOUBLE)
        {
+printf("EED  Transparency::createImage 11\n");
                //POINTERS: 
-               double* dataImagePointer1 = NULL;
-               double* dataImagePointer2 = NULL;
-               double* dataImageResultPointer = NULL;
+               double* dataImagePointer1               = NULL;
+               double* dataImagePointer2               = NULL;
+               double* dataImageResultPointer  = NULL;
 
                createImageByType(dataImagePointer1, dataImagePointer2, dataImageResultPointer, img1, img2, sizeX, sizeY);
        }
@@ -320,31 +319,36 @@ void Transparency::createImage(vtkImageData *img1, vtkImageData *img2, int sizeX
 #else
        _newImage->Modified();
 #endif
-
-
+printf("EED  Transparency::createImage End\n");
 }
 
 template <class T>
 void Transparency::createImageByType(T* dataImagePointer1, T* dataImagePointer2, T* dataImageResultPointer, vtkImageData *img1, vtkImageData *img2, int sizeX, int sizeY)
 {
+printf("EED  Transparency::createImageByType Start %d %d\n", sizeX, sizeY);
        int i, j;
-       
        dataImagePointer1 = (T*) img1->GetScalarPointer(0,0,0);
        dataImagePointer2 = (T*) img2->GetScalarPointer(0,0,0);
        dataImageResultPointer = (T*) _newImage->GetScalarPointer(0,0,0);
+printf("EED  Transparency::createImageByType 0 %d %d\n", sizeX, sizeY);
        for(i = 0; i < sizeX; i++)
        {
                for(j = 0; j < sizeY; j++)
                {
+printf("EED  Transparency::createImageByType 2 %d %d\n", sizeX, sizeY);
                        dataImagePointer1 = (T*)img1->GetScalarPointer(i,j,0);
+printf("EED  Transparency::createImageByType 3 %d %d\n", sizeX, sizeY);
                        dataImagePointer2 = (T*)img2->GetScalarPointer(i,j,0);
+printf("EED  Transparency::createImageByType 4 %d %d\n", sizeX, sizeY);
                        dataImageResultPointer = (T*)_newImage->GetScalarPointer(i,j,0);
-                       
+printf("EED  Transparency::createImageByType 5 %d %d\n", sizeX, sizeY);
                        *dataImageResultPointer = (T)*dataImagePointer1*_percent + (T)*dataImagePointer2*(1-_percent);                          
-               }
-       }
+printf("EED  Transparency::createImageByType 6 %d %d\n", sizeX, sizeY);
+               } // for h
+       } // for i
+printf("EED  Transparency::createImageByType End\n");
 }
-
+       
 /*
 * Get new image
 */