]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOVtkImageReader.cpp
#3185 creaImageIO Feature New Normal - Clean code
[creaImageIO.git] / src / creaImageIOVtkImageReader.cpp
index 9cf160b0634f0c6da5475d4c86a100540e3aeadb..6cb4defb1656b9109d86d7e1bee3b0617e6ce7f4 100644 (file)
 
 #include <creaImageIOVtkImageReader.h>
 #include <vtkImageReader2.h>
-#include <creaImageIOSystem.h>
+
 #include "boost/filesystem/path.hpp"
+#if defined(_WIN32)
+#pragma warning(disable: 4996)
+#endif
 
 namespace creaImageIO{
   //=====================================================================
@@ -40,7 +43,7 @@ namespace creaImageIO{
   {
          
        //EED 21 mars 2012  FLIP probleme  ..PLOP..
-       mReader->FileLowerLeftOn();
+       mReader->FileLowerLeftOff();
          
     if (name.size() == 0) 
       {
@@ -57,8 +60,7 @@ namespace creaImageIO{
       {
        SetName ( name );
       }
-    GimmickDebugMessage(5,"Constructing vtkImageReader : "<<GetName()
-                       <<std::endl);
+
       
   }
   //=====================================================================
@@ -96,10 +98,56 @@ namespace creaImageIO{
     vtkImageData* im = 0;
     try
       {
-       mReader->SetFileName(filename.c_str());
+       printf("EED VtkImageReader::ReadImage  Name:%s\n", GetName().c_str() );
+       mReader->SetFileName( filename.c_str() );
        mReader->Update();
        im = vtkImageData::New();
+
        im->ShallowCopy(mReader->GetOutput());
+
+
+printf("EED ......\n"); 
+printf("EED ......\n");
+printf("EED VtkImageReader::ReadImage line 108   Missing FlipImage for JPEG, PNG, etc\n");
+printf("EED ......\n"); 
+printf("EED ......\n"); 
+/*
+        im=FlipImageY(im);          
+
+       if ( (GetName()=="JPEG") || (GetName()=="PNG") )
+       {
+
+               im->Update();
+               int inputdims[3];
+               im->GetDimensions (inputdims);
+
+                int nbScalComp = im->GetNumberOfScalarComponents();
+               int scalarSize  = im->GetScalarSize();
+               int lineSize    = inputdims[0]*scalarSize*nbScalComp;      
+               int planeSize   = inputdims[1]*lineSize;
+                int volumeSize  = inputdims[2]*planeSize;
+               char *pixelsIn  = (char *)im->GetScalarPointer();
+               char *pixelsOut = (char *)mImageOut->GetScalarPointer();
+       
+               char *lineIn;
+               char *lineOut;
+               char *debPlanIn;
+               char *debPlanOut;
+               int i,j,k;
+
+               for(k=0; k<inputdims[2]; k++)  // iterate  planes
+                       {  
+                               debPlanIn       = pixelsIn+k*planeSize;
+                               debPlanOut      = pixelsOut+k*planeSize;
+                               for(j=0; j<inputdims[1]; j++)  // iterates  rows
+                               { 
+                                       lineIn = debPlanIn+j*lineSize;
+                                       lineOut = debPlanOut+(inputdims[1]-1-j)*lineSize;
+                                       memcpy(lineOut,  lineIn, lineSize);
+                               }       // for j
+                       } // for k
+       } // FLIP : JPEG PNG
+*/
       }
     catch (...)
       {
@@ -150,7 +198,7 @@ namespace creaImageIO{
   void VtkImageReader::ReadAttributes(const std::string& filename, 
                                      std::map<std::string,std::string>& attr)
   {
-    GimmickMessage(2,"Reading attributes from '"<<filename<<std::endl);
+
     // Get image dimensions
     // How to get the image info without loading it in vtk ?
     mReader->SetFileName(filename.c_str());
@@ -197,7 +245,7 @@ namespace creaImageIO{
                 i->second = filename.substr(0, last_pos);
          }
 
-    GimmickMessage(2,"Attributes map:"<<std::endl<<attr<<std::endl);
+
   }
   //=====================================================================