#include <gdcmFileHelper.h>
#include <gdcmUtil.h>
#include <vtkGdcmReader.h>
+
#endif
+#include <vtkMetaImageWriter.h>
+
/*#if defined(USE_GDCM2)
#include <vtkGDCMImageReader.h>
#include "gdcmSystem.h"
/// Finalize
void GimmickView::Finalize()
{
+ printf("EED GimmickView::Finalize \n");
}
//======================================================================
// n*2D to 3D
vtkImageData* out = vtkImageData::New();
// out->CopyStructure(first);
- out->SetScalarType(first->GetScalarType());
- out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
int ext[6];
//first->GetExtent(ext); // JPR
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
first->GetWholeExtent(ext); // renvoie egalement 0,0 en Z // JPR
+#else
+ first->GetExtent(ext); // renvoie egalement 0,0 en Z // JPR
+#endif
if(ext[5] == 0)
{
int dim[3];
first->GetDimensions(dim);
-
out->SetDimensions(dim[0], dim[1], (int)im.size() );
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ out->SetScalarType(first->GetScalarType());
+ out->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
out->AllocateScalars();
out->Update();
+#else
+ out->AllocateScalars(first->GetScalarType(),first->GetNumberOfScalarComponents());
+#endif
unsigned long imsize = dim[0] * dim[1];
imsize = imsize * dim[2] ; // deal with multiframes // JPR
void GimmickView::readImages1(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
OutputAttr i_attr)
{
-
i_attr.outside.push_back("D0019_100a"); // simens Number Of Images In Mosaic
-
-//EED Borrame
- int i,isize=i_attr.outside.size();
- for (i=0;i<isize;i++)
- {
- printf("EED GimmickView::readImages1 A i_attr out %s \n", i_attr.outside[i].c_str());
- }
-
-
-
std::vector<std::string>::iterator it;
for (it=im.begin(); it!=im.end(); ++it)
{
OutStrGimmick out;
out.img = vtkImageData::New();
out.img->ShallowCopy(mReader.GetImage(*it));
-printf("EED GimmickView::readImages1 A\n ");
if(i_attr.mult)
{
getAttributes((*it),out.infos,i_attr);
-printf("EED GimmickView::readImages1 B %s \n ", out.infos.find("D0019_100a")->second.c_str() );
}
o_output.push_back(out);
}
if(!i_attr.mult)
{
getAttributes(im.front(), o_output.front().infos, i_attr);
-printf("EED GimmickView::readImages1 C %s \n ", o_output.front().infos.find("D0019_100a")->second.c_str() );
}
}
OutputAttr i_attr, double i_zspc)
{
OutStrGimmick out;
- vtkImageData* first = mReader.GetImage( im.front());
+ vtkImageData* first = mReader.GetImage( im.front() );
out.img = vtkImageData::New();
- out.img->SetScalarType(first->GetScalarType());
- out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
int ext[6];
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
first->GetWholeExtent(ext); // send also 0,0 in Z
+#else
+ first->GetExtent(ext); // send also 0,0 in Z
+#endif
if(ext[5] == 0)
{
ext[5] = (int)im.size()-1;
double spac[3];
first->GetDimensions(dim);
first->GetSpacing(spac);
- out.img->SetSpacing(spac);
+
+ //EED 2024-01-24
+ spac[2] = i_zspc;
+
+ out.img->SetSpacing(spac);
out.img->SetDimensions(dim[0], dim[1], (int)im.size() );
+
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ out.img->SetScalarType(first->GetScalarType());
+ out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
out.img->AllocateScalars();
out.img->Update();
+#else
+ out.img->AllocateScalars(first->GetScalarType(), first->GetNumberOfScalarComponents());
+#endif
+
unsigned long imsize = dim[0] * dim[1];
imsize = imsize * dim[2] ; // deal with multiframes here
// differents formats char , short, etc...
//!!!!out.img->SetSpacing(i_zspc);
int slice = 0;
std::vector<std::string>::iterator it;
+
for (it=im.begin(); it!=im.end(); ++it)
{
vtkImageData* cur = mReader.GetImage( (*it) );
memcpy(out.img->GetScalarPointer(0,0,slice), cur->GetScalarPointer(0,0,0), imsize);
slice++;
- }
+ } // for it
+
getAttributes(im.front(),out.infos, i_attr);
o_output.push_back(out);
}
{
OutStrGimmick out;
out.img = vtkImageData::New();
- out.img->SetScalarType(first->GetScalarType());
out.img->SetSpacing(spac);
- out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
int ext[6];
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
first->GetWholeExtent(ext); // send also 0,0 in Z
+#else
+ first->GetExtent(ext); // send also 0,0 in Z
+#endif
ext[5] = 0;
out.img->SetExtent(ext);
-
out.img->SetDimensions(dim[0], dim[1], 1 );
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ out.img->SetScalarType(first->GetScalarType());
+ out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
out.img->AllocateScalars();
out.img->Update();
+#else
+ out.img->AllocateScalars(first->GetScalarType(),first->GetNumberOfScalarComponents());
+#endif
+
+
memcpy(out.img->GetScalarPointer(0,0,0), cur->GetScalarPointer(0,0,slice), imsize);
o_output.push_back(out);
}
{
OutStrGimmick out;
out.img = vtkImageData::New();
- out.img->SetScalarType(first->GetScalarType());
- out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
int ext[6];
- double spac[6];
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
first->GetWholeExtent(ext); // send also 0,0 in Z
+#else
+ first->GetExtent(ext); // send also 0,0 in Z
+#endif
+
+ double spac[6];
ext[5] = 0;
out.img->SetExtent(ext);
first->GetSpacing(spac);
out.img->SetSpacing(spac);
out.img->SetDimensions(dim[0], dim[1], (int)im.size() );
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ out.img->SetScalarType(first->GetScalarType());
+ out.img->SetNumberOfScalarComponents(first->GetNumberOfScalarComponents());
out.img->AllocateScalars();
out.img->Update();
+#else
+ out.img->AllocateScalars(first->GetScalarType(), first->GetNumberOfScalarComponents());
+#endif
+
unsigned long imsize = dim[0] * dim[1];
imsize = imsize * first->GetScalarSize() * first->GetNumberOfScalarComponents();
int index = 0;
//EED UnMosaic step...
//How to verifie if is a mosaic file , with how many images inside??
-
}
else if (im.size()>1) // Test inutile ? JPR
{
/// \TODO fix unused variable 'first'
- vtkImageData* first = mReader.GetImage( im.front());
+// vtkImageData* first = mReader.GetImage( im.front());
if (dimension == 2)
{
// n3D
vtkImageData* out = vtkImageData::New();
out->ShallowCopy(mReader.GetImage(*it));
s.push_back(out);
- }
- }
- else
- {
+ } // for
+ } else {
// n2D to 3D // NO!
// n *2D + T in a vector :
{
vtkImageData* out = mReader.GetImage( (*it));
s.push_back(out);
- }
- }
- }
+ } // for
+ } // if dimension
+ } // if im.size
}
//======================================================================
// We need a gdcm::FileHelper, since we want to load the pixels
GDCM_NAME_SPACE::FileHelper *fh = GDCM_NAME_SPACE::FileHelper::New(file);
-
- uint8_t *imageData = fh->GetImageData();
+
+//Borrame
+//EED uint8_t *imageData = fh->GetImageData();
// Institution name
file->AddAnonymizeElement(0x0008, 0x0080, "*");
fh->SetContentType(GDCM_NAME_SPACE::UNMODIFIED_PIXELS_IMAGE);
fh->WriteDcmExplVR(file->GetFileName() +".ano1" );
- std::cout << i <<" End Anonymize" << std::cout;
+ std::cout << i <<" End Anonymize" << std::endl;
file->ClearAnonymizeList();
file->Delete();
fh->Delete();