]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkReadMHDPlane.cxx
#3389 creaVtk Feature New Normal - new box save_YZ_XZ_volume
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkReadMHDPlane.cxx
index 800b0be4e3a34b77e9f7ba6056a3d7bcb9a4b263..3581966d4a7db99c5ac697035c1289a3e408dd59 100644 (file)
@@ -13,8 +13,9 @@
 #include <sys/types.h>
 
 #if defined(_WIN32)
+       #include <share.h> 
 #else
-#include <unistd.h>
+       #include <unistd.h>
 #endif // defined(_WIN32)
 
 #include <stdlib.h>
@@ -35,140 +36,169 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ReadMHDPlane,bbtk::AtomicBlackBox);
 
 vtkImageData* ReadMHDPlane::CreateDefaultImage()
 {
+       vtkImageData *newImage = NULL;
+/*
+       newImage = vtkImageData::New();
        int i;
        int sizeX, sizeY, sizeZ;
-       sizeX = 200;
+       sizeX = 1;
        sizeY = sizeX;
        sizeZ = 1;
        vtkImageData *newImage = vtkImageData::New();
        newImage->Initialize();
-       newImage->SetScalarTypeToUnsignedChar();
        newImage->SetSpacing( 1,1,1 );
        newImage->SetDimensions(  sizeX,sizeY,sizeZ );
+       newImage->SetExtent(0,  sizeX-1,0,sizeY-1,0,sizeZ-1 );  
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        newImage->SetWholeExtent(0,  sizeX-1,0,sizeY-1,0,sizeZ-1 );
-       newImage->SetExtent(0,  sizeX-1,0,sizeY-1,0,sizeZ-1 );
+       newImage->SetScalarTypeToUnsignedChar();
        newImage->SetNumberOfScalarComponents(1);
        newImage->AllocateScalars();
        newImage->Update();
-       memset ( (void*)newImage->GetScalarPointer(), 0, sizeX*sizeY*1 );
-       for (i=0; i<sizeX; i++)
-       {
-               newImage->SetScalarComponentFromDouble(i,i,0, 0, 255 );
-               newImage->SetScalarComponentFromDouble(i,sizeY-1-i,0, 0, 255 );
-       } // for i
+#else
+//     newImage->AllocateScalars(VTK_UNSIGNED_CHAR,1);
+       newImage->AllocateScalars(VTK_SHORT,1);
+#endif
+//     memset ( (void*)newImage->GetScalarPointer(), 0, sizeX*sizeY*sizeZ*sizeof(unsigned char) );
+       memset ( (void*)newImage->GetScalarPointer(), 0, sizeX*sizeY*sizeof(short) );
+//     for (i=0; i<sizeX; i++)
+//     {
+//             newImage->SetScalarComponentFromDouble(i,i                      ,0, 0, 255 );
+//             newImage->SetScalarComponentFromDouble(i,sizeY-1-i      ,0, 0, 255 );
+//     } // for i
+       newImage->Modified();
+*/
        return newImage;
 } 
 
 vtkImageData* ReadMHDPlane::ChangeOrientation(vtkImageData* imgOrg)
 {
-       int     width = bbGetInputWidth();
-       int     ext[6];
-       int     sizeXOrg, sizeYOrg,sizeZOrg;
-       int     sizeXDst, sizeYDst,sizeZDst;
-       imgOrg->GetWholeExtent(ext);
-       int     sizeLine;
-       
-       sizeXOrg        = ext[1]-ext[0]+1;
-       sizeYOrg        = ext[3]-ext[2]+1;
-       sizeZOrg        = ext[5]-ext[4]+1;
-
-       if (bbGetInputDirectionPlane()=="XY")
-       {
-               sizeXDst        = ext[1]-ext[0]+1;
-               sizeYDst        = ext[3]-ext[2]+1;
-               sizeZDst        = width;
-       } // XY 
-       if (bbGetInputDirectionPlane()=="YZ") 
-       {
-               sizeXDst        = width;
-               sizeYDst        = ext[1]-ext[0]+1;
-               sizeZDst        = ext[3]-ext[2]+1;
-               sizeLine        = sizeYDst;
-       } // YZ
-       if (bbGetInputDirectionPlane()=="ZX")
-       {
-               sizeXDst        = ext[1]-ext[0]+1;
-               sizeYDst        = width;
-               sizeZDst        = ext[3]-ext[2]+1;
-               sizeLine        = sizeXDst;
-       } // ZX
-       vtkImageData *imgDst  = vtkImageData::New();
-       imgDst->Initialize();
-       imgDst->SetScalarType( imgOrg->GetScalarType() );
-       imgDst->SetSpacing( imgOrg->GetSpacing() );
-       imgDst->SetDimensions( sizeXDst,sizeYDst,sizeZDst );
-       imgDst->SetWholeExtent(0,sizeXDst-1,0,sizeYDst-1,0,sizeZDst-1 );
-       imgDst->SetExtent(0,sizeXDst-1,0,sizeYDst-1,0,sizeZDst-1 );
-       imgDst->SetNumberOfScalarComponents(1);
-       imgDst->AllocateScalars();
-       imgDst->Update();
-
-       char *ptrDst,*ptrOrg;
-       int sizeBytes = imgOrg->GetScalarSize();                
-       int sizeLineBytes = sizeLine*imgOrg->GetScalarSize();           
-       int xx,yy,zz;
-
-       long int sizeXDstBytes          = sizeXDst*sizeBytes;
-       long int sizeXYDstBytes         = sizeXDst*sizeYDst*sizeBytes;
-       long int sizeXYDstBytes2        = sizeXDst*sizeYDst*sizeBytes*2;
-       long int sizeXYZDstBytes        = sizeXDst*sizeYDst*sizeZDst*sizeBytes;
-       long int sizeXYZDstBytes1       = sizeXDst*sizeYDst*(sizeZDst-1)*sizeBytes;
-
-       ptrOrg = (char*)( imgOrg->GetScalarPointer() );
-
-       if (bbGetInputDirectionPlane()=="XY")
-       {
-               memcpy ( imgDst->GetScalarPointer(), ptrOrg , sizeXDst*sizeYDst*sizeZDst*(imgOrg->GetScalarSize()) );
-       } // if XY
+       vtkImageData *imgDst  = NULL;
 
-       if (bbGetInputDirectionPlane()=="ZX")
+       if (imgOrg!=NULL)
        {
-               ptrDst = (char*)( imgDst->GetScalarPointer(0,0,sizeYOrg-00-1) );
-               for( zz=0 ; zz<sizeZOrg ; zz++)
+               int     width;
+               int     ext[6];
+               int     sizeXOrg, sizeYOrg,sizeZOrg;
+               int     sizeXDst, sizeYDst,sizeZDst;
+       //EED 2017-01-01 Migration VTK7
+       #if VTK_MAJOR_VERSION <= 5
+               imgOrg->GetWholeExtent(ext);
+       #else
+               imgOrg->GetExtent(ext);
+       #endif
+               int     sizeLine;
+               
+               sizeXOrg        = ext[1]-ext[0]+1;
+               sizeYOrg        = ext[3]-ext[2]+1;
+               sizeZOrg        = ext[5]-ext[4]+1;
+       width=sizeZOrg;
+
+               if (bbGetInputDirectionPlane()=="XY")
+               {
+                       sizeXDst        = ext[1]-ext[0]+1;
+                       sizeYDst        = ext[3]-ext[2]+1;
+                       sizeZDst        = width;
+               } // XY 
+               if (bbGetInputDirectionPlane()=="YZ") 
                {
-//                     ptrDst=(char*)( imgDst->GetScalarPointer(0,zz,sizeYOrg-00-1) );
-                       for( yy=0 ; yy<sizeYOrg ; yy++)
+                       sizeXDst        = width;
+                       sizeYDst        = ext[1]-ext[0]+1;
+                       sizeZDst        = ext[3]-ext[2]+1;
+                       sizeLine        = sizeYDst;
+               } // YZ
+               if (bbGetInputDirectionPlane()=="ZX")
+               {
+                       sizeXDst        = ext[1]-ext[0]+1;
+                       sizeYDst        = width;
+                       sizeZDst        = ext[3]-ext[2]+1;
+                       sizeLine        = sizeXDst;
+               } // ZX
+               imgDst  = vtkImageData::New();
+               imgDst->Initialize();
+               imgDst->SetSpacing( imgOrg->GetSpacing() );
+               imgDst->SetDimensions( sizeXDst,sizeYDst,sizeZDst );
+               imgDst->SetExtent(0,sizeXDst-1,0,sizeYDst-1,0,sizeZDst-1 );
+               
+       //EED 2017-01-01 Migration VTK7
+       #if VTK_MAJOR_VERSION <= 5
+               imgDst->SetWholeExtent(0,sizeXDst-1,0,sizeYDst-1,0,sizeZDst-1 );
+               imgDst->SetScalarType( imgOrg->GetScalarType() );
+               imgDst->SetNumberOfScalarComponents(1);
+               imgDst->AllocateScalars();
+               imgDst->Update();
+       #else
+               imgDst->AllocateScalars(imgOrg->GetScalarType(),1);
+       #endif
+
+               char *ptrDst,*ptrOrg;
+               int sizeBytes = imgOrg->GetScalarSize();                
+               int sizeLineBytes = sizeLine*imgOrg->GetScalarSize();           
+               int xx,yy,zz;
+
+               long int sizeXDstBytes          = sizeXDst*sizeBytes;
+               long int sizeXYDstBytes         = sizeXDst*sizeYDst*sizeBytes;
+               long int sizeXYDstBytes2        = sizeXDst*sizeYDst*sizeBytes*2;
+               long int sizeXYZDstBytes        = sizeXDst*sizeYDst*sizeZDst*sizeBytes;
+               long int sizeXYZDstBytes1       = sizeXDst*sizeYDst*(sizeZDst-1)*sizeBytes;
+
+               ptrOrg = (char*)( imgOrg->GetScalarPointer() );
+
+               if (bbGetInputDirectionPlane()=="XY")
+               {
+                       memcpy ( imgDst->GetScalarPointer(), ptrOrg , sizeXDst*sizeYDst*sizeZDst*(imgOrg->GetScalarSize()) );
+               } // if XY
+
+               if (bbGetInputDirectionPlane()=="ZX")
+               {
+                       ptrDst = (char*)( imgDst->GetScalarPointer(0,0,sizeYOrg-00-1) );
+                       for( zz=0 ; zz<sizeZOrg ; zz++)
                        {
-//                             ptrOrg=(char*)( imgOrg->GetScalarPointer(0,yy,zz) );
-//                             ptrDst=(char*)( imgDst->GetScalarPointer(0,zz,sizeYOrg-yy-1) );
-                               memcpy ( ptrDst, ptrOrg , sizeLineBytes );
-                               ptrOrg = ptrOrg + sizeLineBytes;
-                               ptrDst = ptrDst - sizeXYDstBytes;
-                       } // for yy 
-                       ptrDst = ptrDst + sizeXDstBytes;
-                       ptrDst = ptrDst + sizeXYZDstBytes;
-               } // for zz 
-       } // ZX
-
-       if (bbGetInputDirectionPlane()=="YZ")
-       {
-               ptrDst = (char*)( imgDst->GetScalarPointer(0,0,sizeYOrg-0-1) );
-               for( zz=0 ; zz<sizeZOrg ; zz++)
+       //                      ptrDst=(char*)( imgDst->GetScalarPointer(0,zz,sizeYOrg-00-1) );
+                               for( yy=0 ; yy<sizeYOrg ; yy++)
+                               {
+       //                              ptrOrg=(char*)( imgOrg->GetScalarPointer(0,yy,zz) );
+       //                              ptrDst=(char*)( imgDst->GetScalarPointer(0,zz,sizeYOrg-yy-1) );
+                                       memcpy ( ptrDst, ptrOrg , sizeLineBytes );
+                                       ptrOrg = ptrOrg + sizeLineBytes;
+                                       ptrDst = ptrDst - sizeXYDstBytes;
+                               } // for yy 
+                               ptrDst = ptrDst + sizeXDstBytes;
+                               ptrDst = ptrDst + sizeXYZDstBytes;
+                       } // for zz 
+               } // ZX
+
+               if (bbGetInputDirectionPlane()=="YZ")
                {
-                       ptrDst=(char*)( imgDst->GetScalarPointer(zz,0,sizeYOrg-0-1) );
-                       for( yy=0 ; yy<sizeYOrg ; yy++)
+                       ptrDst = (char*)( imgDst->GetScalarPointer(0,0,sizeYOrg-0-1) );
+                       for( zz=0 ; zz<sizeZOrg ; zz++)
                        {
-//                             ptrDst=(char*)( imgDst->GetScalarPointer(zz,0,sizeYOrg-yy-1) );
-                               for( xx=0 ; xx<sizeXOrg ; xx++)
+                               ptrDst=(char*)( imgDst->GetScalarPointer(zz,0,sizeYOrg-0-1) );
+                               for( yy=0 ; yy<sizeYOrg ; yy++)
                                {
-//                                     ptrOrg=(char*)( imgOrg->GetScalarPointer(xx,yy,zz) );
-//                                     ptrDst=(char*)( imgDst->GetScalarPointer(zz,xx,sizeYOrg-yy-1) );
-                                       memcpy ( ptrDst, ptrOrg , sizeBytes );
-                                       ptrOrg+= sizeBytes;
-                                       ptrDst+= sizeXDstBytes;
-                               } /// for xx
-                               ptrDst = ptrDst - sizeXYDstBytes2;
-                       } // for yy 
-                       ptrDst = ptrDst + sizeXYZDstBytes;
-//                     ptrDst++;
-               } // for zz 
-       } // ZX
-
+       //                              ptrDst=(char*)( imgDst->GetScalarPointer(zz,0,sizeYOrg-yy-1) );
+                                       for( xx=0 ; xx<sizeXOrg ; xx++)
+                                       {
+       //                                      ptrOrg=(char*)( imgOrg->GetScalarPointer(xx,yy,zz) );
+       //                                      ptrDst=(char*)( imgDst->GetScalarPointer(zz,xx,sizeYOrg-yy-1) );
+                                               memcpy ( ptrDst, ptrOrg , sizeBytes );
+                                               ptrOrg+= sizeBytes;
+                                               ptrDst+= sizeXDstBytes;
+                                       } /// for xx
+                                       ptrDst = ptrDst - sizeXYDstBytes2;
+                               } // for yy 
+                               ptrDst = ptrDst + sizeXYZDstBytes;
+       //                      ptrDst++;
+                       } // for zz 
+               } // ZX
+       } // if imgOrg
        return imgDst;
 }
 
 void ReadMHDPlane::Read64lseek(std::string fileNameIn, std::string plane)
 {
+       int             imageType;
        int             slice;
        int             width;
        width = bbGetInputWidth();
@@ -195,32 +225,32 @@ void ReadMHDPlane::Read64lseek(std::string fileNameIn, std::string plane)
                {
            strcpy(mystring,"\n");
                        fgets(mystring,250,ffIn);
-               if (strncmp("NDims",mystring,5)==0)                     { sscanf(mystring,"%s %s %d"            ,strTmp, strTmp, &dim);                                                                 }
-               if (strncmp("DimSize",mystring,6)==0)                   { sscanf(mystring,"%s %s %d %d %d"      ,strTmp, strTmp, &dimX, &dimY,&dimZ);                                   } 
-                       if (strncmp("ElementType",mystring,11)==0)              { sscanf(mystring,"%s %s %s"            ,strTmp, strTmp, strTmp2); formattype=strTmp2;                  }
-                       if (strncmp("ElementSpacing",mystring,14)==0)   { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &spcX,&spcY,&spcZ);                                    }
-                       if (strncmp("ElementSize",mystring,11)==0)              { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &spcX,&spcY,&spcZ);                                    }
-               if (strncmp("Offset",mystring,6)==0)                    { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &ox, &oy, &oz);                                                }
-               if (strncmp("HeaderSize",mystring,10)==0)               { sscanf(mystring,"%s %s %ld"           ,strTmp, strTmp, &headersize);                                                  }
-                       if (strncmp("ElementDataFile",mystring,15)==0)  { sscanf(mystring,"%s %s %s"            ,strTmp, strTmp, strTmp2); elementdatafile=strTmp2;             }
-               if (strncmp("ElementType = MET_CHAR",mystring,22)==0)                   { newImage->SetScalarTypeToChar();                      dataSize=sizeof(char);                  }
-               if (strncmp("ElementType = VTK_CHAR",mystring,22)==0)                   { newImage->SetScalarTypeToChar();                      dataSize=sizeof(char);                  }
-               if (strncmp("ElementType = MET_UCHAR",mystring,23)==0)                  { newImage->SetScalarTypeToUnsignedChar();      dataSize=sizeof(unsigned char); }
-               if (strncmp("ElementType = VTK_UNSIGNED_CHAR",mystring,31)==0)  { newImage->SetScalarTypeToUnsignedChar();      dataSize=sizeof(unsigned char); }
-               if (strncmp("ElementType = MET_USHORT",mystring,24)==0)                 { newImage->SetScalarTypeToUnsignedShort();     dataSize=sizeof(unsigned short);}
-               if (strncmp("ElementType = VTK_UNSIGNED_SHORT",mystring,32)==0) { newImage->SetScalarTypeToUnsignedShort();     dataSize=sizeof(unsigned short);}
-               if (strncmp("ElementType = MET_SHORT",mystring,23)==0)                  { newImage->SetScalarTypeToShort();                     dataSize=sizeof(short);                 }
-               if (strncmp("ElementType = VTK_SHORT",mystring,23)==0)                  { newImage->SetScalarTypeToShort();                     dataSize=sizeof(short);                 }
-               if (strncmp("ElementType = MET_UINT",mystring,22)==0)                   { newImage->SetScalarTypeToUnsignedInt();       dataSize=sizeof(unsigned int);  }
-               if (strncmp("ElementType = VTK_UNSIGNED_INT",mystring,30)==0)   { newImage->SetScalarTypeToUnsignedInt();       dataSize=sizeof(unsigned int);  }
-               if (strncmp("ElementType = MET_INT",mystring,21)==0)                    { newImage->SetScalarTypeToInt();                       dataSize=sizeof(int);                   }
-               if (strncmp("ElementType = VTK_INT",mystring,21)==0)                    { newImage->SetScalarTypeToInt();                       dataSize=sizeof(int);                   }
-               if (strncmp("ElementType = MET_FLOAT",mystring,23)==0)                  { newImage->SetScalarTypeToFloat();                     dataSize=sizeof(float);                 }
-               if (strncmp("ElementType = VTK_FLOAT",mystring,23)==0)                  { newImage->SetScalarTypeToFloat();                     dataSize=sizeof(float);                 }
-               if (strncmp("ElementType = MET_LONG",mystring,22)==0)                   { newImage->SetScalarTypeToLong();                      dataSize=sizeof(long);                  }
-               if (strncmp("ElementType = VTK_LONG",mystring,22)==0)                   { newImage->SetScalarTypeToLong();                      dataSize=sizeof(long);                  }
-               if (strncmp("ElementType = MET_DOUBLE",mystring,24)==0)                 { newImage->SetScalarTypeToDouble();            dataSize=sizeof(double);                }
-               if (strncmp("ElementType = VTK_DOUBLE",mystring,24)==0)                 { newImage->SetScalarTypeToDouble();            dataSize=sizeof(double);                }
+               if (strncmp("NDims",mystring,5)==0)                                                     { sscanf(mystring,"%s %s %d"            ,strTmp, strTmp, &dim);                                                                 }
+               if (strncmp("DimSize",mystring,6)==0)                                                   { sscanf(mystring,"%s %s %d %d %d"      ,strTmp, strTmp, &dimX, &dimY,&dimZ);                                   } 
+                       if (strncmp("ElementType",mystring,11)==0)                                              { sscanf(mystring,"%s %s %s"            ,strTmp, strTmp, strTmp2); formattype=strTmp2;                  }
+                       if (strncmp("ElementSpacing",mystring,14)==0)                                   { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &spcX,&spcY,&spcZ);                                    }
+                       if (strncmp("ElementSize",mystring,11)==0)                                              { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &spcX,&spcY,&spcZ);                                    }
+               if (strncmp("Offset",mystring,6)==0)                                                    { sscanf(mystring,"%s %s %f %f %f"      ,strTmp, strTmp, &ox, &oy, &oz);                                                }
+               if (strncmp("HeaderSize",mystring,10)==0)                                               { sscanf(mystring,"%s %s %ld"           ,strTmp, strTmp, &headersize);                                                  }
+                       if (strncmp("ElementDataFile",mystring,15)==0)                                  { sscanf(mystring,"%s %s %s"            ,strTmp, strTmp, strTmp2); elementdatafile=strTmp2;             }
+               if (strncmp("ElementType = MET_CHAR",mystring,22)==0)                   { imageType=VTK_CHAR;                   dataSize=sizeof(char);                  }
+               if (strncmp("ElementType = VTK_CHAR",mystring,22)==0)                   { imageType=VTK_CHAR;                   dataSize=sizeof(char);                  }
+               if (strncmp("ElementType = MET_UCHAR",mystring,23)==0)                  { imageType=VTK_UNSIGNED_CHAR;  dataSize=sizeof(unsigned char); }
+               if (strncmp("ElementType = VTK_UNSIGNED_CHAR",mystring,31)==0)  { imageType=VTK_UNSIGNED_CHAR;  dataSize=sizeof(unsigned char); }
+               if (strncmp("ElementType = MET_USHORT",mystring,24)==0)                 { imageType=VTK_UNSIGNED_SHORT; dataSize=sizeof(unsigned short);}
+               if (strncmp("ElementType = VTK_UNSIGNED_SHORT",mystring,32)==0) { imageType=VTK_UNSIGNED_SHORT; dataSize=sizeof(unsigned short);}
+               if (strncmp("ElementType = MET_SHORT",mystring,23)==0)                  { imageType=VTK_SHORT;                  dataSize=sizeof(short);                 }
+               if (strncmp("ElementType = VTK_SHORT",mystring,23)==0)                  { imageType=VTK_SHORT;                  dataSize=sizeof(short);                 }
+               if (strncmp("ElementType = MET_UINT",mystring,22)==0)                   { imageType=VTK_UNSIGNED_INT;   dataSize=sizeof(unsigned int);  }
+               if (strncmp("ElementType = VTK_UNSIGNED_INT",mystring,30)==0)   { imageType=VTK_UNSIGNED_INT;   dataSize=sizeof(unsigned int);  }
+               if (strncmp("ElementType = MET_INT",mystring,21)==0)                    { imageType=VTK_INT;                    dataSize=sizeof(int);                   }
+               if (strncmp("ElementType = VTK_INT",mystring,21)==0)                    { imageType=VTK_INT;                    dataSize=sizeof(int);                   }
+               if (strncmp("ElementType = MET_FLOAT",mystring,23)==0)                  { imageType=VTK_FLOAT;                  dataSize=sizeof(float);                 }
+               if (strncmp("ElementType = VTK_FLOAT",mystring,23)==0)                  { imageType=VTK_FLOAT;                  dataSize=sizeof(float);                 }
+               if (strncmp("ElementType = MET_LONG",mystring,22)==0)                   { imageType=VTK_LONG;                   dataSize=sizeof(long);                  }
+               if (strncmp("ElementType = VTK_LONG",mystring,22)==0)                   { imageType=VTK_LONG;                   dataSize=sizeof(long);                  }
+               if (strncmp("ElementType = MET_DOUBLE",mystring,24)==0)                 { imageType=VTK_DOUBLE;                 dataSize=sizeof(double);                }
+               if (strncmp("ElementType = VTK_DOUBLE",mystring,24)==0)                 { imageType=VTK_DOUBLE;                 dataSize=sizeof(double);                }
        } // while
                fclose(ffIn);
                newImage->Initialize();
@@ -248,11 +278,21 @@ void ReadMHDPlane::Read64lseek(std::string fileNameIn, std::string plane)
                { 
                        newImage->SetSpacing( spcX,spcY,spcZ );
                        newImage->SetDimensions(  dimX,dimY,width );
-                       newImage->SetWholeExtent(0,  dimX-1,0,dimY-1,0,width-1 );
                        newImage->SetExtent(0,  dimX-1,0,dimY-1,0,width-1 );
+
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+                       newImage->SetScalarType( imageType );
+                       newImage->SetWholeExtent(0,  dimX-1,0,dimY-1,0,width-1 );
                        newImage->SetNumberOfScalarComponents(1);
                        newImage->AllocateScalars();
                        newImage->Update();
+#else
+               newImage->AllocateScalars(imageType,1);
+#endif 
+                       
                        pos = dimX*dimY*(long long)slice*dataSize;
 #if defined(_WIN32)
                        if (_lseeki64( fd, pos, SEEK_SET ) < 0)
@@ -274,11 +314,20 @@ void ReadMHDPlane::Read64lseek(std::string fileNameIn, std::string plane)
                { 
                        newImage->SetSpacing( spcX,spcZ,spcY );
                        newImage->SetDimensions(  dimX,dimZ,width );
-                       newImage->SetWholeExtent(0,  dimX-1,0,dimZ-1,0,width-1 );
                        newImage->SetExtent(0,  dimX-1,0,dimZ-1,0,width-1 );
+                       
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+                       newImage->SetScalarType( imageType );
+                       newImage->SetWholeExtent(0,  dimX-1,0,dimZ-1,0,width-1 );
                        newImage->SetNumberOfScalarComponents(1);
                        newImage->AllocateScalars();
                        newImage->Update();
+#else
+                       newImage->AllocateScalars(imageType,1);
+#endif 
+
                        int iWidth;
                        for (iWidth=0;iWidth<width;iWidth++)
                        {
@@ -289,11 +338,19 @@ void ReadMHDPlane::Read64lseek(std::string fileNameIn, std::string plane)
                { 
                        newImage->SetSpacing( spcY,spcZ,spcX );
                        newImage->SetDimensions(  dimY,dimZ,width );
-                       newImage->SetWholeExtent(0,  dimY-1,0,dimZ-1,0,width-1 );
                        newImage->SetExtent(0,  dimY-1,0,dimZ-1,0,width-1 );
+                       
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+                       newImage->SetScalarType( imageType );
+                       newImage->SetWholeExtent(0,  dimY-1,0,dimZ-1,0,width-1 );
                        newImage->SetNumberOfScalarComponents(1);
                        newImage->AllocateScalars();
                        newImage->Update();
+#else
+                       newImage->AllocateScalars(imageType,1);
+#endif 
+                       
                        int iWidth;
                        for (iWidth=0;iWidth<width;iWidth++)
                        {
@@ -381,7 +438,6 @@ void ReadMHDPlane::Process()
 {
        if (bbGetInputActive()==true)
        {
-printf("EED ReadMHDPlane::Process %d \n", bbGetInputSlice() );
                if (bbGetInputType()==0)
                {
                        //-- Split FileName