#include <creaImageIOVtkImageReader.h>
#include <vtkImageReader2.h>
-#include <creaImageIOSystem.h>
+
#include "boost/filesystem/path.hpp"
+#if defined(_WIN32)
+#pragma warning(disable: 4996)
+#endif
namespace creaImageIO{
//=====================================================================
{
//EED 21 mars 2012 FLIP probleme ..PLOP..
- mReader->FileLowerLeftOn();
+ mReader->FileLowerLeftOff();
if (name.size() == 0)
{
{
SetName ( name );
}
- GimmickDebugMessage(5,"Constructing vtkImageReader : "<<GetName()
- <<std::endl);
+
}
//=====================================================================
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 (...)
{
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());
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())
i->second = filename.substr(0, last_pos);
}
- GimmickMessage(2,"Attributes map:"<<std::endl<<attr<<std::endl);
+
}
//=====================================================================