]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOVtkImageReader.cpp
Clean code
[creaImageIO.git] / src / creaImageIOVtkImageReader.cpp
index e2b7eb29d976c96a0a89a030d8ed0f988977cd04..8c3ad3834b9f9fb159d4483c57809a779b5885fd 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,50 @@ namespace creaImageIO{
     vtkImageData* im = 0;
     try
       {
-       mReader->SetFileName(filename.c_str());
+       mReader->SetFileName( filename.c_str() );
        mReader->Update();
        im = vtkImageData::New();
+
        im->ShallowCopy(mReader->GetOutput());
+
+printf("EED VtkImageReader::ReadImage line 108   Missing FlipImage for JPEG, PNG, etc\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 +192,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());
@@ -175,7 +217,7 @@ namespace creaImageIO{
     if ( (i = attr.find("D0004_1500")) != attr.end())
       {
        boost::filesystem::path full_path(filename);
-       std::string f = full_path.leaf();
+       std::string f = full_path.leaf().string();
        i->second = f;
       }
     if ( (i = attr.find("D0028_0010")) != attr.end())
@@ -197,7 +239,7 @@ namespace creaImageIO{
                 i->second = filename.substr(0, last_pos);
          }
 
-    GimmickMessage(2,"Attributes map:"<<std::endl<<attr<<std::endl);
+
   }
   //=====================================================================